我的网页中有<a href>
,其中包含以下链接:
<a href=\"?remove=0\">Remove</a>
哪个好。然后我通过以下方式引用它:
if(isset($_REQUEST['remove']))
检查是否已设置,然后执行相对操作(从数组中删除值)。
但是,当我在我的php页面中单击另一个表单(设置为method='POST'
)时,$_GET
值保留在URL栏中,因此由于某种原因再次传递 < / strong>并且正在破坏我的计划。
有什么想法吗?
答案 0 :(得分:5)
听起来你错过了表单中的action=
道具。如果您没有指定表单应发布到的位置,则会将其发布到当前URL,包括查询字符串。
发布到当前网址:
<form method="post">
您指定的网址:
<form method="post" action="mypage.php">
答案 1 :(得分:0)
删除听起来像危险的操作。它不应该响应GET请求而执行:用户可能会重新加载页面,意外删除某些内容,或者搜索机器人可能会关注该链接并删除该内容(当然,假设它具有权限)。现在甚至浏览器都会进行预取 - 如果其中一个预取链接是删除链接会发生什么?
因此,检查
是明智的if (isset($_POST['remove']))
并将链接转换为删除表单。