如何从Ionic移动应用程序连接到mysql?

时间:2015-08-04 08:10:45

标签: php mysql xampp ionic

我尝试使用php将我的离子应用程序连接到mysql,但它不起作用。 xampp使用端口8180和离子使用端口8100

for(j=0; j<data.length; j++) {
    var circlesToMove = svg.selectAll(".Color_" + data[j].key).remove();
    svg.append("g")
       .data(circlesToMove).enter()
       .append(function(d){ return d.node(); });
}

add.php:

  

if(isset($ _ SERVER [&#39; HTTP_ORIGIN&#39;])){           标题(&#34; Access-Control-Allow-Origin:{$ _SERVER [&#39; HTTP_ORIGIN&#39;]}&#34;);           标题(&#39; Access-Control-Allow-Credentials:true&#39;);           标题(&#39; Access-Control-Max-Age:86400&#39;); //缓存1天       }

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

我得到了回复&#34;成功创建帐户&#34;作为输出但我无法从应用程序接收数据

我得到的错误:

// 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";

2 个答案:

答案 0 :(得分:1)

问题解决了: 我应该在add.html中添加ng-controller="AddController"并删除我的函数中的标题并删除add.php中的所有标题并保留header("Access-Control-Allow-Origin: *");

答案 1 :(得分:0)

您收到的通知说您的$ 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']);