我已经创建了一个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
当您按Submit(提交)时页面会转到空白页面。我怎样才能让它停留在同一页面上而只显示一条消息或其他内容?
请注意,使用进行重定向HTTP_REFERER
通常是不稳定且不可信任的,因此最好的方法是随请求一起发送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;
然后在页面上,您可能会显示错误。或者,您也可以重定向到页面以处理不同类型的处理程序错误。这对许多不同的解释都是开放的。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句