PHP:通过图像提交按钮传递选择和隐藏输入的值

时间:2019-04-07 06:06:01

标签: php

我有一个表,其中包含从数据库中检索到的Orders数据,并且有一个名为“ status”的字段,其中包含带有选择选项的表单以及具有订单ID值的隐藏输入。似乎没有将数据传递到将运行该功能的php文件。

我尝试了POST和GET方法,发现数据是通过URL传递到php文件的,但页面空白。

这是显示参数的URL:

http://localhost/project_name/test2.php?submit.x=15&submit.y=22&status=new&orderId=190406053842

这是我的HTML表单

<td>
        <form action="test2.php" method="GET">
        <input type="image" name="submit" src="icons/submit.png" alt="Submit" style='width:30px;height:30px;border:0;' onclick="confirm('are you sure?')"> 
        <select name="status">
            <option value="new">new</option>
            <option value="checking">checking</option>
            <option value="processing">processing</option>
            <option value="done">done</option>
          </select>
          <input type="hidden" name="orderId" value="<?php echo $row["ORDER_ID"]; ?>">
          </form>
</td>

这是php文件(只需回显结果以确保其正常工作,然后继续进行即可)

    <?php
    $db = mysqli_connect('localhost', 'root', '', 'project_name');


            if(isset($_GET['submit'])){
                $status = $_GET['status'];
                $ID = $_GET['orderId'];

    echo $staus;
    echo $ID;
}
    ?>  

谢谢。

1 个答案:

答案 0 :(得分:2)

如果您查看GET URL字符串,则没有'submit'变量,因此无法检查'submit'变量。

看起来它正在将坐标附加到“ submit”变量,因此它实际输出“ submit.x”和“ submit.y”。我以前从未使用过图像输入类型,因此只能猜测这是该输入类型的预期功能。

您可以通过检查“ orderID”而不是“ submit”来解决此问题。或者,您可以尝试使用“ submit.x”或“ submit.y”。