PHP单页表单验证表单未验证

时间:2018-09-25 16:35:22

标签: php html css

当您单击页面底部的“提交”按钮时,没有任何反应。我只是想要它来验证用户输入,而目前我只专注于名称字段,而无法获取它来验证名称字段中的任何输入。没有错误消息弹出或任何东西。请查看并提供任何建议,我找不到我的错误。

PHP部分,变量已初始化并设置为空。以及post方法和isset函数

<?php


//define variables and set them to empty values    

$fname_error= $phone_error= $address1_error= $address2_error= $city_error= $state_error= $zipcode_error= "";

$fname= $phone= $address1= $address2= $city= $state= $zipcode= "";

if ($_SERVER["REQUEST_METHOD"] == "POST") {
    if (empty($_POST["fname"])) {
        $fname_error = "Missing";
    }
    else {
        $fname = test_input($_POST["fname"]);
        //now we check to see that the name only contains letters and whitespace
        if (!preg_match("/^[a-zA-Z ]*$/",$fname)) {
            $fname_error = "Please use letters and white space only";
        }
    }

function test_input($data) {
    $data = trim($data);
    $data = stripslashes($data);
    $data = htmlspecialchars($data);
    return $data;
}

?>

HTML部分:

                               <div class="userinput">
                                    <label for="fname"><b>First Name</b></label>
                                    <input type="text" name="fname" value="<?php 
                                         echo $fname ?>">
                                    <span class="error">
                                        <?php echo $fname_error;?></span>
                                </div>

1 个答案:

答案 0 :(得分:0)

美好的一天。这只是一个假设,由于我无法检查整个代码,但是我可能错了,但是您同一页上的表单不能超过1个。因为,您需要一个打开和关闭表单标签,该标签将页面上的所有表单元素包装起来。如果表单字段包含在表单元素中,则仅将其视为表单的一部分。并且在同一页面上有多个表单。

此外,您应该考虑将代码最小化为仅需要的代码。

希望这会有所帮助!