Jump to content
php.lv forumi

Nepieciešama palīdzība ar unikālajiem URL


kapeika

Recommended Posts

Tā kā esmu kārtīgs iesācējs kodēšanā (māku tikai pārveidot, pielāgot jau eksistējošu kodu), vēlētos, lai jūs dotu sākuma padomus, kā realizēt ideju.

 

Ideja ir tāda

Ir divas lapas - viena, kurā lietotājs ievada e-pastu. Ievadot e-pastu un nospiežot pogu "Ok" viņš saņem unikālu linku.

Dodot šo linku citiem lietotājiem (piem - http://manalapa.lv/interesanti.php?id=129083120), citi lietotāji nonāk noteiktā lapā, kur var kaut ko aizpildīt. Noteiktā lapa paliek ar vienādu saturu. Mainās tikai tas, ka šai lapai ir piešķirts (pievienots?) e-pasta ievadītāja ?id=123412341, pēc kura var atpazīt, kāds ir linka veidotāja e-pasts.

 

Vajag palīdzību vai padomus, kur palasīt informāciju par to, kā uztaisīt, lai lietotājs, kurš ievadīja e-pastu, saņem šo unikālo linku un to, kā lai otra lapa, kurā ieies citi lietotāji, atpazīst, ka šī lapa atbilst ievadītajam e-pastam.

 

Nojaušu, ka darbs būs ar datubāzēm, tās es puslīdz saprotu.

 

Cerams, ka sapratāt ideju :)

Edited by kapeika
Link to comment
Share on other sites

  • Replies 31
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

jā, tev būs tabula kas saturēs e-pastu un id, kā arī tabula kas saturēs id un lietotāju pievienotās lietas. Ievadot e-pastu uzgeneresi id un abus saglabāsi. Otra būs lapa kurai padosi parametru id, tā attiecīgi vai nu parādīs saturu konkrētajam id, vai nu saglabās to.

 

Sāc ar datu bāzes taisīšanu.

Link to comment
Share on other sites

Bet ja otrā lapā lietotāju ievadītā informācija uzreiz tiek nosūtīta uz e-pastu un nav nekādas nepieciešamības saglabāt, tad otrajai lapai nemaz nevajag taisīt tabulu. Vienkārši koda beigās paņem ievadīto informāciju un nosūti.

 

Tad jau rodas jautājums par to koda ģenerēšanu. Noteikti ir dažādi veidi, un es domāju, ka šeit vajadzes alphanumeric vismaz un diezgan garu. Ir kādi varianti? Var pat rēķināt uz kādu miljonu lietotāju.

Link to comment
Share on other sites

Pirmā tabula

Ģenerētais ID un E-pasts

 

Otrā tabula

Ģenerētais ID un Lietas ko pievieno tas tur..

 

Kā jau minēja to Blitz

 

Tā kā ģenerētais ID ir unikāls un vienāds ar E-pastu = visam vajadzētu būt skaidram.

Pēc tam selectus veic pēc unikālā ID

 

 

Kā ģenerēt kodu?

Es iespējams to vienkārši hashotu.. - nezinu ko par to saka profiņi, bet nekam sliktam tur nevajadzētu būt.

 

 

Edit: Neizlasīju īsti, ka tā informācija tiek nosūtīta uzreiz - ja tev tas tiešām nav nepieciešams (saglabāt to info), tad neglabā...

Edited by labaiss
Link to comment
Share on other sites

Ģenerētais ID ir vienāds ar e-pastu? Tad jau sanāks .../interesanti.php?id=epasts@suns.lv

 

Cik zinu no hašošanas (kaut vai md5), tad nohašojot e-pastu man sanāks apmēram 7c03aeb8031097d35caf3416a1826139. Pēc tam, otrajā lapā iegūt e-pastu varēšu athašojot šo "7c03aeb8031097d35caf3416a1826139".

 

Tā tu domāji to, ka ID ir vienāds ar e-pastu?

Edited by kapeika
Link to comment
Share on other sites

Ģenerētais ID ir vienāds ar e-pastu? Tad jau sanāks .../interesanti.php?id=epasts@suns.lv

 

Cik zinu no hašošanas (kaut vai md5), tad nohašojot e-pastu man sanāks apmēram 7c03aeb8031097d35caf3416a1826139. Pēc tam, otrajā lapā iegūt e-pastu varēšu athašojot šo "7c03aeb8031097d35caf3416a1826139".

 

Tā tu domāji to, ka ID ir vienāds ar e-pastu?

 

Jā tā es domāju..

 

Kā tu domā athašot, ja nav noslēpums?

 

 

Es biju domājis, ka tu pēc tam vnk izveido pieprasījumu DB pēc --- SELECT e-pasts WHERE id=$id

 

nu kaut kā tā...nu nekas tik sarežģīts te nav - padomā - sanāks! - es vnk tik dziļi tagad negribu iedziļināties.

Edited by labaiss
Link to comment
Share on other sites

E-pasts ir lietotāju privāta lieta. Varbūt kāds nevēlas viņu publicēt, tāpēc vajag nohešot, lai linku varētu dot, pēc kura nevar noteikt, kāds ir lietotāja e-pasts.

 

Uztaisīju tik tālu, ka piešķir unikālu id, linku uz aizpildāmo saturu, tagad atlikusi tikai viena lieta, par kuru es tiešām esmu neizpratnē. Tas, kurš izveidoja savu unikālo linku iedeva kādam aizpildīt saturu (.../interesanti.php?id=1847190284). Tas cilvēks aizpilda, spiež pogu (ok, vai jebkādu citu) un aizpildītais saturs tiek nosūtīts uz e-pastu.

 

Par e-pastu ir skaidrs, to visu no sql var dabūt u.t.t.

 

Kā piešķirt pogai vērtību, ka jāsūta e-pasts?

 

Kur var palasīt par šo e-pasta kodu? Nav ne jausmas, kāds viņš izskatās. Nesen biju atradis, bet pazaudēju failu.

Edited by kapeika
Link to comment
Share on other sites

to unikalo linku var uzgenerej kautvai ar $id=time().rand(1000,10000); kur pirmais bus registresanās laiks integer formāta kam pielikts random skaitlis no 1000 līdz 10000. Tākā varbūtība ka uzģenerēsies 2 vienādi, pie nosacījuma ka abi reģistrējas pilnīgi vienlaicīgi (sekundē), linki- ir 1:9000 (probably)

 

Kā piešķirt pogai vērtību, ka jāsūta e-pasts?

 

Pēc ši teikuma, izskatās ka tev ir jāpalasa kā apstrāda formas datus: http://www.php.net/manual/en/tutorial.forms.php

Pēc tam tu vari paskatīties kā sūta meilus: http://lv.php.net/manual/en/function.mail.php

Link to comment
Share on other sites

Paldies, tiku galā. Laikam palikusi pēdējā problēma, ar kuru laikam tiešām netikšu galā.

 

Pasta nosūtīšanai izveidoju atsevišķu sendmail.php. Tā kā man viss būs automatizēts, tad e-pasta adresi vajag iegūt arī automātiski. Tajā lapā, kurā atrodas forma (ar action=sendmail.php) ieliku hidden field, kurā ir ievadīts e-pasts.

Failā sendmail.php requestojot šo fieldu, nekas netiek iegūts ( $kamsutit = $_POST['hiddenemail']; ).

Pārbaudīju mēģinot nosūtīt sev vēstuli un ar <?php echo "---" ?>. Kur varētu būt problēma? name= visur norādīts, drukas kļūdu nav.

Link to comment
Share on other sites

Labāk būtu sūtīt tikai lietotāja identifikātoru. Lietotāja mailu paņemt jau sendmail.php, piekonektējot bāzei vēlreiz, un jau uz vietas to ievietojot mail funkcijā.

Savādāk to hidden lauku tā pat var lapas source redzēt un "ziķeri" var sākt sūtīt arī valdībai, ne tikai Taviem lietotājiem.:)

Edited by mounkuls
Link to comment
Share on other sites

Labāk būtu sūtīt tikai lietotāja identifikātoru. Lietotāja mailu paņemt jau sendmail.php, piekonektējot bāzei vēlreiz, un jau uz vietas to ievietojot mail funkcijā.

Savādāk to hidden lauku tā pat var lapas source redzēt un "ziķeri" var sākt sūtīt arī valdībai, ne tikai Taviem lietotājiem.:)

 

Tiešām, prātīga ideja, nebiju iedomājies. Bet vienalga paliek tāpati problēma ar $_REQUEST. Nereaģē, ka kaut kas būtu paņemts.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...