Cum de a face o cerere de înregistrare și autorizare
Dacă aveți un site de pe computerul local, atunci sper că ați instalat deja și rulează server local. Fără ea, nimic nu va funcționa.
Crearea tabelelor bazei de date
Pentru a pune în aplicare înregistrarea utilizatorilor, în primul rând avem nevoie de o bază de date. Dacă este aveți deja, atunci mare, în caz contrar, trebuie să-l creați. Articol Crearea bazei de date MySQL în phpMyAdmin. Am explica în detaliu modul de a face acest lucru.
Și astfel, avem o bază de date (DB abreviat), iar acum avem nevoie pentru a crea un tabel de utilizatori, în care vom adăuga utilizatorii înregistrați.
Cum de a crea un tabel în baza de date, de asemenea, am explicat în articolul Crearea unei baze de date MySQL în phpMyAdmin. Înainte de a crea un tabel, trebuie să definim ce domenii va conține. Aceste câmpuri corespund câmpurilor din formularul de înregistrare.
Așa că ne-am gândit, ce domenii vor fi prezentate în forma noastră și de a crea un tabel de utilizatori cu aceste domenii:
Dacă doriți să aveți formularul de înregistrare nu a fost încă unele domenii, le puteti adauga aici.
Tot masa noastră de utilizatori este gata. Vom trece la pasul următor.
conexiunea bazei de date
Baza de date am creat, este necesar să se conecteze la ea. Conexiunea va fi efectuată cu ajutorul PHP extensia MySQLi.
În directorul site-ului nostru, a crea un fișier numit dbconnect.php. și în ea am scrie următorul script:
Acest dbconnect.php fișier va trebui să se conecteze la handler forma.
Notă $ address_site variabilă. aici am indicat numele site-ului meu de test, pe care voi lucra. Tu, respectiv, indicați numele site-ului.
teren
Acum, trebuie să înțelegem cu structura HTML a site-ului nostru.
fișier header.php Conținut:
fișier footer.php Conținut:
Conectarea header.php și footer.php fișiere vor face cu funcția require_once ( „cale_fișier“).
Și astfel, să se conecteze aceste fișiere la fișierul principal index.php al site-ului nostru.
Pentru pagina de înregistrare de tip în antetul (header.php fișier) fișier stiluri încovoiate css / styles.css. Script-ul acum nu sunt interesați mai ales, deci nu are sens să-l arate aici. O puteți vedea deschizând fișierul css / styles.css. din materialele de arhivă ale acestui articol.
Ca rezultat, pagina de start, avem arata ca acest lucru:
Formularul de înregistrare
Acum vom trece la formularul de înregistrare. După cum știți, avem este în fișierul form_register.php.
Pe server, ca rezultat al procesării formularului de înregistrare, este posibil să apară o varietate de erori, din cauza căreia utilizatorul nu va putea să se înregistreze. Prin urmare, pentru a înțelege de ce utilizatorul nu este înregistrat, este necesar să-l aducă aceste mesaje de eroare.
Înainte de afișarea formular pentru a adăuga un bloc de mesaje de eroare din sesiune.
În codul general, fișierul form_register.php ne-am dovedit ca aceasta:
În browser-ul dvs., pagina cu formularul de înregistrare arată astfel:
Cu atribut obligatoriu. am făcut toate câmpurile sunt obligatorii.
Notă formularul de înregistrare în cazul în care codul afișat CAPTCHA:
Suntem în atributul src al imaginii, specificați o cale către fișierul captcha.php. care generează acest captcha.
Uită-te la fișierul de cod captcha.php:
În interiorul imageTtfText () funcția. Setați calea către verdana.ttf fontului. Deci, pentru funcționarea corectă a CAPTCHA, avem nevoie pentru a crea un dosar de fonturi. și a pus înapoi verdana.ttf font fișier. Acesta poate fi găsit și descărcate de pe Internet sau preluate din materialele de arhivă ale acestui articol.
Cu structura HTML am terminat, este timpul pentru a trece mai departe.
e-mail de verificare pentru validitate folosind jQuery
Pentru intrarea domeniu, am stabilit tipul de e-mail (de tip = „e-mail“), avem acest mic avertizează împotriva format greșit. Dar acest lucru nu este suficient, pentru că în inspectorul de cod, care ne oferă cu browser-ul, puteți schimba cu ușurință valoarea atributului type la textul de e-mail. și toate noastre de verificare nu vor mai fi valabile.
Pentru a conecta biblioteca jQuery în fișierul header.php între tag-uri
. înainte de eticheta de închidere . adăugați această linie:Imediat după această linie, se adaugă validarea de e-mail codul de verificare. Aici adaugam lungimea codului de validare a parolei introduse. Lungimea acestuia trebuie să fie de cel puțin 6 caractere.
Și astfel, cu validarea formularului de pe partea de client, am terminat. Acum putem trimite la server, care face, de asemenea, o serie de teste, și se adaugă la baza de date.
Înregistrează-te!
Formular vom trimite la fișierul de procesare register.php. prin metoda POST. Numele fișierului handler, valoarea specificată în atributul de acțiune. O metodă de trimitere a indicat în metoda valoarea atributului.
Deschideți acest fișier register.php și primul lucru pe care trebuie să facem este să scrie o funcție pentru a lansa sesiunea și conectați creat anterior dbconnect.php fișier (în acest fișier am făcut o conexiune la baza de date). Și totuși, să declare imediat error_messages de celule și success_messages în sesiunea de matrice la nivel mondial. În error_mesages va înregistra toate mesajele de eroare întâlnite în procesarea formularelor, și în succes_messages. Vom înregistra mesajul plin de bucurie.
Prin urmare, avem nevoie pentru a verifica prezența unei celule în POST matrice la nivel mondial, al cărui nume se potrivește cu numele butonului „Înregistrare“ din matriță. Deci, vom verifica butonul „Înregistrare“ a fost apăsat sau nu.
În cazul în care un atacator încearcă să meargă direct la dosar, acesta va primi un mesaj de eroare. Vă reamintesc că $ address_site variabilă conține numele site-ului și a fost anunțat în dosarul dbconnect.php.
În continuare, avem nevoie pentru a verifica captcha introdus. Aceasta este de a compara valoarea obținută de la utilizator, cu valoarea care este în sesiune.
Valoarea Captcha în cadrul sesiunii au fost adăugate în timpul generării sale în fișierul captcha.php. Pentru memento-uri pentru a arăta din nou această bucată de cod din captcha.php fișier. care adaugă valoare captcha în sesiune:
În continuare, avem nevoie pentru a procesa datele obținute din matrice POST. Primul lucru pe care avem nevoie pentru a verifica conținutul unei matrice globale a unui post, există dacă există o celulă a cărei nume se potrivesc cu numele câmpurilor de intrare din formularul nostru.
În cazul în care există o celulă, tăiați spațiile de la începutul și sfârșitul liniei de celule care, în caz contrar, vom redirecționa utilizatorul înapoi la pagina cu formularul de înregistrare.
Mai mult, după semifabricatele tăiate, adăugați o variabilă șir de caractere și verificați variabila pe nul dacă nu este gol, apoi merge mai departe, în caz contrar, utilizatorul este redirecționat înapoi la pagina cu formularul de înregistrare.
Acest cod este introdus în locația specificată „// (2) Locul pentru următoarea bucată de cod.“
Și așa am ajuns cu toate controalele, este timpul pentru a adăuga utilizatorul la baza de date. În acest loc, „// (4) Se plasează utilizatorul în baza de date se adaugă codul“ adăugați următorul cod:
În cazul în care o cerere pentru a adăuga un utilizator la o eroare a avut loc în baza de date, vom adăuga această eroare în sesiune și se întoarce utilizatorul la pagina de conectare.
Cu înregistrare am terminat. Trecând mai departe.
Începând cu sesiunea are loc, de asemenea, în fișierul header.php. astfel încât fișierul nu are nevoie pentru a rula sesiune form_auth.php, pentru că avem o eroare.
După depanare introduceți butonul devine activ, iar utilizatorul poate depune formularul la server, în cazul în care acesta va fi procesat.
În continuare, trebuie să declare o celulă pentru stocarea mesajelor în globale matrice $ _SESSION.
În continuare avem nevoie pentru a verifica dacă a fost butonul de trimitere este apăsat (butonul pentru a intra). Asta este, vom verifica dacă atacatorul nu a mers direct la auth.php fișier.
Mai mult, în locația specificată „// (1) Locul pentru următoarea bucată de cod“ cod de scriere pentru a valida captcha.
Confirmați parola
Câmpul de lângă care urmează să fie prelucrate, acest câmp cu parola. La locația specificată „// (3) Se pune manipularea parola“, scrie:
Aici folosim md5 () cripta parola primite ca parole în baza de date, suntem doar în formă criptată. cuvânt secret suplimentare pentru a cripta, în cazul în care „top_secret“ nostru ar trebui să fie cel care a fost folosit, iar atunci când utilizatorul.
site-ul Exit
O piesă modificată de cod din fișierul header.php:
Fișier cu cod logout.php:
Toate script-urile sunt testate și de lucru. Arhiva cu fișiere de acest site mic puteți descărca de la acest link.
Dacă aveți întrebări, contactați, și, dacă observați orice eroare în articol vă cer să-mi spui despre asta.