我正在尝试创建一个简单的表单,如果用户没有输入邮政编码,则会在同一页面上给用户一个错误。如果他们输入他们的邮政编码,我希望表格转到另一页。有人可以让我知道我做错了吗?
<?php
$errors = "";
if(isset($_GET['submit'])){
if(0 === preg_match("/\S+/", $_GET['zip']))
$errors['zip'] = '<li type="square" >To proceed please enter a valid ZIP Code.</li>';
} else {
die(header("Location: success.php"));
}
?>
<?php
if ($errors != "") {
echo $errors['zip'];
}
?>
<form name="zipcodeform" id="zipcodeform" action="" method="GET">
<br />
<h3>Try your self :</h3><br />
<table border="0" cellpadding="2" cellspacing="2">
<tr>
<td align="left" valign="top">Zip Code : </td>
<td align="left" valign="top"><input type="text" name="zip" id="zip" value="<?php echo $_GET['zip']; ?>" /></td>
</tr>
<tr>
<td> </td>
<td align="left" valign="top"><input type="submit" name="submit" id="submit" value="Get Quotes >> " /></td>
</tr>
</form>
答案 0 :(得分:0)
你应该寻找一些东西:
$errors
是字符串还是数组?如果是数组,则应正确初始化。$_GET['plz']
未设置的通知。{}
。这是很好的编码风格。如果你考虑到所有这些,脚本应该运行正常,或者至少你应该看到你的错误。它在我的地方运行良好。
答案 1 :(得分:0)
试试这个,
说你的第一个(form.html)页面是这个
<html>
<head> ... </head>
<body>
<form method='get' action='proceed.php'>
Pin code : <input type='text' name='pincode'>
<input type='Submit'>
</form>
</body>
</html>
然后你的PHP页面处理表单(proceed.php);
<html>
<head> ... </head>
<body>
<?PHP
if($_GET['pincode']==''){
//Copy and paste the contents of body of 'form.html' with errors displayed!
echo'<form method="get" action="proceed.php">
Pin code : <input style="background:#FAA;" type="text" name="pincode">
<li type="square" ><font color="red">To proceed please enter a valid ZIP Code.</font></li>
<input type="Submit">';
}
</form>
</body>
</html>
答案 2 :(得分:0)
您的脚本中有多个错误。尝试
<?php
$errors = array();
if(isset($_GET['submit'])){
if( !preg_match("/\S+/", $_GET['zip']) ){
$errors['zip'] = '<li type="square" >To proceed please enter a valid ZIP Code.</li>';
}
if( !empty($errors) ){
echo $errors['zip'];
} else {
header("Location: success.php");
exit();
}
}
?>
<form name="zipcodeform" id="zipcodeform" action="" method="GET">
<br />
<h3>Try your self :</h3><br />
<table border="0" cellpadding="2" cellspacing="2">
<tr>
<td align="left" valign="top">Zip Code : </td>
<td align="left" valign="top"><input type="text" name="zip" id="zip" value="<?php if(isset($_GET['zip'])) echo $_GET['zip']; ?>" /></td>
</tr>
<tr>
<td> </td>
<td align="left" valign="top"><input type="submit" name="submit" id="submit" value="Get Quotes >>" /></td>
</tr>
</table>
</form>