Jump to content
php.lv forumi

Ielūgumu sistēma


anonīms

Recommended Posts

Kā varētu izveidot kodu, kas randomā samet kopā gan ciparus gan skaitļus, lai iznākums sanāk apmēram šads: 15bgh16hbnmq1 (kā piemērs)?

 

Labots: Sorry par to, ka vispirms uzrakstīju, jo domāju, ka nebūs laika pašam pie pc pieskriet.

Šķiet, ka esmu atradis, bet nezinu cik laba viņai ir.

http://paste.php.lv/659ecb74727357d5de28a8...ae778d?lang=php

 

PAPILDINU

Vēlos izveidot reģistrāciju ar ielūgumu sistēmu un apmēram vēlētos zināt, kas un kā.

Kādas kollonas tabulā vajadzīgas? (kam, atslega(kas sastāvēs no random skaitļiem un būs reģistrācijai pievienots gets, kas pārbaudīs vai db ir ieraksts ar šādu atslēgu), epasts(kam šis ielūgums ticis nosūtīts),no_ka(kas sūtījis ielūgumu))

tātad: id, kam, atslega, no_ka.

Vēl kādu kollonu vajag?

Edited by anonīms
Link to comment
Share on other sites

Šo gadījuma virkni izveido ar funkcijas palīdzību.

function randStr ($strlength) {
$template = "abcdefghijkmnpqrstuvwxyz0123456789";	
for ($i = 0; $i < $strlength; $i++) {
	$j = rand(0, strlen ($template) - 1);
	$randstring .= $template[$j];
   }
return $randstring;
}

Ielūgumu sistēmu var veidot dažādi, tas ir, ar dažādu sarežģītības pakāpi.

Primitīvākais variants ir apmēram šāds:

1. Datubāzes tabulā glabājas dati:

ID - unikālais ieraksta identifikātors

key - ģenerētā gadījuma virkne, kas nodrošina reģistrāciju

key_valid_to - datums vai laiks, cik ilgi šī konkrētā atslēga ir derīga izmantošanai, bet šis parametrs nav obligāts

key_used - attiecīgi skaitlis 0 vai 1, kas nosaka vai šī atslēga jau it izmantota, arī šis parametrs nav obligāts

mail - e-pasta adrese, kura būs derīga ar šo atslēgu

2. Lietotājam uz e-pastu tiek nosūtīta saite: http://www.manalapa.lv/register/?key=6hfm007fd7j2

3. Pēc pieprasījuma tiek meklēts datubāzē šāds ieraksts, kur atslēga ir šis mainīgais saitē un e-pasta adrese ir lietotāja ievadīta, un atslēgas datums ir derīgs - nav iztecējis

4. Ja šāds ieraksts tiek atrastas, saglabājam konkrētā lietotāja datus, un vai nu izdzēšam konkrēto ierakstu no atslēgu tabulas vai uzstādam vērtību 1 - izmantota

 

Apmēram šāda ir ļoti primitīva ielūgumu sistēma, to var vēlāk uzlabot, bet iesākumam tā savu uzdevumu pilda.

Edited by phpjanis
Link to comment
Share on other sites

Par to random ģenerēšanu var izdomāt da jebko... substr(md5(time())) utt

Pats ģenerēju apmēram šādi, izmantojot ciparus, lielos un mazos burtus

function get_key($length){
$chars = array_merge(range('a', 'z'), range('A', 'Z'), range(0, 9));
$str = '';
for($i=0; $i<$length; $i++){
	$str.= $chars[array_rand($chars)];
}
return $str;
}

Link to comment
Share on other sites

Tātad rakstu atkal.

Gribu tikai pateikt, ka ar while(true) nav sanācis rīkoties, bet nu kods ir gatavs, kurš diemžēl izmet erorru.

http://paste.php.lv/f422b6b1848dc0d0883f12...daf37b?lang=php

Kur kļūda?

 

un vēl pirms tā koda

function ieluguma_atslega($length){
$chars = array_merge(range('a', 'z'), range('A', 'Z'), range(0, 9));
$str = '';
for($i=0; $i<$length; $i++){
	$str.= $chars[array_rand($chars)];
}
return $str;
}

// atslega 
$ieluguma_atslega = ieluguma_atslega(10);

aizmirsu pateikt, kas par erroru.

Nospiežot submit, izmet

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1

 

(1 līnija te točna nav vainīga, bet kaut kur šajā kodā)

 

 

atradu vainu kverijā.

neuzmanības kļūda insert into () values ()

Edited by anonīms
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...