【问题标题】:HTML form not working with image submit button?HTML 表单不能与图像提交按钮一起使用?
【发布时间】:2016-03-17 21:12:08
【问题描述】:

我正在测试以下 html 表单。

<html>

<head>
<link href = "style.css" rel = "stylesheet" type = "text/css">
</head>

<form action = "test1.php" enctype = "multipart/form-data" method = "POST">
<input type = "hidden" name = "playno" value = "testing">
<input type = "image" src = "uploads/defb.png"  name = "submit" value = "submit"/>
</form>

</html>

以下内容保存在“test1.php”中:

<?php

$hiddenvalue = $_POST['playno'];

if (isset($_POST['submit'])){
echo "OK";
}
else
{
echo "error";
}

?>

在浏览器中,当我打印 $hiddenvalue 时,我返回值“testing”。但是每次它输出“错误”,而不是“OK”。

我将非常感谢任何帮助。它快把我逼疯了!!! 非常感谢。

【问题讨论】:

  • 您没有在帖子中发送“提交”。你应该检查你的 $_FILES 数组。这可能会有所帮助:w3schools.com/php/php_file_upload.asp
  • 除非您在表单中上传文件,否则您应该使用 enctype application/x-www-form-urlencoded 而不是 multipart/form-data
  • 并且属性value对于图像输入无效,应该删除
  • 不要通过查找表单字段来检查帖子。 if ($_SERVER['REQUEST_METHOD'] == 'POST') 100% 可靠。

标签: php html forms


【解决方案1】:

当使用input type="image" 时,浏览器会发送submit_xsubmit_y

所以在 PHP 中,$_POST['submit'] 将不可用,但将定义 $_POST['submit_x']$_POST['submit_y'](包含单击图像的 X/Y 坐标)。

【讨论】:

  • 谢谢。你完全正确。顺便说一句,我想知道您是否可以帮助我解决我的一般问题-我知道这听起来很奇怪,但是我有一个带有多个提交按钮(作为图像)的页面;基本上我想知道如何识别在数据发布到的页面中按下了哪个按钮,这样我就可以运行正确的脚本。这原则上可行吗?
  • 如果您有多个图像提交按钮,那么POST 请求中只会传输被点击的那个。假设您有submit1submit2 按钮,如果您点击submit1,您将拥有$_POST['submit1_x'],但没有$_POST['submit2_x'],如果您点击submit2,您将拥有$_POST['submit2_x']。跨度>
  • 干杯。是的,我刚刚测试了它。非常感谢。
【解决方案2】:

只需在表单中添加这个:

<input type="hidden" name="submit" value="submit"/>

以便它在您的 PHP 中接收 $_POST['submit']

【讨论】:

    【解决方案3】:
    <input type = "image" src = "uploads/defb.png"  name = "submit" value = "submit"/>
    

    改为:

    <input type = "submit"  name = "submit" value = "submit"/>
    

    因为输入没有这种类型

    为输入创建样式 HTML

    <input type = "submit"  name = "submit" value = "submit" id="button" />
    

    CSS

    #button {
    
    background:url("uploads/defb.png");
    border:0;
    outline:0;
    
    }
    

    【讨论】:

    猜你喜欢
    • 2021-08-28
    • 1970-01-01
    • 1970-01-01
    • 2014-12-29
    • 2017-10-08
    • 2016-07-03
    • 2013-04-09
    • 2011-02-19
    相关资源
    最近更新 更多