Php 当它不应该被调用时被调用
我的网站代码有问题。我只在设置了某个变量时才尝试回显a。变量未设置,但仍显示在我的网站上。 这是我使用的代码:Php 当它不应该被调用时被调用,php,Php,我的网站代码有问题。我只在设置了某个变量时才尝试回显a。变量未设置,但仍显示在我的网站上。 这是我使用的代码: if(isset($_SESSION['wwerror'])){ $wwerror = $_SESSION['wwerror']; echo "$wwerror"; $wwerror = ''; $_SESSION['wwerror'] = ''; echo '<br>'; }; 在第二次或更高的运行中,为什么在我使用isset函数
if(isset($_SESSION['wwerror'])){
$wwerror = $_SESSION['wwerror'];
echo "$wwerror";
$wwerror = '';
$_SESSION['wwerror'] = '';
echo '<br>';
};
在第二次或更高的运行中,为什么在我使用isset函数时,它会一直回显?仍然认为设置了空白字符串。您需要先取消设置该变量:
unset($_SESSION['wwerror']);
这是因为你没有取消设置它,但你告诉它是[空字符串]
if(isset($_SESSION['wwerror'])){
echo $_SESSION['wwerror'];
unset( $_SESSION['wwerror'] ); // use unset instead of [empty string]
echo '<br>';
};
您正在将会话变量设置为空字符串。您应该使用unset来取消设置变量
<?php
unset($_SESSION['wwerror']);
?>
简而言之:在循环时读取请显示var\u dump$\会话的输出。我敢打赌$_SESSION['wwerror']设置为空字符串。while循环与此有什么关系?@Martijn我感觉OP想通过使用$_SESSION['wwerror']=;,打破if语句;,但是这个声明已经被证实了,所以没有用。为什么人们会对此投反对票?如果你开始的话,这实际上是一个好问题。将其设置为空字符串似乎是将其取消设置,如果您不知道您实际上只是将其设置为字符串类型$varthanker,您是对的。非常好的解释,+1表示感谢。我想这可能会帮助其他人找到这个话题:真的很好!谢谢,这帮了我的忙!
<?php
unset($_SESSION['wwerror']);
?>