Я пытаюсь подключить мое ионное приложение к MySQL, используя php, но это не работает.
xampp использует порт 8180 и ионный порт использования 8100
.controller('AddController',['$scope','$http',function($scope,$http){
$scope.enregistrer=function(){
$scope.responseMessage="pfffff";
$http.post("http://localhost:8180/add.php",{'nom':$scope.nom,
'prenom':$scope.prenom,
'email':$scope.email,
'adresse':$scope.adresse,
'sexe':$scope.sexe,
'active':$scope.active}).success(function(data,status,headers,config) {
$scope.responseMessage = "Successfully Created Account";;
});
}
}]);
add.php:
if (isset ($ _ SERVER [‘HTTP_ORIGIN’])) {
header («Access-Control-Allow-Origin: {$ _SERVER [‘HTTP_ORIGIN’]}»);
заголовок (‘Access-Control-Allow-Credentials: true’);
заголовок (‘Access-Control-Max-Age: 86400’); // кеш на 1 день
}// Access-Control headers are received during OPTIONS requests if ($_SERVER['REQUEST_METHOD'] == 'OPTIONS') { if (isset($_SERVER['HTTP_ACCESS_CONTROL_REQUEST_METHOD'])) header("Access-Control-Allow-Methods: GET, POST, OPTIONS"); if (isset($_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS'])) header("Access-Control-Allow-Headers: {$_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS']}"); exit(0); } $request=json_decode(file_get_contents("php://input")); $nom=mysql_real_escape_string($request->nom); $prenom=mysql_real_escape_string($request->prenom); $email=mysql_real_escape_string($request->email); $adresse=mysql_real_escape_string($request->adresse); $active=mysql_real_escape_string($request->active); $con=mysql_connect("localhost","root","") or die(mysql_error()); mysql_select_db("ionicbd",$con); $query="insert into user(`nom`,`prenom`,`email`,`adresse`) values($nom,$prenom,$email,$adresse)"; $queryRes=mysql_query($query); if($queryRes) echo "1"; else echo "2";
Я получил ответ «Успешно создан аккаунт» в качестве вывода, но я не могу получить данные из приложения
Ошибки, которые я получил:
Notice: Trying to get property of non-object in C:\xampp\htdocs\add.php on line 24
Notice: Trying to get property of non-object in C:\xampp\htdocs\add.php on line 25
Notice: Trying to get property of non-object in C:\xampp\htdocs\add.php on line 26
Notice: Trying to get property of non-object in C:\xampp\htdocs\add.php on line 27
задача решена :
Я должен просто добавить ng-controller="AddController"
в add.html и удалите заголовки в моей функции и удалите все заголовки в моем add.php и оставьте только header("Access-Control-Allow-Origin: *");
В полученном вами сообщении говорится, что ваша переменная $ request не является объектом. Это должен быть массив.
Пытаться:
$request=json_decode(file_get_contents("php://input"));
$nom=mysql_real_escape_string($request['nom']);
$prenom=mysql_real_escape_string($request['prenom']);
$email=mysql_real_escape_string($request['email']);
$adresse=mysql_real_escape_string($request['adresse']);
$active=mysql_real_escape_string($request['active']);