这可能听起来真的坏了,但基本上我的意图是在php1中,有一个名称,例如验证匹配正则表达式,如果它无法满足条件,它将重定向到php2,在那里有等待用户可以的表单重新键入它并将其提交回php1,它将再次进行检查。然后最后在第一个php中,如果一切正常,它将回复它。
另外,我如何扩展它,以便可以验证信用卡等多种内容?
由于
php1
if (isset ($_POST["CardHolder"])) {
cardholder = $_POST["CardHolder"];
cardholder = sanitise_input($cardholder);
if (!preg_match("/^[a-zA-Z\s]{1,40}$/", $cardholder)) {
$errMsg .= "First name can only contain alpha characters, please re-enter";
$newcardholder = $_POST["newcardholder"];
$cardholder = $newcardholder;
}
else {
$cardholder = $_POST["CardHolder"];
}
if ($errMsg != "") {
header("Location: fix_order.php?errMsg=".$errMsg)
}
php2(fix_order.php)
if (isset ($_GET["errMsg"])){
$cardholder = $_GET["errMsg"];
echo "<form action='process_order.php' method='post'>"
."<p><label>$cardholder:</label>"
."<input type='text' name='newcardholder'/></p>"
."<p><input type='submit' value='Submit'/>";
"</form>";
}
答案 0 :(得分:-1)
致电header("Location:...")
时,您需要提供完整且绝对的网址。
所以header("Location: fix_order.php")
无效。