数据无法在表单提交时发送?

时间:2015-08-03 00:32:01

标签: php forms

这是我的代码:

<?php
require_once "connect.php";

if ($_SERVER["REQUEST_METHOD"] == "POST") {
  $email = test_input($_POST["email"]);
    if(!empty($email))
    {
        $insert = $db->prepare("INSERT INTO creations(email) VALUES (?)");
        $insert->bind_param('s', $email);
    }
}

function test_input($data) {
  $data = trim($data);
  $data = stripslashes($data);
  $data = htmlspecialchars($data);
  return $data;
}
?>

<!DOCTYPE html>
<html>
    <body>
        <form method="post" action="">

            <input type="text" name="email">
            <input type="submit">
        </form>
    </body>
</html>

当我在电子邮件输入框中提交任何内容时,我收到一条错误信息:

  

致命错误:在第12行的/ home / xx / xx / xx / xx中的非对象上调用成员函数bind_param()。

我用几种不同的形式试过这个并得到了同样的错误。我已经对我的数据库和PHP代码中的所有内容进行了双重检查......

1 个答案:

答案 0 :(得分:0)

如果您有任何问题,请告诉我。

// CODE

<?php
//PATH --- /var/www/html/connect.php
require_once($_SERVER['DOCUMENT_ROOT'] . "/connect.php");
if (isset($_POST["email"])){
    $email = filter_data($_POST["email"]);
    $stmt = $db->prepare("INSERT INTO creations(email) VALUES (?)"); 
    $stmt->bind_param('s', $email);
    $stmt->execute();
    $stmt->close(); 
}
function filter_data($data) {
  $data = trim($data);
  $data = stripslashes($data);
  $data = htmlspecialchars($data);
  return $data;
}
?>
<!DOCTYPE html>
<html>
    <body>
        <form method="post" action="">
            <input type="text" name="email">
            <input type="submit">
        </form>
    </body>
</html>