在尝试处理图像映射时,如果我尝试通过$_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']}";
答案 0 :(得分: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";
但话说回来,我觉得你的表格有点时髦。尝试这种新方法并给我们完整的代码。