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



单击页面底部的提交按钮时没有任何反应。我只是希望它验证用户输入,而我目前只关注名称字段,无法让它验证名称字段中的任何输入。没有弹出错误消息或任何东西。请查看此内容并提供任何建议,我找不到我的错误。

PHP 部分,其中变量被初始化并设置为空。以及后置方法和 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 个表单。因为,您需要一个开始和结束表单标记来包装页面上的所有表单元素。仅当表单字段包含在表单元素中时,它们才计为表单的一部分。而且您在同一页面上确实有 1 个以上的表单。

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

希望这有帮助!!

最新更新