0

在尝试处理图像映射时,如果我尝试通过$_POST. 我不明白原因。

对于以下内容form

<form method='post' action='action_script.php'>
    <input name='coordinates' type='image' src='./rabbits.jpg' />
</form>

这是action_script.php脚本:

<?php
echo "Coordinates : {$_POST['coordinates_x']} and {$_POST['coordinates_y']} ";

这个脚本抛出一个错误,说coordinates_x并且coordinates_y是未定义的。但是,如果我用它替换$_POST$_REQUEST可以正常工作并告诉坐标。为什么我使用的时候会报错$_POST

以下脚本不会产生错误:

<?php
echo "Coordinates: {$_REQUEST['coordinates_x']} and {$_REQUEST['coordinates_y']}";
4

1 回答 1

0

那是你的完整代码吗?您似乎没有向我们展示提交按钮等。

但重要的是您假设一切顺利并已发布,永远不要假设任何内容,使用任意运算符实际检查是否发布了任何内容:

$xCord = isset($_POST['coordinates_x']) ? $_POST['coordinates_x'] : false;
$yCord = isset($_POST['coordinates_x']) ? $_POST['coordinates_x'] : false;

而且,就像指出的那样,你真的应该做类似的事情

$xCord = isset($_POST['coordinates']) ? $_POST['coordinates'] : false;

如果它真的是你可以剥离的东西,那么这不应该破坏数据。

现在您实际上可以检查它是否已成功发布,事实证明它是错误的,那么您只是做错了。

现在回声是有意义的

echo "Coordinates: $xCord and $yCord";

但话又说回来,我觉得你的形式有点时髦。尝试这种新方法并给我们完整的代码。

于 2013-03-05T14:48:28.967 回答