PHP会话未设置()与火狐
我试图显示错误消息,当用户不输入数据在某些领域。如果用户没有在字段中输入任何内容,我将该错误存储在会话中。当用户输入并且设置了带有错误消息的会话时,它应该防止用户继续并显示错误。当我显示错误时,我将会话中的错误存储在变量中,然后取消设置会话,然后遍历错误,将每个错误都打印出来。这适用于除Firefox以外的所有浏览器。PHP会话未设置()与火狐
在firefox中,如果我尝试在页面任何位置的会话上使用unset(),它也会消除变量中的值。就好像变量引用会话一样。这只是Firefox中的一个问题。我需要取消设置会话,否则会影响打印出错消息的其他任何页面。
任何人有任何想法如何解决这个问题?
已经发现错误显示在我的本地主机服务器上的Firefox,但不是当我上传到网络。
为什么不将错误消息存储在数组中并检查数组是否为空?
$errors = array();
if(empty($_POST['variable']))
{
$errors[] = "Variable empty.";
}
if(empty($errors))
{
// Process form
}
else
{
// Loop through the array and echo out each error messsage
}
这样做会更有意义,可以保证在所有浏览器中都能正常工作。
系统设置的方式是检查错误消息是否在第二页上,如果存在错误,则重定向到上一页以显示错误。我无法改变它的布局方式,这就是为什么我认为他们只是使用数组来使用会话。这只是一个奇怪的事情,它只是Firefox的一个问题。 – user1404472
你能修改你的主帖以显示相关的代码吗? –
当你说取消设置会话你的意思是你'调用session_unset()'或者是你'调用未设置($ _ SESSION)'或你的意思是,你只是未设置单个阵列关键例如'未设置($ _ SESSION [ '关键'])'?这将是很好的你可以复制到你的文章,你现在有什么。 – bluegman991