У меня странный случай, когда переменная сеанса не установлена.Кажется, это вызвано следующей строкой:
if($_SERVER['SCRIPT_NAME'] != "/search.php") unset($_SESSION["search"]);
Принимая во внимание, что если я удаляю unset () в предложении if, он работает нормально.Любопытно, что вместо unset () выводится какой-то произвольный текст, ничего не выходит (все хорошо).
Может кто-нибудь увидеть любые возможные проблемы с приведенной выше строкой, которые могут привести к тому, что $ _SESSION будет по-прежнемубыть неустановленным, имея в виду, что $ _SESSION ['search'] на самом деле является массивом (а иногда и многомерным) ??
EDIT:
include SERVER_ROOT.'/classes/session.class.php';
$sess = new Session();
session_start();
Например, следующее будет отображаться 'аллилуйя ':
if($_SERVER['SCRIPT_NAME'] != "/search.php") ;
if(isset($_SESSION["search"])) echo 'hallelujah';
Но этого не произойдет (и оператор if оценивается как ложный):
if($_SERVER['SCRIPT_NAME'] != "/search.php") unset($_SESSION["search"]);
if(isset($_SESSION["search"])) echo 'hallelujah';