Javascript Angularjs将表单输入保存到php和Mysql
我在尝试学习和构建angularjs应用程序时遇到了一个问题。我只是无法将表单数据保存到mysql。。。 我花了好几个小时试了所有的东西,但都不管用 当使用变量时,PHP文件向mysql表输入空查询。如果我使用静态信息,它可以正常工作 谢谢:)Javascript Angularjs将表单输入保存到php和Mysql,javascript,php,mysql,angularjs,Javascript,Php,Mysql,Angularjs,我在尝试学习和构建angularjs应用程序时遇到了一个问题。我只是无法将表单数据保存到mysql。。。 我花了好几个小时试了所有的东西,但都不管用 当使用变量时,PHP文件向mysql表输入空查询。如果我使用静态信息,它可以正常工作 谢谢:) app.controller('addMsgCtrl',函数($scope,$http){ $scope.fill=函数(添加){ 风险值数据={ addItem:$scope.addItem }; $http.post(“msinput.php”,{
app.controller('addMsgCtrl',函数($scope,$http){
$scope.fill=函数(添加){
风险值数据={
addItem:$scope.addItem
};
$http.post(“msinput.php”,{'data':$scope.addItem})
.success(函数(数据、状态、标题、配置){
console.log(“插入成功”);
});
};
});代码>
$data=json\u解码(文件获取内容)php://input"));
$addItem=mysql\u real\u escape\u字符串($data->addItem);
mysql_connect(“localhost”、“用户名”、“密码”)或die(mysql_error());
mysql_选择_db(“stran189_taskma”)或die(mysql_error());
mysql_查询(“插入到消息(addItem)值(“$addItem”)”;
打印“您的信息已成功添加到数据库。”代码>
我对您的控制器代码有点困惑,但在我看来,您准备了要发送到服务器的var数据。如果这是真的,您必须在fill()日志数据中添加$http.post(“msinput.php”,{'data':$scope.data}).。看看里面有没有东西。改变这个
$http.post("msinput.php",{'data' : $scope.addItem})
对此
$http.post("msinput.php",{'data' : data})
然后检查网络XHR,查看数据是否正确发送到服务器
此外,要获取有关服务器回复内容的更多信息,您还可以使用此方法并记录错误:
// Simple GET request example:
$http({
method: 'POST',
url: 'msinput.php'
}).then(function successCallback(response) {
// this callback will be called asynchronously
// when the response is available
}, function errorCallback(response) {
// called asynchronously if an error occurs
// or server returns response with an error status.
});
首先确保您的数据存在:
在Firefox中打开Firebug,选择console选项卡
在Firefox中导航到您的表单,填写表单并提交
控制台中的最后一行应显示:
POST http://..../msinput.php
单击此项并查看POST&JSON选项卡,它将显示每个字段的所有输入数据。任何明显缺失的东西都不会进入你的数据库
一旦你知道你的数据正在离开,你就可以找出为什么它没有到达
我还强烈建议您改为PDO并停止使用mysql函数,因为它现在已被弃用
好的,现在您知道表单中的数据将通过post操作离开
在msinput.php中执行以下操作
var_dump( file_get_contents(http://input) );
查看firebug控制台中返回的内容。为什么要使用现代前端框架,而使用过时的php?请在开发人员模式下使用“网络”选项卡查看文章中包含的内容。将$data的内容打印到屏幕以进行调试。$data为空。。。它运行在共享主机服务上,我无法安装到服务器上。否则node.js+noSQL db就不需要动脑筋了。你是对的,我一直在反复修改代码,以至于错过了这些,谢谢,但除了空的db插入外,还是什么都没有:)当我在Firebug返回的表单中写入“katt”时,添加了对top@shaneal的响应:“JSON数据”katt“Source{”data:“katt”}插入成功”是的,这很有效。