通过angularjs、php、mysql使用ngclick在数据库中存储参数

通过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;

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; " 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")
  });
};