- Introducere PHP
- Instalare si Configurare
- Despre sintaxa PHP
- Varibile PHP
- Constante
- Operatori
- Procesul Decizional
- Instructiuni Repetitive
- Array-uri (Vectori)
- Concepte Web
- Incluziunea fisierelor
- Lucrul cu fisiere
- Functii
- Cookie
- Session
- Trimiterea de mailuri
- File Uploading
- Standarde de Programare
- Metodele GET si POST
- Validarea Formularelor
- Campuri obligatorii
- Variabile Predefinite
- Regular Expressions
- Erori si Exceptii
- Debugging
- Data si Timpul
- Mysqli â Conexiunea la baza de date
- Crearea unei baze de date
- Stergerea unei baze de date
- Inserare date
- Preluare date din MySql
- Stefanescu Mihai a postat in Paginare in PHP
- johhny a postat in Paginare in PHP
- Stefanescu Mihai a postat in Cum pot afisa eroarea cand utilizatorul a scris un username gresit sau o parola gresita?
- madalin a postat in Cum pot afisa eroarea cand utilizatorul a scris un username gresit sau o parola gresita?
- Stefanescu Mihai a postat in Featureuri site
Session
Alta metoda de a face datele accesibile pe mai multe paginile unui website este folosirea de Sessions.
Session creaza un fisier temporar pe server unde sunt inregistrate variabilele (avem din nou perechi nume-valoare) sesiunii. Aceste date sunt valabile pe toate paginile site-ului doar in timpul unei vizite.
Locatia acestui fisier temporar este determinata de php.ini in setarea numite session.save_path. Inainte de a seta session asiguirati-va ca aceasta optiune este setata.Cand o sesiune este deschisa se intampla urmatoarele:
- PHP creaza un numar de identificare unic pentru fiecare sesiune care este de fapt un string hexazecimal de 32 de caractere (ex: 3c7foj34c3jj973hjkop2fc937e3445).Un cookie numit PHPSESSID ce contine acel sir de caractere de 32 de caractere este salvat pe calculatorul utilizatoruluiUn fisier este creat automat pe server in care este salvat id-ul unic (cel de 32 de caractere).
Cand un script PHP doreste informatii dintr-o variabila de sesiune, PHP-ul in mod automat preia id-ul unic din PHPSESSID si-l cauta in fisierele temporare salvate pe server pentru a-l valida.
O sesiune se termina atunci cand un utilizator inchide browserul, serverul sterge sesiunea dupa o perioada predefinita de timp (in general 30 min).
Deschiderea unei sesiuni PHP
O sesiune PHP poate fi deschisa foarte usor cu ajutorul functiei session_start(). Aceasta functie verifica daca o sesiune a fost deschisa deja si daca nu a fost deschide una. Este recomandat sa apelati aceasta functie la inceputul paginii PHP.
Variabilele sesiunii sunt stocate intr-un array asociativ numit $_SESSION[]. Aceste sesiuni pot fi accesate pe toata durata de viata a sesiunii.
In urmatorul exemplu am sa va invat sa porniti o sesiune numita contor care se va incrementa de fiecare data cand pagina este vizitata in timp ce sesiunea este deschisa.
Putem folosi functia isset() pentru a verifica daca variabila a fost setata.
Presupunem ca avem un fisier test.php:
<?php session_start(); if( isset( $_SESSION['contor'] ) ) { $_SESSION['contor'] += 1; } else { $_SESSION['contor'] = 1; } $msg = "Aceasta pagina a fost vizitata de ". $_SESSION['contor']." ori"; ?> <html> <head> <title>Sesiunile PHP</title> </head> <body> <?php echo ( $msg ); ?> </body> </html>
Stegerea unei sesiuni
O sesiune PHP poate fi stearsa folosind functia session_destroy(). Aceasta functie nu necesita argumente, o simpla apelare si sesiunea este stearsa. Daca doresti sa stergi o singura variabila atunci puteti folosi functiaunset().
iata un exemplu de stergere a sesiunii cu unset:
unset($_SESSION['contor']);
Acum un exemplu cu functia session_destroy():
<?php session_destroy(); ?>
Auto Session
Nu trebuie sa apelati functia start_session() de fiecare data cand un vizitator intra pe site, puteti pur si simplu sa setati variabila session.auto_start din php.ini la 1.Session fara CookiePoate fi cazul ca un utilizator sa nu permita stocarea cookie-urilor pe computerul lor. In acest caz exista alta metoda de a trimite session id-ul catre browser.In mod alternativ, puteti folosi constanta SID ce ne spune daca sesiunea a fost pornita. Daca clientul nu a atrimis un session cookie valid va return un string gol, altfel va returna session_name=session_id.
<?php session_start(); if (isset($_SESSION['contor'])) { $_SESSION['contor'] = 1; } else { $_SESSION['contor']++; } ?> <p> To continue click following link <br /> <a href="nextpage.php?<?php echo htmlspecialchars(SID); ?>"> </p>
Comentarii
Inca nu au fost postate comentarii, fii primul care posteaza un comentariu!