PHP-dä Sessiýalar
Biz sahypany öz brauzerimizde görýänimizde, o sahypanyň PHP skripti eýýäm işini gutardy we bizi unutdy. Şonuň üçin, biz bir sahypadan beýlekisine geçýänimizde - PHP skripti öňki sahypadaky maglumatlary, meselem üýtgeýjileriň gymmatlaryny ýatda saklap bilmeýär.
Emma, şeýle mehanizm, iň bolmanda ulanyjynyň saylamyny ýa-da ulanyjynyň yetkiselendirilendigini ýatda saklamak üçin hem gerek.
PHP-da ulanyjy maglumatlaryny sahypalar arasynda saklamak üçin sessiýalar niýetlenendir. Biz haýsydyr bir maglumaty sessiýa ýazyp bileris we ondan soňky ýa-da beýleki skript işledilende ony okap bileris. Sessiýa kömegi bilen ulanyjylary yetkiselendirmek, internet dükanynyň sebedjisi we ş.m. amala aşyryp bolýar.
Ulanyjynyň sessiýasy serwerde saklanýar. Emma, sessiýa hemişe ýaşaýar däl, diňe takmynan ýarym sagat - eger ulanyjy bu wagt dowamynda saýda hiç hili haýyş etmese, onuň sessiýasy pozular we boş bolup galar.
Onda, geliň PHP-dä sessiýalar bilen nädip işlemelidigine seredeliň.
Sessiýa bir zady ýazmak üçin ilki bilen ony
başlatmaly session_start funksiýasy bilen:
<?php
session_start();
?>
Başlatmanyň soňunda biz sessiýa bir zady ýazyp ýa-da
ondan bir zady okaýarys.
Bu $_SESSION superglobal massiwiniň kömegi bilen amala aşyrylýar.
Geliň praktikada synaýalyň. test1.php faýlyny düzeliň we
ona aşakdaky kody ýerleşdireliň:
<?php
session_start();
$_SESSION['test'] = 'abcde'; // sessiýa ýazýarys
?>
test2.php faýlynda bolsa - aşakdaky kody:
<?php
session_start();
echo $_SESSION['test']; // sessiýadan okap okaýarys
?>
Indi başlangyç üçin brauzerde test1.php faýlyny,
soňra test2.php faýlyny açyň.
Ikinji faýly açanyňyzda brauzerde birinji faýlda
sessiýa ýazylandykaryňyz çap ediler.
Iki faýl düzüň. Birinji faýly işledeniňizde sessiýa iki san ýazyň, ikinji faýly işledeniňizde bolsa o sanlaryň jemini ekrana çykaryň.