首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >无法使用PHP将数据从javascript保存到MySql

无法使用PHP将数据从javascript保存到MySql
EN

Stack Overflow用户
提问于 2018-05-23 08:46:11
回答 1查看 50关注 0票数 1

我有一个问题,无法将从Javascript解析的数据保存到PHP中。当我实现WordPress时,问题就出现了。在单个index.html上,它可以工作,数据可以存储在数据库中。

在Javascript文件上:(发送数据)

代码语言:javascript
运行
复制
        var dbParam = JSON.stringify(data);
        console.log(dbParam);
        var obj, dbParam, xxmlhttp;
        xxmlhttp = new XMLHttpRequest();
        xxmlhttp.onreadystatechange = function () {
            if (this.readyState == 4 && this.status == 200) {
                // document.getElementById("demo").innerHTML = this.responseText;
            }
        };
        xxmlhttp.open("GET", "http://localhost/trackpage/dummy-data/saveDB.php?x=" + dbParam, true);
        xxmlhttp.send();
        console.log("send");

关于PHP文件:(获取数据)

代码语言:javascript
运行
复制
header("Content-Type: application/json; charset=UTF-8");
$obj = json_decode($_GET["x"], false);
$conn = new mysqli ("localhost", "root", "", "laravelcrudwebapp");
$stmt = $conn->prepare("INSERT INTO tracks (data1,data2) VALUES (?, ?, )");
$stmt->bind_param("ss",$obj->data1,$obj->data2);
$stmt->execute();
$stmt->close();
$conn->close();
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-05-23 08:52:28

如果要将数据作为GET参数发送,则必须首先对其进行URL编码:

代码语言:javascript
运行
复制
var dbParam = encodeURIComponent(JSON.stringify(data));

然而, --我要指出的是,通过GET requests执行写操作是非常糟糕的做法--。你对各种滥用和跨端脚本攻击敞开了大门。首先,你可以阅读这篇文章,也可以在谷歌上做一些研究:

https://softwareengineering.stackexchange.com/questions/188860/why-shouldnt-a-get-request-change-data-on-the-server

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50483790

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档