我收到以下错误,无法弄清楚原因。我已经盯着这个太久了..
错误:
Parse error: syntax error, unexpected T_UNSET in blah/blah/blah
我的代码:
基本上,我试图让用户通过点击链接清除会话。不知道我的语法在哪里出错......任何帮助都会非常感激!
注意:是的,我的代码在php块中
echo "<span><a href='" . unset($_SESSION['vertical']) . "'>clear "
. $vertical . "</a></span>";
提前致谢!
答案 0 :(得分:3)
页面加载完成后,您无法调用PHP函数。 PHP是一种服务器端技术,可在服务器上运行,而不是在客户端的计算机上运行。这意味着,如果不将详细信息发送到脚本,您将无法调用PHP函数。
如果您在用户点击链接时尝试触发unset
功能,则可以创建指向您取消设置$_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']);
}
如果您想在没有页面刷新的情况下执行此操作,那么您可能需要查看AJAX。
答案 1 :(得分:0)
当您在会话中写unset($_SESSION['x'])
时,x将被删除。它会立即执行。您应该提供一个链接到一个将进行取消设置的页面。
如果要在同一页面中清除会话变量,则需要对另一个具有代码unset($_SESSION['x'])
的页面进行AJAX调用。
答案 2 :(得分:0)
你应该这样做:
<a href="sessiondestroy.php">Clear " . $vertical . "</a>
and in clearsession.php write:
<?php
session_start();
unset($_SESSION['vertical']);
?>
Let me know what happened?