【问题标题】:Insert into database using xmlhttprequest使用 xmlhttprequest 插入数据库
【发布时间】:2018-08-14 02:56:48
【问题描述】:

我想使用 ajax xmlhttprequest 将具有相同 ID 的名字、姓氏、电子邮件和密码插入数据库,然后使用 getElementById.value 获取所有值,但我不知道出了什么问题

function loadDoc() {
    var firstname, lastname, email, password;
    firstname = document.getElementById("firstname").value;
    lastname = document.getElementById("lastname").value;
    email = document.getElementById("email").value;
    password = document.getElementById("password").value;

    var xhttp = new XMLHttpRequest();
    xhttp.onreadystatechange = function() {
        if (this.readyState == 4 && this.status == 200) {
            document.getElementById("hero").innerHTML = this.responseText;
        }
    };
    xhttp.open("POST", "action.php", true);
    xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    xhttp.send("firstname=" + firstname "&lastname=" + lastname "&email=" + email "&password=" + password);
}          
<form>
    firstname:<input type="text" id="firstname" name="firstname"><br>
    Lastname:<input type="text" id="lastname" name="lastname"><br>
    Email:<input id="email" type="email" name="email"><br>
    Password:<input id="password" type="password" name="password"><br>
    <input onclickt="loadDoc()" type="button" name="submit" value="Submit">
</form>

<div id="hero"></div>

这里是 $_POST[""] 中的 php 全部赋值

    $firstname = $_POST["firstname"];
    $lastname = $_POST["lastname"];
    $email = $_POST["email"];
    $password = $_POST["password"];

    if(empty($firstname) || empty($lastname) || empty($email) || empty($password)){
        echo '<h2>Empty Firstname</h2>';
        header("Location index.php");
    } else {
        $stmt = mysqli_stmt_init($connection);
        $query = "INSERT INTO user (firstname, lastname, email, password) VALUES (?, ?, ?, ?)";

        mysqli_stmt_prepare($stmt, $query);
        mysqli_stmt_bind_param($stmt, "ssss", $firstname, $lastname, $email, $password);
        mysqli_stmt_execute($stmt);
        mysqli_stmt_close($stmt);
    }
    mysqli_close($connection);

【问题讨论】:

  • 你的 action.php 代码在哪里?
  • 太长了我不能在这里发帖
  • 感谢您破坏所有格式。
  • 谢谢先生,但我仍然无法保存到数据库中
  • 我放了php先生,但它不能插入数据库

标签: php html ajax xmlhttprequest


【解决方案1】:

你有一个语法错误

  xhttp.send("firstname=" + firstname "&lastname=" + lastname "&email=" + email "&password=" + password);

改成

  xhttp.send("firstname=" + firstname + "&lastname=" + lastname + "&email=" + email + "&password=" + password);

您缺少“+”。

另外,“onclickt”上的另一个

<input onclickt="loadDoc()" type="button" name="submit" value="Submit">

应该是

<input onclick="loadDoc()" type="button" name="submit" value="Submit">

【讨论】:

  • firstnamelastname 之后的一个
  • + 和 & 不一样?
  • 我把php先生放了
  • + 是 JavaScript 中的集中字符串,& 是 URL 中的参数。不同的东西。
猜你喜欢
  • 2013-08-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-13
相关资源
最近更新 更多