#php
#php
Вопрос:
Я пытаюсь проверить одно текстовое поле на той же странице с помощью PHP, но не могу отобразить ошибки. Когда я нажимаю отправить, а в текстовом поле ничего нет, это работает, не позволяя перейти на следующую страницу, но ошибок не показывает. Вот мой код.
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST') {
if ($_POST['IGN'] == ""){
$errors="Please enter a IGN";
}
if (isset($errors)){
echo $errors;
}
}
?>
<form method="post" action="Queston1.php">
<label for="IGN" class="questionText">IGN (In Game Name)</label><br />
<input type="text" name="IGN" /><br />
<input type="submit" name="start" value="start" />
</form>
Я пробовал это с if (isset($errors))
и без него, чтобы посмотреть, было ли это проблемой, но оба раза я получаю один и тот же результат.
Кто-нибудь может видеть или знать, как это исправить?
Комментарии:
1. Как
Queston1.php
выглядит? Это тот же ресурс или другой скрипт, который обрабатывает форму?2. Попробуйте изменить эту строку
$_POST['IGN'] == ""
наempty($_POST['IGN'])
3. Пожалуйста, попробуйте выполнить некоторую отладку. Добавьте
var_dump(...)
инструкции в стратегических местах, чтобы выяснить, что происходит в вашем коде и какие условия введены, а какие нет. Сам код выглядит нормально, вам нужно отладить, почему он не работает в вашем конкретном случае, мы не можем выполнить удаленную отладку за вас.4. @Athafoud Если вы используете,
empty
вам не нужно также использоватьisset
.5. @Athafoud Спасибо за вашу помощь,
empty($_POST['IGN'])
которая мне помогла.
Ответ №1:
Вы должны использовать jQuery или Javascript для проверки перед отправкой формы.
Но вместо
if($_SERVER['REQUEST_METHOD'] == 'POST'){
Попробуйте
$errors = '';
if(isset($_POST['IGN'])){
if($_POST['IGN'] == ''){
$errors .= 'Please Enter a IGN';
}
}
if($errors!=''){
echo $errors;
}
Ответ №2:
Попробуйте что-то вроде этого:
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST') {
if ($_POST['IGN'] == ""){
echo "Please enter a IGN";
}
else {
header('Location: question.php');
}
}
?>
<form method="post" action="">
<label for="IGN" class="questionText">IGN (In Game Name)</label><br />
<input type="text" name="IGN" /><br />
<input type="submit" name="start" value="start" />
</form>