我有一个场景,当我在PHP中提交表单时,有时在提交之前url会是这样的:
http://localhost/pre_school-schedules.php#ps-n2
我想要做的是在提交后设置网址如下:
http://localhost/pre_school-schedules.php
目前我正试图这样做:
header('Location:http://localhost/pre_school-schedules.php');
但这不起作用,会阻止显示Item inserted successfully.
或there was a problem with...
等自定义消息。在帖子请求之后是否还有其他方法可以从网址中删除任何额外的内容?
答案 0 :(得分:3)
因为你没有定义post动作,所以使用当前的url,如果它还有一个片段(#之后的位)。所以简单地对动作进行硬编码:
action="pre_school-schedules.php"
答案 1 :(得分:0)
您应该能够在使用preg_replace,trim或类似功能进行表单处理时删除锚点及其后面的所有内容。
$url = preg_replace('/#.*/', '', $url);
如果您最终需要重定向,请保存所需的数据,例如会话中的错误,然后将其发送到目标网页。