| |
| Subiectul anterior :: Subiectul urmator |
|
| Autor |
Mesaj |
|
GiovanY Founder


Data inscrierii: 05/Sep/2008 Mesaje: 1979
|
Trimis: 25/11/2008 22:35 Titlul subiectului: [Tutorial] Tutorials si inregistrare cu baze de date mysql ! |
|
|
http://www.filebox.ro/download.php?key=fcd23419368b03f8b4848495308879be
prima data trebuie creeat un tabel numit users cu campurile id,username,password si email. in arhiva e si un fisier, users.sql, la care puteti sa ii dati import in mysql si creeaza tabelul
acum sa vedem ce fac fisierele
deci, primul fisier e index.php
functia asta trimite header-ele in ordinea corecta, asa am citit pe php.net :D
daca nu initializam sesiunea nu putem lucra cu array-ul $_SESSION
| Cod: |
ysql_connect("localhost","root","");
mysql_select_db("test");
|
aici ne conectam la baza de date mysql, trebuie modificat
| Cod: |
if(isset($_GET['q']) && ($_GET['q'] == "reg" || $_GET['q'] == "login" || $_GET['q'] == "logout" || $_GET['q'] == "alta_pagina")){
$page = $_GET['q'];
}else{
$page = "home";
}
|
cu liniile astea ne uitam ce valoare are q din adresa, si daca nu are paginile declarate de noi $page ia valoarea home, adica întâia pagina
| Cod: |
include $page.".php";
|
includem pagina ceruta
trimitem headerele in ordinea corecta, are legatura cu prima functie
reg.php - fisierul pentru inregistrare
cu inițialul if verificam daca user-ul e logat, iar cu al doilea daca a apasat butonul de inregistrare
$userCheck si $mailCheck sunt interogarile pt mysql sa verificam username-ul si emailul, sa nu mai fie inregistrate in baza de date
if-ul ala lung verifica sa fie datele corecte, o sa explic mai jos ce face fiecare conditie
| Cod: |
empty($_POST['username'])
|
aca campul username a fost lasat gol, aratam eroarea
| Cod: |
mysql_num_rows($userCheck) > 0
|
rezultatul trebuie sa fie mai mic ca zero, adica username-ul nu mai exista in baza de date
| Cod: |
strlen($_POST['username']) > 16
|
username-ul trebuie sa fie mai mic de 16 caractere
| Cod: |
!ereg("(^[a-zA-Z0-9]+([a-zA-Z0-9\_\-]*))$",$_POST['username'])
|
aici putin regex, username-ul trebuie sa inceapa numai cu o litera sau cifra, si sa contina numai litere, cifre _ si -
la fel e si la parola, ne uitam sa nu fie mai mare de 16 caractere si sa nu fie goala
| Cod: |
!eregi("([0-9a-zA-Z_]|\-|\_)",$_POST['password1'])
|
iar regex, parola trebuie sa aiba numai litere cifre, _ si -
| Cod: |
$_POST['password1'] != $_POST['password2']
|
parola pentru confirmare trebuie sa fie identica cu prima
| Cod: |
$sql = mysql_query("INSERT INTO users (username, email, password) VALUES ('".$_POST['username']."','".$_POST['email']."','".md5($_POST['password1'])."')");
|
daca datele sunt corecte, adaugam user-ul noi in baza de date cu parola criptata md5
acum sa trecem la login.php unde se face logarea
primul if verifica daca a fost apasat butonul de logare
$sql = mysql_Cod:
query(" SELECT * FROM `users` WHERE `username` = '".$_POST['username']."' AND `password` = '".md5($_POST['password'])."'");
facem un select in baza de date cu username-ul si parola introduse, iar daca rezultatul e mai mare ca zero, inseamna ca datele sunt corecte
| Cod: |
$info = mysql_fetch_assoc($sql);
$_SESSION['userID'] = $info['id'];
$_SESSION['username'] = $_POST['username'];
$_SESSION['email'] = $info['email'];
$_SESSION['login'] = "1";
|
punea in array-ul $_SESSION cateva date despre user
| Cod: |
header("Location: index.php");
|
daca user-ul s-a logat il trimitem la pagina principala
in alta_pagina.php si home.php e numai un if unde ne uitam daca user-ul e logat sau nu si afisam continut in functie de asta
asta e tot]Aici[/url] e ahriva cu fisierele, si mai jos voi explica ce face scriptul.
prima data trebuie creeat un tabel numit users cu campurile id,username,password si email. in arhiva e si un fisier, users.sql, la care puteti sa ii dati import in mysql si creeaza tabelul
acum sa vedem ce fac fisierele
deci, întâiul fisier e index.php
functia asta trimite header-ele in ordinea corecta, asa am citit pe php.net :D
daca nu initializam sesiunea nu putem lucra cu array-ul $_SESSION
| Cod: |
ysql_connect("localhost","root","");
mysql_select_db("test");
|
aici ne conectam la baza de date mysql, trebuie modificat
| Cod: |
if(isset($_GET['q']) && ($_GET['q'] == "reg" || $_GET['q'] == "login" || $_GET['q'] == "logout" || $_GET['q'] == "alta_pagina")){
$page = $_GET['q'];
}else{
$page = "home";
}
|
cu liniile astea ne uitam ce valoare are q din adresa, si daca nu are paginile declarate de noi $page ia valoarea home, adica prima pagina
| Cod: |
include $page.".php";
|
ncludem pagina ceruta
trimitem headerele in ordinea corecta, are legatura cu prima functie
reg.php - fisierul pentru inregistrare
cu debutantul if verificam daca user-ul e logat, iar cu al doilea daca a apasat butonul de inregistrare
$userCheck si $mailCheck sunt interogarile pt mysql sa verificam username-ul si emailul, sa nu mai fie inregistrate in baza de date
if-ul ala lung verifica sa fie datele corecte, o sa explic mai jos ce face fiecare conditie
| Cod: |
empty($_POST['username'])
|
aca campul username a fost lasat gol, aratam eroarea
| Cod: |
mysql_num_rows($userCheck) > 0
|
rezultatul trebuie sa fie mai mic ca zero, adica username-ul nu mai exista in baza de date
| Cod: |
strlen($_POST['username']) > 16
|
username-ul trebuie sa fie mai mic de 16 caractere
| Cod: |
!ereg("(^[a-zA-Z0-9]+([a-zA-Z0-9\_\-]*))$",$_POST['username'])
|
aici putin regex, username-ul trebuie sa inceapa numai cu o litera sau cifra, si sa contina numai litere, cifre _ si -
la fel e si la parola, ne uitam sa nu fie mai mare de 16 caractere si sa nu fie goala
| Cod: |
!eregi("([0-9a-zA-Z_]|\-|\_)",$_POST['password1'])
|
iar regex, parola trebuie sa aiba numai litere cifre, _ si -
| Cod: |
$_POST['password1'] != $_POST['password2']
|
parola pentru confirmare trebuie sa fie identica cu prima
| Cod: |
$sql = mysql_query("INSERT INTO users (username, email, password) VALUES ('".$_POST['username']."','".$_POST['email']."','".md5($_POST['password1'])."')");
|
daca datele sunt corecte, adaugam user-ul noi in baza de date cu parola criptata md5
acum sa trecem la login.php unde se face logarea
primul if verifica daca a fost apasat butonul de logare
$sql = mysql_Cod:
query(" SELECT * FROM `users` WHERE `username` = '".$_POST['username']."' AND `password` = '".md5($_POST['password'])."'");
facem un select in baza de date cu username-ul si parola introduse, iar daca rezultatul e mai mare ca zero, inseamna ca datele sunt corecte
| Cod: |
$info = mysql_fetch_assoc($sql);
$_SESSION['userID'] = $info['id'];
$_SESSION['username'] = $_POST['username'];
$_SESSION['email'] = $info['email'];
$_SESSION['login'] = "1";
|
punea in array-ul $_SESSION cateva date despre user
| Cod: |
header("Location: index.php");
|
daca user-ul s-a logat il trimitem la pagina principala
in alta_pagina.php si home.php e numai un if unde ne uitam daca user-ul e logat sau nu si afisam continut in functie de asta
asta e tot]Aici[/url] e ahriva cu fisierele, si mai jos voi explica ce face scriptul.
prima data trebuie creeat un tabel numit users cu campurile id,username,password si email. in arhiva e si un fisier, users.sql, la care puteti sa ii dati import in mysql si creeaza tabelul
acum sa vedem ce fac fisierele
deci, primul fisier e index.php
functia asta trimite header-ele in ordinea corecta, asa am citit pe php.net :D
daca nu initializam sesiunea nu putem lucra cu array-ul $_SESSION
| Cod: |
ysql_connect("localhost","root","");
mysql_select_db("test");
|
aici ne conectam la baza de date mysql, trebuie modificat
| Cod: |
if(isset($_GET['q']) && ($_GET['q'] == "reg" || $_GET['q'] == "login" || $_GET['q'] == "logout" || $_GET['q'] == "alta_pagina")){
$page = $_GET['q'];
}else{
$page = "home";
}
|
cu liniile astea ne uitam ce valoare are q din adresa, si daca nu are paginile declarate de noi $page ia valoarea home, adica prima pagina
| Cod: |
include $page.".php";
|
ncludem pagina ceruta
trimitem headerele in ordinea corecta, are legatura cu prima functie
reg.php - fisierul pentru inregistrare
cu primul if verificam daca user-ul e logat, iar cu al doilea daca a apasat butonul de inregistrare
$userCheck si $mailCheck sunt interogarile pt mysql sa verificam username-ul si emailul, sa nu mai fie inregistrate in baza de date
if-ul ala lung verifica sa fie datele corecte, o sa explic mai jos ce face fiecare conditie
| Cod: |
empty($_POST['username'])
|
aca campul username a fost lasat gol, aratam eroarea
| Cod: |
mysql_num_rows($userCheck) > 0
|
rezultatul trebuie sa fie mai mic ca zero, adica username-ul nu mai exista in baza de date
| Cod: |
strlen($_POST['username']) > 16
|
username-ul trebuie sa fie mai mic de 16 caractere
| Cod: |
!ereg("(^[a-zA-Z0-9]+([a-zA-Z0-9\_\-]*))$",$_POST['username'])
|
aici putin regex, username-ul trebuie sa inceapa numai cu o litera sau cifra, si sa contina numai litere, cifre _ si -
la fel e si la parola, ne uitam sa nu fie mai mare de 16 caractere si sa nu fie goala
| Cod: |
!eregi("([0-9a-zA-Z_]|\-|\_)",$_POST['password1'])
|
iar regex, parola trebuie sa aiba numai litere cifre, _ si -
| Cod: |
$_POST['password1'] != $_POST['password2']
|
parola pentru confirmare trebuie sa fie identica cu prima
| Cod: |
$sql = mysql_query("INSERT INTO users (username, email, password) VALUES ('".$_POST['username']."','".$_POST['email']."','".md5($_POST['password1'])."')");
|
daca datele sunt corecte, adaugam user-ul noi in baza de date cu parola criptata md5
acum sa trecem la login.php unde se face logarea
primul if verifica daca a fost apasat butonul de logare
$sql = mysql_Cod:
query(" SELECT * FROM `users` WHERE `username` = '".$_POST['username']."' AND `password` = '".md5($_POST['password'])."'");
facem un select in baza de date cu username-ul si parola introduse, iar daca rezultatul e mai mare ca zero, inseamna ca datele sunt corecte
| Cod: |
$info = mysql_fetch_assoc($sql);
$_SESSION['userID'] = $info['id'];
$_SESSION['username'] = $_POST['username'];
$_SESSION['email'] = $info['email'];
$_SESSION['login'] = "1";
|
punea in array-ul $_SESSION cateva date despre user
| Cod: |
header("Location: index.php");
|
daca user-ul s-a logat il trimitem la pagina principala
in alta_pagina.php si home.php e numai un if unde ne uitam daca user-ul e logat sau nu si afisam continut in functie de asta
asta e tot _________________ I love u .
Respect: All:)
![[Tutorial] Tutorials si inregistrare cu baze de date mysql ! [Tutorial] Tutorials si inregistrare cu baze de date mysql !](http://i42.tinypic.com/119xjzt.png) |
|
| Sus |
|
 |
|
|
Nu puteti crea un subiect nou in acest forum Nu puteti raspunde in subiectele acestui forum Nu puteti modifica mesajele proprii din acest forum Nu puteti sterge mesajele proprii din acest forum Nu puteti vota in chestionarele din acest forum
|
|
|
| |
|
Forum by kene | Powered by phpBB © 2001, 2002 phpBB Group
Fa-ti si tu propriul forum GRATUIT, pe www.myforum.ro
|
|
|