1

我有一个在我的网页上绘制图像的 php 语句。当我单击该网页时,我会在另一个 php 语句中询问 $_POST isset 并且它总是评估为 true 并在我执行时打印出 Array()print_r($_POST)

我用来导航到将帖子显示为空数组的页面的代码是......

echo 'Create a New Link<a href="createlink.php"><img src="images/add.png" width="5%" height="5%"/></a>';

它的作用是在屏幕上写出创建一个新链接,然后创建一个锚点,最后显示一个图像。然后,如果用户单击图像,它会将他们带到createlink.php,这就是我出于某种原因设置了 $_POST 变量的地方。

我所做的所有研究都表明锚点默认使用 $_GET。我还对 $_GET 进行了测试以查看它是否已设置并且它也设置为空数组。

长话短说,isset($_POST)如果我通过锚链接进入该页面,我不想返回 true。

4

2 回答 2

5

我认为可以在php.net找到答案:

[$_POST] 是一个“超全局”或自动全局变量。这仅仅意味着它在整个脚本的所有范围内都可用。

我认为您所能做的就是检查它是否为空。

于 2013-03-09T01:05:23.120 回答
3

这是不可能的,只需在浏览器中打开任何脚本(使用 get)并执行var_dump($_POST);,结果是一个空数组;它总是设置的。

您可能需要修复检查是否发布帖子的位置;检查是否发出发布请求的更好方法是:

if ($_SERVER['REQUEST_METHOD'] === 'POST')
于 2013-03-09T01:05:36.950 回答