Как это получить, чтобы не отображаться, когда вы впервые переходите на страницу ???if else statements php
if ($error) {
echo "Error: $error<br/>";
}
if ($keycode) {
echo "Keycode: $keycode<br/>";
}
Как это получить, чтобы не отображаться, когда вы впервые переходите на страницу ???if else statements php
if ($error) {
echo "Error: $error<br/>";
}
if ($keycode) {
echo "Keycode: $keycode<br/>";
}
<?php
if ($error){ echo "Error: $error
"; } if ($keycode) { echo "Keycode: $keycode
"; }
Что здесь происходит? – webbiedave
Я предполагал, что его вопрос был «как не иметь этот текст». Мне кажется, что ответ на его вопрос заключается в том, что PHP не разбирает его файл, потому что нет тега Php. Если я не пропущу какое-то разъяснение где-то от оригинального автора, большинство ответов на этот вопрос полностью вышли из левого поля. –
<?php
session_start();
if ($_SESSION['been_here'] == true) {
// show what you need to show
}
else {
// don't show it
$_SESSION['been_here'] = true;
}
?>
Дело в том, что $ _SESSION-переменные "последний" (до тех пор, как вы session_start()). Google «php sessions» для получения дополнительной информации и задайте дополнительные вопросы по SO, если это необходимо. :)
Использовать session_destroy(); для уничтожения сеанса.
запуск сеанса может не работать для меня, потому что у меня уже есть заголовки, отправленные на страницу уже. – user154107
use session_start() перед отправкой вывода ... –
Да, используйте session_start(); еще до _any whitespace_. Это может быть немного раздражающим, пока вы не привыкнете к нему, но это должно быть так. :) –
Основываясь на комментариях, кажется, что ваш условный объект оценивается как истинный, прежде чем вы его ожидаете. Не видя больше своего кода, это только предположение, но я считаю, что ваша проблема в том, что вы даете переменной $error
значение по умолчанию/время при создании, которое не означает false. Например:
$error = "default error message, change me later";
// Later...
if ($error) { // This evaluates to true
echo "Error: $error<br/>";
}
Если да, то вы будете хотеть, чтобы проверить PHP's documentation on casting to booleans, и, возможно, использовать что-то вроде этого (с вкладом от Christian's answer):
$error = "0"; // Default error message, change it later
// Later...
if($_SESSION['been_here'] == true)
$error = "This is the real error message.";
// Even later...
if ($error) {
echo "Error: $error<br/>";
}
Это, вероятно, работает для вас:
if (isset($error) && !empty($error)) {
echo "Error: $error<br/>";
}
Не могу сказать больше, потому что вы не указали, что такое значение $error
.
Или вы просто должны ввести флаг, который указывает, что произошла ошибка:
$error = 'Error message.';
$has_error = false;
if(!empty($_POST) && some_condition) { // means it is a POST request
$has_error = true;
}
if($has_error) {
echo "Error: $error<br/>";
}
где $ ошибка и $ скан быть установлен? –
Вы не разместили достаточно кода. Если '$ error' не определен, сообщение не будет отображаться. Где вы это определяете? –
Ваше местоимение неоднозначно в «Как мне заставить это не отображаться». Что вы хотите, чтобы не появляться? "Ошибка"? "Ключевой код"? Что-то другое? – Pops