通过angularjs、php、mysql使用ngclick在数据库中存储参数
index.html通过angularjs、php、mysql使用ngclick在数据库中存储参数,php,mysql,angularjs,Php,Mysql,Angularjs,index.html <html> <body> <html ng-app="myApp"> <body ng-controller="personController"> <button ng-click="addNewClicked=!addNewClicked;" >Add New person</button> <form ng-init="addNewClicked=false;
<html>
<body>
<html ng-app="myApp">
<body ng-controller="personController">
<button ng-click="addNewClicked=!addNewClicked;" >Add New person</button>
<form ng-init="addNewClicked=false; " ng-if="addNewClicked" id="newPersonForm" >
<input type="text" ng-model="input.firstname" placeholder="Add New firstname" ng-focus="addNewClicked">{{input.firstname}}
<input type="text" ng-model="input.lastname" placeholder="Add New last name" ng-focus="addNewClicked">{{input.lastname}}
<button type="submit" ng-click="addPerson(input)">Add New person</button>
</form>
<script type="text/javascript" src="js/angular.min.js"></script>
<script type="text/javascript" src="app/app.js"></script>
</body>
addPerson.php
<?php
require_once '../includes/db.php'; // The mysql database connection script
if(isset($_GET['firstname'])){
$firstname = $_GET['firstname'];
$lastname=$_GET['lastname'];
$query="INSERT INTO persons(firstname,lastname) VALUES ('$firstname','$lastname')";
$result = $mysqli->query($query) or die($mysqli->error.__LINE__);
$result = $mysqli->affected_rows;
echo $json_response = json_encode($result);
}
?>
<?php
$DB_HOST = '127.0.0.1';
$DB_USER = 'root';
$DB_PASS = '';
$DB_NAME = 'angularcode_person';
$mysqli = new mysqli($DB_HOST, $DB_USER, $DB_PASS, $DB_NAME);
?>
不知道你有什么问题,我只能猜测
而不是通过可以在角度控制器中使用的函数发送输入值
为了能够访问firstname和lastname值,您必须将模型名称从input.firstname
和input.lastname
更改为firstname
和lastname
删除ng click=“addPerson(input)”
然后,在javascript文件中,将函数更改为使用$scope
,如下所示:
$scope.addPerson = function () {
$http.post("ajax/addPerson.php?firstname="+$scope.firstname+"&lastname="+$scope.lastname).success(function(data){
console.log("Success")
});
};
请说得更具体些。你犯了什么错误?您是否收到任何错误消息?警告:当使用mysqli
时,您应该使用和将用户数据添加到查询中。不要使用字符串插值或串联来完成此操作,因为您已经创建了严重的错误。切勿将$\u POST
或$\u GET
数据直接放入查询,如果有人试图利用您的错误,这可能非常有害。
$scope.addPerson = function () {
$http.post("ajax/addPerson.php?firstname="+$scope.firstname+"&lastname="+$scope.lastname).success(function(data){
console.log("Success")
});
};