当你无法操纵数据库仪式时,这意味着什么? 所以我跳进下一步。将它与我的数据库连接。即时通讯使用常规PHP。 如果成功,我将跳到下一步,结合角度和php框架,如laravel或codeigniter。
实际上,它的退出很容易从数据库中检索数据。
但是,我在这里不分享这个故事,我在尝试将其输入数据库时遇到了困难。我不明白为什么。关键是我无法从html中获取表单中的数据。我在角度使用工厂。
这是我的add.html:
<h1>add newdata</h1>
new name :
<input type='text' ng-model='newdata.name'> <br>
new city :
<input type='text' ng-model='newdata.city'> <br>
<button ng-click='addData()'>submit</button>
这是我的index.html:
//define dependency ngRoute module
var test = angular.module('testPeople', ['ngRoute']);
test.factory('factoryPeople', function($http) {
var factoryPeople= {};
factoryPeople.getPeople = function() {
return $http.get('data.php');
};
factoryPeople.addPeople = function() {
return $http.post('add.php');
};
return factoryPeople;
});
路线:
test.config(function($routeProvider) {
$routeProvider
.when('/add', {
templateUrl : 'add.html',
controller : 'add'
})
.when('/contact', {
templateUrl : 'contact.html'
})
.when('/second', {
templateUrl : 'index2.html'
})
.otherwise({redirectTo: '/'});
});
控制器:
test.controller('add', function($scope, $http, factoryPeople){
$scope.tambahData = function() {
//bikin format file json, dari hasil tangkapan form di file add.html
databaru = {
name: $scope.newdata.name,
city: $scope.newdata.city
}
factoryPeople.addPeople(newdata).success(function(result) {
//update data using push method
$scope.listofname.push({
name: $scope.newdata.name,
city: $scope.newdata.city
});
//set form data empty again
$scope.newdata.name= '';
$scope.newdata.city = '';
alert(result);
});
这是我的add.php:
<?php
header("Access-Control-Allow-Origin: *");
$host = "localhost";
$user = "root";
$pass = "";
$db = "angular";
$link = mysqli_connect($host, $user, $pass, $db) or die(mysqli_error($link));
// get input data
$data = json_decode(file_get_contents("php://input"));
// take value from array
$name= $data['name'];
$city= $data['city'];
// query insert
$sql = "insert into users (name , city) values ('$name', '$city') ";
// echo message
if(mysqli_query($link, $sql)):
echo"input success| name: $name| city: $city";
else: echo"input failed| name : $name | city: $city";
endif;
?>
如果我运行该脚本,数据将始终成功插入数据库。 但问题是$ name和$ city没有价值。
我不明白为什么。 我错了使用php_get_contents还是什么? 你能告诉我我该怎么办才能获得更好的结果吗?
希望你们能帮帮我。
非常感谢。
答案 0 :(得分:0)
您忘记传递参数。更改工厂(addPeople()
功能):
factoryPeople.addPeople = function(data) {
return $http.post('add.php', data);
};
然后在服务器上使用$_POST
,就像你通常(我猜)那样做