Php Can';在$\u POST中找不到输入类型=图像值
也许这个问题很简单,但: 我想通过单击图像对数字进行排序。我想我制作了一个表单并添加了一个imagefieldPhp Can';在$\u POST中找不到输入类型=图像值,php,mysql,forms,imagefield,Php,Mysql,Forms,Imagefield,也许这个问题很简单,但: 我想通过单击图像对数字进行排序。我想我制作了一个表单并添加了一个imagefield <form id="form1" name="form1" method="post" action="index.php"> <input name="buyuka" type="image" src="resimler/azalt.gif" /> </form> 然而,它没有排序。当我尝试添加submit按钮以添加imagefield时,它起作
<form id="form1" name="form1" method="post" action="index.php">
<input name="buyuka" type="image" src="resimler/azalt.gif" />
</form>
然而,它没有排序。当我尝试添加submit按钮以添加imagefield时,它起作用了。这意味着我犯了一个基本的错误,但我找不到
谢谢你的帮助。:)
编辑-已解决
实际上正如帕斯卡·马丁所说:
if(isset($_POST['buyuka_x'], $_POST['buyuka_y']))
{
$sorgu='SELECT * FROM urunler ORDER BY uyeno DESC';
}
一定是这样。谢谢:)
试试看。只需使用查看$\u POST中的内容即可:
var_dump($_POST);
您将看到,当使用
提交表单时,您会得到:
array
'buyuka_x' => string '0' (length=1)
'buyuka_y' => string '0' (length=1)
因此,没有$\u POST['buyuka']
——而是:
$\u POST['buyuka\u x']
- 和
$\u POST['buyuka\u y']
这意味着您的代码应该是这样的(不测试不存在的buyuka
条目,测试两个\ux
和\uy
——我想测试其中一个就足够了):
在注释后编辑:我不知道为什么会这样——但HTML标准中是如何定义.x
和.y
的
如果您查看并向下滚动一点,您将能够阅读:
当使用定点设备
单击图像,表单将显示
提交并单击坐标
传递给服务器
x值
从左起以像素为单位测量
图像和y值(以像素为单位)
从图像的顶部<这个
提交的数据包括
name.x=x-value
和name.y=y-value
其中“name”是名称的值
属性,并且x值和y值是
x和y坐标值,
分别
在PHP中,参数名称中的点会自动替换为和unerscore。
因此:
name.x
变成name\ux
- 而
name.y
变成name\u y
作为最后一条语句的源,您可以读取变量(引用):
变量名中的点和空格是
转换为下划线<用于
示例
变为
$\u请求[“a\u b”]
对于图像输入,请尝试添加id。您有名称,但没有id
替换
<input name="buyuka" type="image" src="resimler/azalt.gif" />
与
如果我正确阅读了问题,那么将图像作为表单的一部分不会自动将表单作为POST提交。该按钮使其工作,因为您实际上是在提交表单
当您最初加载页面时,它将是一个GET请求,与您向我们显示的表单没有任何关系(并且您可以在页面中有许多其他表单使用不同的名称,这同样没有效果,除非您自己提交)。使用按钮提交时,它会请求index.php并添加POST参数
尝试将onsubmit=“submit-form();”
添加到输入元素?
<form id="form1" name="form1" method="post" enctype="multipart/form-data" action="index.php">
<input name="buyuka" type="image" src="resimler/azalt.gif" />
</form>
试试这个。你的if()
和你的块的开头{}
后面的那一行是文章中的打字错误吗?你需要阅读$\u post['buyuka.x']
。搜索更多信息。@jmz,PHP将发布的数据键中的点转换为下划线@查尔斯:现在,你知道了;-)(非常有用;-)我想看看那只手后面的脸。帕斯卡,为什么图像有两个东西(x和y)?为了让生活变得困难?:)@echophp我已经编辑了我的答案,添加了一些关于这方面的附加信息(在HTML端和PHP端)。input
id被服务器忽略。我不确定是谁否决了你,但是inputid
属性在发布时没有提交。我明白了。只是注意到它不见了,因为我从来没有遇到过同样的问题,他认为这可能会有所帮助。输入id未在post中提交…-1
if(isset($_POST['buyuka_x'], $_POST['buyuka_y']))
{
$sorgu='SELECT * FROM urunler ORDER BY uyeno DESC';
}
<input name="buyuka" type="image" src="resimler/azalt.gif" />
<input id="buyuka" name="buyuka" type="image" src="resimler/azalt.gif" />
<form id="form1" name="form1" method="post" enctype="multipart/form-data" action="index.php">
<input name="buyuka" type="image" src="resimler/azalt.gif" />
</form>