【问题标题】:HTML form will not submitHTML 表单不会提交
【发布时间】:2013-08-20 16:16:14
【问题描述】:

这是我的表格

<html>
<head><title>Hawkins Car Records</title></head>
<body><h1>Add New Car</h1></body>
<form action="carNewBack.php" method="POST">
Car Name: <input type="text" name="carName"/>
<br>
Make: <input type="text" name="make"/>
<br>
Model: <input type="text" name="model"/>
<br>
Year: <input type="text" name="year"/>
<br>
Last 5 digits of VIN: <input type="text" name="lastVIN"/>
<br>
Plate: <input type="text" name="plate"/>
<br><br>
<input type="submit" value="Submit"/>
</form>
</html>

当我点击提交按钮时,没有任何反应。没有白屏,没有404,什么都没有。它不执行 carNewBack.php。有人可以分享任何想法吗?

这是动作文件。我试图建立我家汽车服务记录的数据库,这是接受输入并创建新汽车记录的表格。

<?php

$carconnect = mysqli_connect("localhost", "carUser", "caps271:snows", "cars");

if (mysqli_connect_errno()) {
    printf("connect failed: %s\n", mysqli_connect_error());
    exit();
} else {
    $carName = mysqli_real_escape_string($_POST['carName']);
    $make = mysqli_real_escape_string($_POST['make']);
    $model = mysqli_real_escape_string($_POST['model']);
    $year = mysqli_real_escape_string($_POST['year']);
    $lastVIN = mysqli_real_escape_string($_POST['lastVIN']);
    $plate = mysqli_real_escaped_string($_POST['plate']);

   $sql = "INSERT INTO cars (carName, make, model, year, lastVIN, plate) VALUES ('".               $carName."', '".$make."', '".$model."', '".$year."', '".$lastVIN."', '".       $plate."')"; 
    $res = mysqli_query($carconnect, $sql);

    if ($res === TRUE) {
    echo "Car added";
    } else {
        printf ("Could not insert car: %s\n", mysqli_error($carconnect));
    }
   mysqli_close($carconnect);
}

?>

编辑:代码修复。

【问题讨论】:

  • 页面上有javascript吗?
  • 我敢打赌,您的 PHP 页面中有错误,但您的配置(php.ini 或某种类型)隐藏了错误消息。
  • 你应该缩进你的代码一点。它使阅读更容易
  • 我在编译器中做,但在这里不能很好地发挥作用。马上试试。
  • 看到这个question

标签: php html forms


【解决方案1】:

亲爱的兄弟很简单..

  1. 检查你的标题,一定是这样的: error_reporting(0); 或您的 php.ini 文件中的类似内容以抑制错误。

2.没有有效的默认函数mysqli_real_escaped_string();,除非你有用户定义。

mysqli_real_escape_string();

请看mysqli_real_escape_string()

希望对你有帮助:)

【讨论】:

    【解决方案2】:

    您提交的表单看起来正确(http://www.w3schools.com/php/php_forms.asp),我想真正的问题可能在于 php 处理程序。如果您没有收到错误,则意味着它确实找到了 php 处理程序。

    我还测试了您的代码,它看起来不错,因此另一个选项可能是您正在使用的浏览器,甚至是缩放(我使用 Google Chrome)。

    【讨论】:

    • 切换到 chrome 并提交,但现在找不到操作...是的,它在文档根目录中。 HTTP 错误 500
    【解决方案3】:

    如果 carNewBack.php 没有将任何内容打印回屏幕或重定向页面。使用什么来托管网站?如果您没有不支持 php 的 Web 服务,那么这可能是个问题。

    【讨论】:

    • 我在家里的电脑上使用 AMP。我还没有托管。
    【解决方案4】:

    您的 &lt;body&gt; 标记关闭得太早(在第 3 行),您应该在 &lt;/html&gt; 之前关闭它,因此在第 18 行

    【讨论】:

    • hm,第一个文件中只有html形式的代码?因为它对我来说工作得很好......(也在 jsFiddle 上工作 - jsfiddle.net/ZgYe2
    • 另一点:mysqli_real_escaped_string() 函数不会将您的数据库连接作为参数 - php.net/manual/en/function.mysql-real-escape-string.php
    • 转义函数错误。导致Fatal error: Call to undefined function mysqli_real_escaped_string() 参考我在之前评论中给出的链接。它应该看起来像这样:$carName = mysqli_real_escaped_string($_POST['carName']);
    • 大声笑,你是对的。 Inak 绝对错过了函数中的“d”..谁知道他在哪里得到它..但是链接是正确的......我认为这不是一个好习惯,因为 pdo 更好:-)
    • 即使进行了规定的修复(见上文),它仍然会抛出 500 错误。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-06
    • 2016-03-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多