在使用PHP验证表单时,我无法显示错误

时间:2014-07-06 09:23:50

标签: 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))时尝试过,看看是不是问题,但两次都得到相同的结果。

任何人都可以看到或知道如何解决此问题吗?

2 个答案:

答案 0 :(得分:0)

在提交表单之前,您应该使用jQuery或Javascript进行验证。

但不是

if($_SERVER['REQUEST_METHOD'] == 'POST'){

尝试

$errors = '';
if(isset($_POST['IGN'])){
    if($_POST['IGN'] == ''){
        $errors .= 'Please Enter a IGN';
    }
}
if($errors!=''){
    echo $errors;
}

答案 1 :(得分:-1)

尝试这样的事情:

<?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>