<br/>虽然它不应该被召唤

时间:2013-11-27 15:32:03

标签: php

我的网站代码出现问题。我只是在设置某个变量时尝试回显<br>。该变量未设置,我的网站上仍显示<br>。 这是我使用的代码:

if(isset($_SESSION['wwerror'])){
    $wwerror = $_SESSION['wwerror'];
    echo "$wwerror";
    $wwerror = '';
    $_SESSION['wwerror'] = '';
    echo '<br>';
};

在第二次或更高的运行中,为什么在我使用<br> - 函数时它会一直回显isset()

3 个答案:

答案 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']);
?>