2013-11-27 16 views
-5

У меня проблема с кодом моего сайта. Я пытаюсь выполнить эхо-код <br> только при установке некоторой переменной. Переменная не установлена, но на моем веб-сайте отображается <br>. это код я использую:<br> вызывается, пока он не должен быть

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

В 2 или выше пробег, почему это держать вторя <br> в то время как я использую isset() -функции?

+0

короче: читать на 'while' петли –

+1

Пожалуйста, покажите вывод' var_dump ($ _ SESSION) '. Я ставлю: '$ _SESSION ['wwerror']' устанавливается в пустую строку. – Barmar

+7

Что делать с этим циклом? – Martijn

ответ

3

Это потому, что вы штрафной снята с охраны, но вы сказали, что это будет [пустая строка]

if(isset($_SESSION['wwerror'])){ 
    echo $_SESSION['wwerror']; 
    unset($_SESSION['wwerror']); // use unset instead of [empty string] 
    echo '<br>'; 
}; 

Небольшие тесты для вас, чтобы увидеть, что happends :

$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 
+0

Отличное объяснение, +1 за усилие. –

+0

Спасибо. Думал, это может помочь другим людям, которые находят эту тему :) – Martijn

+0

действительно хорошо! спасибо, это помогло мне! – Erwin

3

Пустая строка по-прежнему считается «установленной». Вам нужно сбросить() этой переменной первая:

unset($_SESSION['wwerror']); 
+0

Спасибо, ты был прав – Erwin

2

Вы устанавливаете переменную сеанса как пустую строку. Вы должны использовать unset(), чтобы отключить переменную.

<?php 
    unset($_SESSION['wwerror']); 
?> 
Смежные вопросы