2016-07-12 1 views
0

index.htmlмагазин PARAMS в базе данных с использованием ngclick через angularjs, PHP, MySQL

<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> 

app.js

var app = angular.module('myApp', []); 
    app.controller('personController', function($scope, $http) { 
    $scope.addPerson = function (input) { 
    $http.post("ajax/addPerson.php?  firstname="+firstname+"$lastname="+lastname).success(function(data){ 
    }); 
    }; 
    }); 

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

db.php

<?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); 
?> 

Как новичок я не знаю, как хранить параметры в database.i хотите сохранить параметры Firstname и фамилию в базу данных .for, что usining addgerson функции ng-click().

+0

Пожалуйста, будьте более конкретным. Какие у вас ошибки? Вы получаете сообщения об ошибках? –

+0

** ПРЕДУПРЕЖДЕНИЕ **: при использовании 'mysqli' вы должны использовать [параметризованные запросы] (http://php.net/manual/en/mysqli.quickstart.prepared-statements.php) и [' bind_param'] (http://php.net/manual/en/mysqli-stmt.bind-param.php), чтобы добавить данные пользователя в ваш запрос. ** НЕ используйте ** интерполирование строк или конкатенацию для выполнения этого, потому что вы создали серьезную [SQL-инъекцию] (http://bobby-tables.com/). ** НИКОГДА не ставьте данные '$ _POST' или' $ _GET' непосредственно в запрос, это может быть очень вредно, если кто-то пытается использовать вашу ошибку. – tadman

ответ

0

Не зная проблемы, с которой вы сталкиваетесь, я могу только догадываться.

Вместо отправки входных значений через функцию вы можете использовать $scope в своем угловом контроллере.

Чтобы иметь возможность доступа к ПгвЬЫату и LastName значения вы должны изменить имена модели из input.firstname и input.lastname только firstname и lastname

Удалить input аргумент в ng-click="addPerson(input)"

Тогда в вашем яваскрипте изменения файла функцию $scope, например:

$scope.addPerson = function() { 
    $http.post("ajax/addPerson.php?firstname="+$scope.firstname+"&lastname="+$scope.lastname).success(function(data){ 
    console.log("Success") 
    }); 
}; 
Смежные вопросы