ech*_*php 2 php mysql forms imagefield
好吧可能是简单的问题但是:
我想通过单击图像对数字进行排序.我以为我做了一个表格并添加了一个图像场.
<form id="form1" name="form1" method="post" action="index.php">
<input name="buyuka" type="image" src="resimler/azalt.gif" />
</form>
Run Code Online (Sandbox Code Playgroud)
然后我会写这些代码.
$sorgu='SELECT * FROM urunler';
if(isset($_POST['buyuka'])
{
$sorgu='SELECT * FROM urunler ORDER BY uyeno DESC';
}
$sonuclar=mysql_query($sorgu);
Run Code Online (Sandbox Code Playgroud)
但它没有排序.当我尝试添加提交按钮以添加图像域时,它的工作原理.所以这意味着我犯了一个非常基本的错误,但我找不到它.
谢谢你的帮忙.:)
编辑---解决了
实际上帕斯卡马丁说:
if(isset($_POST['buyuka_x'], $_POST['buyuka_y']))
{
$sorgu='SELECT * FROM urunler ORDER BY uyeno DESC';
}
Run Code Online (Sandbox Code Playgroud)
一定是这样的.谢谢 :)
Pas*_*TIN 14
只是var_dump()用来看看有什么$_POST:
var_dump($_POST);
Run Code Online (Sandbox Code Playgroud)
您会看到,当您使用表单提交表单时<input type="image">,您会得到:
array
'buyuka_x' => string '0' (length=1)
'buyuka_y' => string '0' (length=1)
Run Code Online (Sandbox Code Playgroud)
所以,没有$_POST['buyuka']- 相反,有:
$_POST['buyuka_x']$_POST['buyuka_y']这意味着你的代码看起来应该是这样的(不测试不存在的buyuka条目,测试两者_x并且_y- 我认为测试其中一个应该足够了):
if(isset($_POST['buyuka_x'], $_POST['buyuka_y']))
{
$sorgu='SELECT * FROM urunler ORDER BY uyeno DESC';
}
Run Code Online (Sandbox Code Playgroud)
评论后编辑:我不知道为什么会这样 - 但是有一个.x和一个.y是如何在HTML标准中定义的.
如果您查看HTML文档中的表单,然后向下滚动一下,您将能够阅读:
使用指点设备单击图像时,将提交表单并将点击坐标传递给服务器.
x值是以图像左侧的像素为单位测量的,y值是从图像顶部开始的像素值.
提交的数据包括name.x=x-value并且name.y=y-value其中"name"是name属性的值,并且x值和y值分别是x和y坐标值.
在PHP中,参数名称中的点自动替换为unerscore.
所以:
name.x 变 name_xname.y成为name_y作为最后一个语句的源,您可以从外部源 读取变量- HTML表单(GET和POST)(引用):
变量名中的点和空格将转换为下划线.
例如<input name="a.b" />变成$_REQUEST["a_b"].
| 归档时间: |
|
| 查看次数: |
14412 次 |
| 最近记录: |