我的网站代码出现问题。我只是在设置某个变量时尝试回显<br>
。该变量未设置,我的网站上仍显示<br>
。
这是我使用的代码:
if(isset($_SESSION['wwerror'])){
$wwerror = $_SESSION['wwerror'];
echo "$wwerror";
$wwerror = '';
$_SESSION['wwerror'] = '';
echo '<br>';
};
在第二次或更高的运行中,为什么在我使用<br>
- 函数时它会一直回显isset()
?
答案 0 :(得分:3)
空字符串仍被视为“设置”。您需要首先取消设置()该变量:
unset($_SESSION['wwerror']);
答案 1 :(得分:3)
这是因为你没有取消它,但你告诉它是[空字符串]
if(isset($_SESSION['wwerror'])){
echo $_SESSION['wwerror'];
unset( $_SESSION['wwerror'] ); // use unset instead of [empty string]
echo '<br>';
};
小测试让你看看发生了什么:
$example = "123";
echo isset($example) ? 'yes' : 'no'; // Yes, its value is 123
$example = "";
echo isset($example) ? 'yes' : 'no'; // yes, its value is [empty string]
unset($example);
echo isset($example) ? 'yes' : 'no'; // no, it has been unset
$example = NULL;
echo isset($example) ? 'yes' : 'no'; // no, null is special, in php the same as unsetting
$example = false;
echo isset($example) ? 'yes' : 'no'; // yes, false is a boolean (true/false), and saved in the var
答案 2 :(得分:2)
您将会话变量设置为空字符串。您应该使用unset()
取消设置变量。
<?php
unset($_SESSION['wwerror']);
?>