我创建了一个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;
然后在页面上,您可以显示错误.或者,您也可以重定向到页面以处理不同类型的错误.这是对许多不同解释的广泛开放.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。