我有一个HTML表单将联系信息发布到一个PHP脚本,该脚本镜像了同一页面并验证输入。 这里是第一页面上的HTML代码:提交给PHP脚本的HTML表单不起作用
* required field.
Full Name:
*
Phone #:
*
Street Address:
*
City:
*
State:
*
Zip Code:
*
下一页是一个PHP脚本而运行的PHP代码,如果输入以验证形式输入并显示错误信息,基本上打印在同一页中HTML是无效的。
下面是PHP脚本:
// define variables and set to empty values
$nameErr = $phoneErr = $streetErr = $cityErr = $stateErr = $zipErr = "";
$name = $phone = $street = $city = $state = $zip = "";
// start script if the form is submitted
if ($_SERVER["REQUEST_METHOD"] == "POST") {
if (empty($_POST["name"])) {
$nameErr = "Name is required";
}
else {$name = test_input($_POST["name"]);
// check if name only contains letters and whitespaces
if (!preg_match("/^[a-zA-Z ]*$/",$name)) {
$nameErr = "Only letters and white space allowed";
}
}
if (empty($_POST["phone"])) {
$phoneErr = "Phone # is required";
}
else {$email = test_input($_POST["phone"]);
// check if phone only contains numbers and dashes in correct format
if (!preg_match("/^[0-9]{3}-[0-9]{3}-[0-9]{4}$/",$phone)) {
$phoneErr = "Please resubmit Phone # in the following format: 555- 555-5555";
}
}
if (empty($_POST["street"])) {
$streetErr = "Address is required";
}
else {$street = test_input($_POST["street"]);
// check if address syntax is valid
if (!preg_match("/^[0-9a-zA-Z. ]+$/",$street)) {
$streetErr = "Address appears to be invalid.";
}
}
if (empty($_POST["city"])) {
$cityErr = "City is required";
}
else {$city = test_input($_POST["city"]);
// check if city syntax is valid
if (!preg_match("/^[a-zA-Z ]*$/",$city)) {
$cityErr = "City appears to be invalid." ;
}
}
if (empty($_POST["state"])) {
$stateErr = "State is required";
}
else {$state = test_input($_POST["state"]);
// check if state is valid uppercase abbv. and two letters
if (!preg_match("/^(A[LKSZRAP]|C[AOT]|D[EC]|F[LM]|G[AU]|HI|I[ADL N]
|K[SY]|LA|M[ADEHINOPST]|N[CDEHJMVY]|O[HKR]|P[ARW]|RI|S[CD]
|T[NX]|UT|V[AIT]|W[AIVY])$/",$state)) {
$stateErr = "State appears to be invalid. (Hint...Use Upper-case!)" ;
}
}
if (empty($_POST["zip"])) {
$zipErr = "Zip Code field is required";
}
else {$zip = test_input($_POST["zip"]);
// check if zip only contains numbers and dashes in correct format
if (!preg_match("/^[0-9]{5}-[0-9]{4}$/",$phone)) {
$phoneErr = "Please resubmit Zip Code in the following format: 55555-5555";
}
}
function test_input($data) {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
?>
* required field.
" method="POST">Full Name:
* <?php echo $nameErr;?>
Phone #:
* <?php echo $phoneErr;?>
Street Address:
* <?php echo $streetErr;?>
City:
* <?php echo $cityErr;?>
State:
* <?php echo $stateErr;?>
Zip Code:
* <?php echo $zipErr;?>
echo "
Your Input:
;"echo $name;
echo "
";
echo $street;
echo "
";
echo $city;
echo "
";
echo $state;
echo "
";
echo $zip;
echo "
";
echo $phone;
?>
感谢您的帮助,您可以提供。当我在第一页上提交表单时,它将我带到一个空白的HTML页面,没有任何错误或任何内容。
我已经验证了其他学生的PHP页面正在工作,所以它没有错误的服务器。
2014-05-22
midrigs
+1
听起来像是你需要错误报告开启 –