2013-03-21 88 views
0

我在网页上有以下链接有<a href>。然后我通过下列参考它:

if(isset($_REQUEST['remove']))

要检查是否它被设置,然后执行相对动作(去除从数组的值)。

但是,当我点击我的PHP页面,它被设置为method='POST'另一种形式,该$_GET值保持在地址栏等于是出于某种原因再次通过,并毁了我的计划。

有什么想法?

+0

您如何为页面中的第二个表单生成URL? – andrewsi 2013-03-21 21:29:48

+0

哦,我不是,我只是''form method =“POST”>' – Chud37 2013-03-21 21:31:18

回答

5

这听起来像您在表单中缺少action=道具。如果您没有指定表单发送到的位置,它会发布到当前URL,包括查询字符串。

帖子当前网址:

<form method="post"> 

帖子到URL指定:

<form method="post" action="mypage.php"> 
+0

我..不知道这个。这是我第一次真的忽略了动作部分。 – Chud37 2013-03-21 21:31:50

+0

我会! theres一个时间限制。 – Chud37 2013-03-21 21:33:38

0

删除听起来像是一个危险的操作。它不应该响应GET请求来执行:用户可能会重新加载页面,意外删除某些内容,或者搜索机器人可能会遵循该链接并删除该内容(当然,假设它有权限)。即使现在的浏览器也会预取 - 如果其中一个预取的链接是删除链接,会发生什么情况?

所以,这将是明智的检查

if (isset($_POST['remove'])) 

和转换链接删除的形式。

+0

我在考虑,你可能就在那里。 – Chud37 2013-03-21 21:34:45