Седем причини, поради които PHP сесиите няма да спасят

Когато уебмастър започне да работи със сесии, той често се сблъсква с факта, че сесията не се запазва, когато превключва на друга страница. Причините могат да бъдат много, по-долу е даден списък с най-често срещаните, чрез изучаване на които можете да разрешите проблема.

Защо сесията не се запазва при превключване на друга страница?

1. Забравихте да започнете сесия

Може би това е най-честата причина, поради която сесията не е запазена. Стартиране на сесия с помощта на функцията session_start (); трябва да се извърши на всяка страница, където се използва сесията. Най-доброто е session_start (); пишете веднага след отварящия маркер

2. Сесията е унищожена в кода

Преди да пропуснете тази точка и да продължите с мисълта „О, добре, някаква глупост, никъде не унищожавам сесията.“, Уверете се, че никъде не изчиствате сесията? Можете да унищожите сесия, като използвате функцията session_destroy (); или можете да изчистите стойностите на сесията със следната конструкция: unset ($ _ SESSION ['name']); ... Уверете се, че го нямате.

3. Съхранението на сесията не е достъпно за запис

Първо проверете къде се записва вашата сесия. Изпълнете phpinfo (); и погледнете стойността на параметъра session.save_path. Това е директорията, в която се запазва сесията. Влезте в него и вижте дали има файлове като "0Thee5g9vsknDhen14kyYt5lv7". Ако няма файлове, тогава сесията не може да бъде запазена, вижте дали правата за достъп до директорията са зададени правилно.