Invata PHPcu punctsivirgula.ro

1.
2. Instalare PHP
3. Ce inseamna PHP?
4. Notiuni de baza
5. Variabile. Constante
6. Vectori globali. Constante magice
7. Operatori
8. Structuri repetitive
9. Aplicatii: repetitive
10. Operatii cu vectori
11. Operatii cu siruri
12. Data si timp
13. Functii in PHP
14. Formulare
15. GET vs. POST
16.
17. Upload de fisiere
18. Headere
19. Cookies
C O N T I N U T
Tutorial PHP in limba romana.

Explicatii, exemple si aplicatii in PHP pentru incepatori


Ce sunt Cookies?     !  

Cookies reprezinta portiuni de informatii (stocate sub forma de fisiere de mici dimensiuni) ce se afla pe calculatorul utilizatorului si care sunt create si folosite de catre browser in comunicarea cu serverul web. De obicei cookie-urile sunt folosite pentru a identifica utilizatorii sau a pastra urma vizitelor pe un site.
Cookie-urile pot fi sterse cu usurinta de catre utilizator, sau pot fi blocate de catre browser, deci folosirea lor trebuie facuta cu grija si doar in cazuri de necesitate. Un cookie poate contine o cantitate limitata de informatie iar durata de viata poate fi limitata (la un anumit numar de zile, la inchiderea sesiunii de lucru, etc) sau nelimitata (pana la stergerea lor).

PHP dispune de 2 functii prin care se pot crea cookie-uri: setcookie si setrawcookie. Cookie-urile create pe calculatorul utilizatorului pentru un site sunt transmise de catre browser inapoi la server si sunt disponibile in variabila globala $_COOKIE.

Nimic de afisat.


Adauga un comentariu la aceasta sectiune.

 


Cum setez un cookie? Cum vad cookie-urile existente si cum le sterg?     !  

Adaugarea unui cookie pe calculatorul vizitatorului se realizeaza cu ajutorul functiei setcookie. Aceasta va trimite un header pe care browserul client il va interpreta si va crea cookie-ul. Fiind vorba de headere, se aplica regula de a nu printa nimic intainte de apelarea functiei setcookie. In cazul in care o instructiune de afisare a fost apelata inainte, cookie-ul nu va mai putea fi creat.

Pentru a vedea cookie-urile deja create in browser-ul vizitatorului se foloseste variabila predefinita $_COOKIE. Aceasta este un vector asociativ ce contine un element pentru fiecare cookie existent. Popularea acestuia se face in mod automat in functie de informatiile transmise de browser.

Nota: elemente de tip cookie se pot crea si la nivel de browser (folosind JavaScript sau un alt limbaj de client-side scripting). Acestea vor fi disponibile in variabila $_COOKIE la urmatorul request (efectuat, evident, dupa ce cookie-urile au fost create).

<?php
# crearea unui cookie de test care expira la sfarsitul sesiunii de lucru
setcookie("Test", 'acesta este un test');
 
# crearea unui cookie care expira intr-o ora
setcookie("Test2", 'o ora', time()+3600);
 
 
# vizualizarea cookie-urilor
if( isset( $_COOKIE[ 'Test' ] ) ) {
	echo 'Test: ', $_COOKIE[ 'Test' ], '<br>';
}
 
if( isset( $_COOKIE[ 'Test2' ] ) ) {
	echo 'Test2: ', $_COOKIE[ 'Test2' ], '<br>';
}
// Rezultat (e nevoie de refresh prima data)
//   
//   
 
 
# stergerea unui cookie se face printr-un truc: alegand o data de expirare din trecut
setcookie("Test2", 'o ora', time()-3600); // timpul de expirare a trecut, deci cookie-ul
// nu va mai fi valid si va fi sters de catre browser
 
?>

Nimic de afisat.


Adauga un comentariu la aceasta sectiune.

 


Cum verific daca browser-ul utilizatorilor accepta cookie-uri?     !  

Ideea de baza este urmatoarea: se incearca sa se creeze un cookie, apoi se face un redirect la aceeasi pagina iar in urma redirectului (practic la a doua accesare a paginii) se verifica daca acel cookie a fost creat cu succes.

Redirect-ul se face folosind headere, deci va fi transparent pentru utilizator, care probabil nici nu va observa ca a fost redirectionat. Pentru a stii cand se face verificarea cookie-ului, se foloseste un parametru GET ce va avea valoarea 1 dupa redirect.

<?php
 
function testCookie() {
 
	# se foloseste variabila globala $_SERVER pentru a prelua numele
	# scripului curent (folosit la redirect)
	$paginaCurenta = $_SERVER[ 'PHP_SELF' ];
 
	# testez mai intai daca am creat cookie-ul
	if( empty( $_GET[ 'creat' ] ) ) {
		# este prima data cand accesez pagina
		#  adaug un cookie de test
		setcookie( 'ctest', 'verificare' );
 
		# fac redirect la aceasi pagina si adaug parametrul "creat"
		# pentru a putea semnala faptul ca s-a incercat deja crearea cookie-ului
		header( 'Location: ' . $paginaCurenta . '?creat=1' );
		exit;
	} else {
		# se va executa asta  atunci cand exista parametrul GET, deci dupa
		# redirect, cand cookie-ul a fost deja creat
		if( isset( $_COOKIE[ 'ctest' ] ) && !empty( $_COOKIE[ 'ctest' ] ) ) {
			return true;
		} else {
			return false;
		}
	}
 
}
 
if (testCookie()) print 'Browserul dvs. accepta cookie-uri';
else print 'Ne pare rau dar browserul dvs. nu accepta cookies';
 
?>

Puteti verifica acest exemplu mergand la pagina cookietest.php. Ca idee de testare, dezactivati cookie-urile din browser si accesati pagina. Apoi activati-le si face click din nou pe link (nu dati refresh la pagina deja deschisa intrucat are deja parametrul "creat=1" ceea ce va impiedica scriptul sa creeze cookie-ul din nou).

Descarcati fisierul cookietest.php si incercati-l pe serverul vostru

Nimic de afisat.


Adauga un comentariu la aceasta sectiune.

 


Cum creez un tracking cookie (un cookie care sa retina numarul de vizite pe pagina)?     !  

<?php
 
# verific daca cookie-ul exista deja si preiau numarul de vizite stocat
$vizite = 0;
if( isset( $_COOKIE[ 'visits' ] ) ) {
	$vizite  = $_COOKIE[ 'visits' ];
}
 
# cresc numarul vizitelor cu o unitate
$vizite++;
 
# actualizez (sau setez) cookie-ul ce va retine nr de vizite
setcookie( 'visits', $vizite, time() * 2 ); // va expira peste mult timp
 
# afisez un mesaj corespunzator
if( $vizite == 1 ) {
	echo "Bun venit! Se pare ca nu ne-ai mai vizitat pana acum!";
} else {
	echo "Bine ai revenit. E a $vizite-a oara cand ne vizitezi.";
}
// Rezultat: Bun venit! Se pare ca nu ne-ai mai vizitat pana acum! 
?>

Nimic de afisat.


Adauga un comentariu la aceasta sectiune.