将php变量从php1传递到php2,然后让php2返回一个从php1分配变量的新值

时间:2017-05-24 06:47:50

标签: php

这可能听起来真的坏了,但基本上我的意图是在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>";

}

1 个答案:

答案 0 :(得分:-1)

致电header("Location:...")时,您需要提供完整且绝对的网址。

所以header("Location: fix_order.php")无效。