Un tutorial pentru începător! Indiferent unde vă aflați pe Internet, există o capcană pe care o găsiți aproape peste tot - înregistrarea utilizatorului. Indiferent dacă aveți nevoie de utilizatorii dvs. pentru a vă înregistra pentru securitate sau doar pentru o funcție adăugată, nu există nici un motiv să nu faceți acest lucru cu acest tutorial simplu. În acest tutorial vom trece peste elementele de bază ale managementului utilizatorului, terminând cu o zonă simplă pentru membrii pe care o puteți implementa pe propriul site.
Dacă aveți nevoie de ajutor suplimentar sau doriți o comandă rapidă, verificați gama furnizorilor de servicii PHP din Envato Studio. Acești dezvoltatori cu experiență vă pot ajuta cu ceva de la o rezolvare rapidă a erorilor la dezvoltarea unei aplicații întregi de la zero. Deci, doar răsfoiți furnizorii, citiți recenziile și evaluările și alegeți unul potrivit pentru dvs..
În acest tutorial vom trece prin fiecare pas de a face un sistem de management al utilizatorului, împreună cu un sistem de mesagerie privat inter-utilizator. Vom face acest lucru folosind PHP, cu o bază de date MySQL pentru stocarea tuturor informațiilor despre utilizatori. Acest tutorial este destinat începătorilor absolut în PHP, deci nu este necesară cunoașterea prealabilă - de fapt, vă puteți plictisi dacă sunteți un utilizator PHP experimentat!
Acest tutorial este conceput ca o introducere de bază pentru sesiunile și pentru utilizarea bazelor de date în PHP. Deși rezultatul final al acestui tutorial nu vă poate părea imediat util, abilitățile pe care le obțineți din acest tutorial vă vor permite să continuați să creați un sistem de apartenență propriu; satisfacerea propriilor nevoi.
Înainte de a începe acest tutorial, asigurați-vă că aveți la îndemână următoarele informații:
Dacă nu aveți aceste informații, atunci furnizorul dvs. de gazduire ar trebui să vă poată furniza acest lucru.
Acum, că am depășit formalitățile, să începem tutorialul!
Așa cum este menționat în Introducere, aveți nevoie de o bază de date pentru a continua acest punct în tutorial. Pentru a începe, vom face un tabel în această bază de date pentru a stoca informațiile despre utilizatori.
Tabelul de care avem nevoie stochează informațiile despre utilizatori; pentru scopurile noastre vom folosi o masă simplă, dar ar fi ușor să stocați mai multe informații în coloane suplimentare dacă acest lucru este de care aveți nevoie. În sistemul nostru avem nevoie de următoarele patru coloane:
În termeni de bază de date, a Cheia principala este câmpul care identifică în mod unic rândul. În acest caz, Numele de utilizator
va fi cheia primară. Dacă vrem ca acest lucru să crească de fiecare dată când un utilizator înregistrează, vom folosi opțiunea specială MySQL - increment auto
.
Interogarea SQL pentru a crea tabela noastră este inclusă mai jos și, de obicei, va fi rulată în fila 'SQL' a phpMyAdmin.
CREATE TABLE "Utilizatori" ('UserID' INT (25) NU NULL AUTO_INCREMENT PRIMARY KEY, 'Nume de utilizator' VARCHAR (65) NU NULL, 'Parola' VARCHAR (32) NULL, 'EmailAddress' VARCHAR (255) NOT NULL);
Pentru a simplifica crearea proiectului, vom face un fișier de bază pe care îl putem include în fiecare dintre fișierele create. Acest fișier va conține informațiile despre conexiunea bazei de date, împreună cu anumite variabile de configurare care ne vor ajuta să ieșim pe drum.
Începeți prin crearea unui nou fișier: base.php
, și introduceți în el următorul cod:
Să aruncăm o privire la câteva dintre aceste linii, nu-i așa? Există câteva funcții pe care le-am folosit și nu le-am explicat încă, așa că hai să le aruncăm rapid și să le înțelegem - dacă înțelegeți deja principiile PHP, puteți trece peste această explicație.
session_start ();
Această funcție pornește o sesiune pentru noul utilizator și mai târziu în acest tutorial vom stoca informații în această sesiune pentru a ne permite să recunoaștem utilizatorii care s-au logat deja. Dacă o sesiune a fost deja creată, această funcție va recunoaște și va purta această sesiune pe pagina următoare.
mysql_connect ($ dbhost, $ dbuser, $ dbpass) sau mor ("Eroare MySQL:" mysql_error ()); mysql_select_db ($ dbname) sau mor ("Eroare MySQL:" mysql_error ());
Fiecare dintre aceste funcții îndeplinește o sarcină separată, dar legată. mysql_connect
funcția noastră conectează scriptul nostru la serverul de baze de date folosind informațiile pe care le-am dat mai sus, și mysql_select_db
funcția alege apoi baza de date care să fie utilizată împreună cu scriptul. Dacă una dintre funcții nu reușește să finalizeze, a muri
funcția va intra automat și va opri procesarea scriptului - lăsând utilizatorilor cu mesajul că a existat o eroare MySQL.
Cel mai important element de pe pagina noastră este prima linie de PHP; această linie va include fișierul pe care l-am creat mai sus (base.php) și ne va permite, în esență, să accesăm orice fișier din fișierul nostru actual. Vom face acest lucru cu următoarea linie de cod PHP. Creați un fișier numit index.php
, și plasați acest cod în partea de sus.
Primul lucru pe care o vom face pentru interfața noastră este crearea unei pagini în care utilizatorii pot introduce datele lor pentru a se conecta sau dacă sunt deja conectați la o pagină în care pot alege ce vor să facă atunci. În acest tutorial presupun că utilizatorii au cunoștințe de bază despre cum funcționează HTML / CSS și, prin urmare, nu voi explica acest cod în detaliu; în momentul în care aceste elemente vor fi fără stil, dar vom putea schimba acest lucru mai târziu când creăm foaia de stil CSS.
Folosind fișierul pe care tocmai l-am creat (index.php
), introduceți următorul cod HTML sub linia de PHP pe care am creat-o deja.
Sistem de management al utilizatorilor (Tom Cameron pentru NetTuts) Ce să le arătăm?
Înainte de a scoate restul paginii, avem câteva întrebări pentru a ne întreba:
- Utilizatorul este deja conectat?
- da - trebuie să le arătăm o pagină cu opțiuni pe care să le poată alege.
- Nu - vom continua cu următoarea întrebare.
Utilizatorul a trimis deja datele de conectare?
- da - trebuie să verificăm detaliile acestora și, dacă este corect, le vom înregistra pe site.
- Nu - vom continua cu următoarea întrebare.
Dacă ambii dintre cei de mai sus au răspuns Nu, putem acum presupune că trebuie să afișăm utilizatorilor un formular de autentificare. Aceste întrebări sunt, de fapt, aceleași întrebări pe care le vom implementa în codul nostru PHP. Vom face asta sub forma
dacă declarațiile
. Fără a introduce nimic în nici unul din fișierele dvs. noi, permiteți să aruncați o privire la logica pe care o vom folosi mai întâi.Arată confuz, nu-i așa? Să-l împărțim în secțiuni mai mici și să le ducem una câte una.
dacă ! empty ($ _ SESSION ['LoggedIn']) &&! empty ($ _ SESSION ['Nume de utilizator'])) // permiteți accesul utilizatorului la pagina principalăAtunci când un utilizator se conectează la site-ul nostru, vom stoca informațiile într-o sesiune - în orice moment după aceasta putem accesa aceste informații într-un tablou special PHP global -
$ _SESSION
. Noi folosimgol
pentru a verifica dacă variabila este goală, cu operatorul!
în fața. Prin urmare, spunem:Dacă variabila $ _SESSION ['LoggedIn'] nu este goală și $ _SESSION ['Username'] nu este goală, executați această bucată de cod.
Următoarea linie funcționează în același mod, numai de această dată folosind
$ _POST
gama globală. Această matrice conține toate datele trimise din formularul de conectare pe care îl vom crea ulterior în acest tutorial. Linia finală va fi executată numai dacă niciuna dintre afirmațiile anterioare nu este îndeplinită; în acest caz, vom afișa utilizatorului un formular de autentificare.Deci, acum că înțelegem logica, hai să facem conținut între aceste secțiuni. În tine
index.php
fișier, introduceți următoarele sub ceea ce aveți deja.Zona membrilor
=$_SESSION['Username']?> și adresa dvs. de e-mail este =$_SESSION['EmailAddress']?>
. Succes"ecou"Acum vă redirecționăm către zona membrului.
"ecou""; altceva echo"Eroare
"ecou"Ne pare rău, contul dvs. nu a putut fi găsit. Faceți clic aici pentru a încerca din nou.
"; altfel ?>Autentificare membru
Multumesc pentru vizita! Vă rugăm fie să vă conectați mai jos, fie să faceți clic aici pentru a vă înregistra.
Sperăm că primul și ultimul bloc de coduri nu vă vor deruta prea mult. Ceea ce trebuie să ne împărtășim acum este ceea ce ați ajuns la acest tutorial - codul PHP. Acum vom trece prin secțiunea a doua o singură linie la un moment dat și voi explica ce este destinat fiecare cod de cod aici.
$ username = mysql_real_escape_string ($ _ POST ['username']); $ password = md5 (mysql_real_escape_string ($ _ POST ['parola']));
Există două funcții care necesită explicații pentru acest lucru. in primul rand, mysql_real_escape_string
- o funcție foarte utilă pentru a curăța intrarea bazei de date. Nu este o măsură de siguranță, dar acest lucru va ține afară majoritatea hackerilor rău intenționați acolo prin eliminarea părților nedorite de orice a fost introdus în formularul nostru de autentificare. În al doilea rând, MD5
. Ar fi imposibil să intrăm în detaliu aici, dar această funcție criptează pur și simplu tot ceea ce îi este transmis - în acest caz parola utilizatorului - pentru a împiedica ochii curioși să le citească.
$ checklogin = mysql_query ("SELECT * FROM utilizatori WHERE Utilizator = '". $ username "' AND Password = '". $ password ". dacă mysql_num_rows ($ checklogin) == 1) $ row = mysql_fetch_array ($ checklogin); $ email = $ rând ['AddressAddress ']; $ _SESSION ['Nume de utilizator'] = $ nume utilizator; $ _SESSION ['EmailAddress'] = $ email; $ _SESSION ['LoggedIn'] = 1;
Aici avem nucleul codului de conectare; în primul rând, executăm o interogare în baza noastră de date. În această interogare căutăm tot ceea ce privește un membru, al cărui nume de utilizator și parolă se potrivesc cu valorile noastre $ username
și $ parola
pe care le-a furnizat utilizatorul. Pe următoarea linie avem o instrucțiune if, în care verificăm câte rezultate am primit - dacă nu există rezultate, această secțiune nu va fi procesată. Dar dacă există un rezultat, știm că utilizatorul există, și deci le vom conecta.
Următoarele două linii sunt pentru a obține adresa de e-mail a utilizatorului. Avem deja aceste informații din interogarea pe care am executat-o deja, astfel încât să putem accesa cu ușurință aceste informații. Mai întâi, obținem o serie de date care au fost extrase din baza de date - în acest caz folosim funcția PHP mysql_fetch_array
. Apoi am atribuit valoarea Adresa de email
domeniu la o variabilă pe care o putem folosi mai târziu.
Acum am setat sesiunea. Stochează numele de utilizator și adresa de e-mail a utilizatorului în sesiune, împreună cu o valoare specială pentru ca noi să știm că au fost logați folosind acest formular. După ce totul este spus și terminat, acestea vor fi apoi redirecționate spre zona de membru folosind META REFRESH în cod.
Deci, ce arată în prezent proiectul nostru unui utilizator?
Grozav! Este timpul să treceți mai departe, să vă asigurați că oamenii pot intra de fapt pe site-ul dvs..
Este bine și bine că aveți un formular de autentificare pe site-ul dvs., dar acum trebuie să lăsăm utilizatorul să îl folosească - trebuie să creați un formular de autentificare. Faceți un fișier numit register.php
și puneți următorul cod în el.
Sistem de management al utilizatorilor (Tom Cameron pentru NetTuts) Eroare"ecou"Ne pare rău, numele de utilizator este luat. Reveniți și încercați din nou.
"altceva $ registerquery = mysql_query (" INSERT INTO users "(Nume de utilizator, Parolă, EmailAddress) VALUES (" $. $ username. ", "); dacă ($ registerquery) echo"Succes
"ecou"Contul dvs. a fost creat cu succes. Faceți clic aici pentru a vă conecta.
"; altceva echo"Eroare
"ecou"Ne pare rău, înregistrarea dvs. a eșuat. Reveniți și încercați din nou.
"; altfel ?>Inregistreaza-te
Vă rugăm să introduceți datele dvs. de mai jos pentru a vă înregistra.