php在表单提交后返回页面

我创建了一个html表单
<form action="http://localhost/PHP/insert.PHP" method="post">
    Barcode: <input type="text" name="barcode" /><br><br>
    Serial: <input type="text" name="serial" /><br><br>
    <input type="submit" />
</form>

使用这个PHP保存到我的数据库中:

<?PHP
$con = MysqL_connect("example","example","");
if ( ! $con) {
    die('Could not connect: ' . MysqL_error());
}
MysqL_select_db("database",$con);

$sql = "INSERT INTO asset (barcode,serial)
        VALUES ('$_POST[barcode]','$_POST[serial]')";

if ( ! MysqL_query($sql,$con)) {
    die('Error: ' . MysqL_error());
}
MysqL_close($con)
?>

表单保存到数据库,但当您按下提交时,页面只会转到http://localhost/PHP/insert.PHP,这是一个空白页面.如何让它保持在同一页面上,只显示消息或其他内容

请注意,使用HTTP_REFERER进行重定向通常是不稳定的,因此最好的方法是使用请求发送URL,或者如果来自其他服务器,则可以构建特定的传递以用于特定的站点/ URL.最好的方法是通过将URL与请求一起提交来了解URL;另外两个可能不是最优的.

表单处理完成后,在输出任何内容之前执行此操作(这会引发错误):

header("Location: {$_SERVER['HTTP_REFERER']}");
exit;

根据您的处理结果,您可以向URL附加错误

if ($query_does_not_execute) {
    $errcode = "error_code=003";
}

$referer = $_SERVER['HTTP_REFERER'];

if ($errcode) {
    if (strpos($referer,'?') === false) {
        $referer .= "?";
    }

    header("Location: $referer&$errcode");
} else {
    header("Location: $referer");
}
exit;

然后在页面上,您可以显示错误.或者,您也可以重定向页面以处理不同类型的错误.这是对许多不同解释的广泛开放.

相关文章

Hessian开源的远程通讯,采用二进制 RPC的协议,基于 HTTP 传输。可以实现PHP调用Java,Python,C#等多语...
初识Mongodb的一些总结,在Mac Os X下真实搭建mongodb环境,以及分享个Mongodb管理工具,学习期间一些总结...
边看边操作,这样才能记得牢,实践是检验真理的唯一标准.光看不练假把式,光练不看傻把式,边看边练真把式....
在php中,结果输出一共有两种方式:echo和print,下面将对两种方式做一个比较。 echo与print的区别: (...
在安装好wampServer后,一直没有使用phpMyAdmin,今天用了一下,phpMyAdmin显示错误:The mbstring exte...
变量是用于存储数据的容器,与代数相似,可以给变量赋予某个确定的值(例如:$x=3)或者是赋予其它的变...