1
我在index.php文件下面的代码(简化):
<?php
print_r($_GET);
if ($_GET['f'] == "activate") {
//do stuff
}
if ($_GET['f'] == "disable") {
//do stuff
}
?>
,并进一步下跌的一页,一些HTML:
<tr>
<td style='font-size: 0.9em;'>[email protected]</td>
<td style='font-size: 0.75em;'><span style="color: #00AF28;">Active</span></td><td style='font-size: 0.75em;'><a href="?f=disable&[email protected]">Disable</a></td>
</tr>
的两个超链接将浏览器指向URL index.php?f=disable&[email protected]
和index.php?f=disable&[email protected]
。
在点击超链接(和指导浏览器index.php?f=disable&[email protected]
)的print_r($_GET)
结果是:
Array ([f] => disable [id] => [email protected])
然而, '如果' 声明:
if ($_GET['f'] == "disable") {
//do stuff
}
不执行,直到我刷新页面,或按地址栏上的回车键。
我在OSX上使用Chrome 16,使用PHP5。
非常感谢
你能举一个这样的现场例子吗?这听起来很奇怪。 – 2012-01-05 10:34:42
确定if语句未执行?你有没有用简单的回声或从上面的print_r来试用它? – Armin 2012-01-05 10:36:29
问题:通过$ _GET参数发送“禁用”或“激活”命令是否安全? – 2012-01-05 10:37:12