Tutoriale
Doriti să reactionati la acest mesaj? Creati un cont în câteva clickuri sau conectati-vă pentru a continua.



 
AcasaAcasa  Ultimele imaginiUltimele imagini  CăutareCăutare  ÎnregistrareÎnregistrare  ConectareConectare  

 

 [PHP] Tutorial inregistrare si logare cu baza de date myssql

In jos 
AutorMesaj
Kenny
Sponsor
Sponsor
Kenny


Mesaje : 1077
Data de inscriere : 07/05/2008
Varsta : 34
Localizare : Liberty City

[PHP] Tutorial inregistrare si logare cu baza de date myssql Empty
MesajSubiect: [PHP] Tutorial inregistrare si logare cu baza de date myssql   [PHP] Tutorial inregistrare si logare cu baza de date myssql Icon_minitimeJoi Oct 16, 2008 2:26 pm

Aici 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

Cod:
ob_start();

functia asta trimite header-ele in ordinea corecta, asa am citit pe php.net Very Happy

Cod:
session_start();

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

Cod:
ob_end_flush();

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]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

Cod:
ob_start();

functia asta trimite header-ele in ordinea corecta, asa am citit pe php.net Very Happy

Cod:
session_start();

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

Cod:
ob_end_flush();

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]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

Cod:
ob_start();

functia asta trimite header-ele in ordinea corecta, asa am citit pe php.net Very Happy

Cod:
session_start();

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

Cod:
ob_end_flush();

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
Sus In jos
http://muchisinau.sytes.net/
 
[PHP] Tutorial inregistrare si logare cu baza de date myssql
Sus 
Pagina 1 din 1
 Subiecte similare
-
» [PHP] Tutorial inregistrare si logare cu baza de date myssql
» [php]tutorial inregistrare si logare cu baza de date mysql
» Cum faci backup la baza de date. fara sa pierzi nimic
» Unelte De Baza PHP
» [HTML] Notiuni de baza

Permisiunile acestui forum:Nu puteti raspunde la subiectele acestui forum
Tutoriale :: Diverse :: Arhiva-
Mergi direct la: