我有一个 PHP 脚本,它存储一个从会话变量中提交表单的 url,然后将其与当前页面 url 进行比较。如果它与会话中存储的不同,它就会被取消设置,至少它应该是这样工作的。问题是用于检查两个 url 是否匹配的 if 语句似乎被忽略了,并且会话变量无论如何都未设置。
$compare_url_old = array_shift(explode(',', $_SESSION['search_page']));
$compare_url_new = array_shift(explode(',', $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']));
if ($compare_url_new != $compare_url_old)
{
unset($_SESSION['search_page']);
unset($_SESSION['search_price_min']);
unset($_SESSION['search_price_max']);
unset($_SESSION['search_name']);
}
奇怪的是,如果我尝试在 if 语句中回显某些内容,它会正常工作,但由于某种原因,每次都会调用未设置的函数,尽管结果如此。