Устранение сеанса внутри эха, вызывающего проблемы

Я получаю следующую ошибку и не могу понять, почему. Я слишком долго смотрел на это.

Ошибка:

Parse error: syntax error, unexpected T_UNSET in blah/blah/blah 

Мой код:

По сути, я пытаюсь дать пользователю возможность очистить сеанс, щелкнув ссылку. Не уверен, где я ошибаюсь в своем синтаксисе … Любая помощь будет очень признательна!

ПРИМЕЧАНИЕ. Да, мой код находится в php-блоках

 echo "<span><a href='" . unset($_SESSION['vertical']) . "'>clear " . $vertical . "</a></span>"; 

Заранее спасибо!

Solutions Collecting From Web of "Устранение сеанса внутри эха, вызывающего проблемы"

Вы не можете вызвать функции PHP после того, как страница закончила загрузку. PHP – это серверная технология и работает на сервере, а не на компьютере клиента. Это означает, что вы не сможете вызвать функцию PHP, не отправляя детали в скрипт.

Если вы пытаетесь вызвать функцию unset когда пользователь нажимает на ссылку, вы можете создать ссылку на скрипт, где вы $_SESSION переменную $_SESSION :

 <span><a href='somepage.php?somevar=42'>foo</a></span> 

Когда пользователь нажимает на ссылку, они будут отправлены на somepage.php . Теперь вы можете проверить, установлен ли ключ somevar а затем unset сеанс в скрипте:

 <?php session_start(); if (isset($_GET['somevar'])) { unset($_SESSION['vertical']); } с <?php session_start(); if (isset($_GET['somevar'])) { unset($_SESSION['vertical']); } 

Если вы хотите сделать это без обновления страницы, вы можете взглянуть на AJAX .

Когда вы пишете unset($_SESSION['x']) x в сеансе будет удален. Он будет выполнен немедленно. Вы должны дать ссылку на страницу, которая сделает снятие.

Если вы хотите очистить переменную сеанса на той же странице, вам нужно сделать вызов AJAX на другую страницу, у которой код не unset($_SESSION['x']) .

Вы должны сделать так:

  <a href="sessiondestroy.php">Clear " . $vertical . "</a> and in clearsession.php write: <?php session_start(); unset($_SESSION['vertical']); ?> Let me know what happened? с  <a href="sessiondestroy.php">Clear " . $vertical . "</a> and in clearsession.php write: <?php session_start(); unset($_SESSION['vertical']); ?> Let me know what happened?