HTML锚导致将我的php$\u POST变量设置为数组

HTML锚导致将我的php$\u POST变量设置为数组,php,html,forms,post,anchor,Php,Html,Forms,Post,Anchor,我有一个php语句,它在我的网页上绘制了一个图像。当我点击该网页时,我在另一个php语句中询问是否设置了$\u POST,当我执行print\r($\u POST) 我用来导航到将文章显示为空数组的页面的代码是 echo 'Create a New Link<a href="createlink.php"><img src="images/add.png" width="5%" height="5%"/></a>'; echo“创建新链接”; 这样做的目的

我有一个php语句,它在我的网页上绘制了一个图像。当我点击该网页时,我在另一个php语句中询问是否设置了$\u POST,当我执行
print\r($\u POST)

我用来导航到将文章显示为空数组的页面的代码是

echo 'Create a New Link<a href="createlink.php"><img src="images/add.png" width="5%" height="5%"/></a>';
echo“创建新链接”;
这样做的目的是写出一个到屏幕的新链接,然后创建一个锚,最后显示一个图像。然后,如果用户单击图像,它会将他们带到createlink.php,因为某种原因,我设置了$\u POST变量

我所做的所有研究都表明,默认情况下,锚使用$\u GET。我还对$\u GET进行了测试,以查看它是否已设置,是否也设置为空数组


长话短说,如果我通过锚链接进入该页面,我不希望
isset($\u POST)
返回true。

我想答案可以在以下位置找到:

[$\u POST]是一个“超全局”或自动全局变量。这仅仅意味着它在整个脚本的所有作用域中都可用


我想你所能做的就是检查它是否是空的。

我想答案可以在以下位置找到:

[$\u POST]是一个“超全局”或自动全局变量。这仅仅意味着它在整个脚本的所有作用域中都可用


我想你所能做的就是检查它是否为空。

这是不可能的,只需在浏览器中打开任何脚本(使用get)并执行
var\u dump($\u POST)
并且结果是一个空数组;它总是固定的

你可能需要确定你正在检查的地方是否有帖子;检查是否发出post请求的更好方法是:

if ($_SERVER['REQUEST_METHOD'] === 'POST')

这是不可能的,只需在浏览器中打开任何脚本(使用get)并执行
var\u dump($\u POST)
并且结果是一个空数组;它总是固定的

你可能需要确定你正在检查的地方是否有帖子;检查是否发出post请求的更好方法是:

if ($_SERVER['REQUEST_METHOD'] === 'POST')

我的bandaid是函数调用empty,因此如果(!empty($\u POST))
isset()
对于空数组总是返回
TRUE
,我会这样做。使用
empty($\u POST)
确定它是否为空。不要测试
isset($\u POST)
,而是测试
if($\u SERVER['REQUEST\u METHOD']='POST')
My bandaid是函数调用empty,所以如果(!empty($\u POST))
isset()
对于空数组总是返回
TRUE
。使用
empty($\u POST)
确定它是否为空。不要测试
isset($\u POST)
,而是测试
if($\u服务器['REQUEST\u METHOD']='POST')