gpt4 book ai didi

javascript - 使用 AJAX 将 JSON 转换为 PHP

转载 作者:行者123 更新时间:2023-11-28 01:47:43 25 4
gpt4 key购买 nike

我想将包含一些用户信息的 JSON 字符串发送到 PHP 文件,然后将该信息插入到 MySQL 数据库中。

我的 HTML:

<!DOCTYPE html>
<head>
<script src="script.js"></script>
</head>
<body>
<form name="form1" action="" onSubmit="sub()">
<input type="text" name="username" id="usrnm" />
<input type="text" name="password" id="pswrd" />
<input type="text" name="firstname" id="frstnm" />
<input type="text" name="surname" id="surnm" />
<input type="submit" value="Submit" />
</form>
</body>
</html>

我的 script.js 中的 Javascript:

function sub() {
var un = document.getElementById("usrnm").value;
var pw = document.getElementById("pswrd").value;
var fn = document.getElementById("frstnm").value;
var sn = document.getElementById("surnm").value;
var jsonObj = {username:un, password:pw, firstName:fn, surName:sn};
var xmlhttp = new XMLHttpRequest();
xmlhttp.open("POST","server.php" ,true);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send("data="+encodeURIComponent(JSON.stringify(jsonObj)));
};

我的 PHP:

<?php 
$con=mysqli_connect("localhost","root","", "somedatabase");
$data = $_POST["data"];
$res = json_decode($data, true);
mysqli_query($con,"INSERT INTO sometable (username,password,firstname,surname) VALUES ($res[username],$res[password],$res[firstname],$res[surname])");
mysqli_close($con);
?>

当我用普通字符串值替换插入语句中的值时,我的 PHP 会在数据库中插入一个新行,但当我尝试使用 PHP 对象中的值时,不会插入任何内容。

最佳答案

让它像

VALUES (" . $res['username'] . "," . $res['password'] . "," . $res['firstname'] . "," . $res['surname']. ")"

而不是直接在字符串中。 PHP 不会识别它。

关于javascript - 使用 AJAX 将 JSON 转换为 PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20082952/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com