2015-12-08 5 views
1

Я не могу подключиться к базе данных, какой должен быть синтаксис, когда я создал базу данных (myDb), используя phpMyAdmin. Я разместил signup.php на сервере i.e www. Пожалуйста, укажите, есть ли другая ошибка, которую я сделал в этом коде.Как подключить мое ионное приложение к базе данных MySQL?

signup.html:

<ion-header-bar class="bar-positive"> 
<h2 class="title">SignUp</h2> 
</ion-header-bar> 

<ion-view view-title="SignUp" name="signup-view"> 
    <ion-content class="has-header"> 
    <div class="list list-inset"> 

    <label class="item item-input item-floating-label"> 
    <span class="input-label">Enter Username</span> 
    <input class="form-control" type="text" ng-model="userdata.username" placeholder="Enter Username"> 
    </label> 

    <label class="item item-input item-floating-label"> 
    <span class="input-label">Enter Your Email</span> 
    <input type="text" ng-model="userdata.email" placeholder="Enter Your Email"> 
    </label> 

    <label class="item item-input item-floating-label"> 
    <span class="input-label">Enter Your Password</span> 
    <input class="form-control" type="password" ng-model="userdata.password" placeholder="Enter Your Password"> 
    </label> 

    <button class="button button-block button-calm" ng-click="signUp(userdata)">SignUp</button><br> 
    <span>{{responseMessage}}</span> 
    </div> 
    </ion-content> 
</ion-view> 

signup.php:

<?php 
    header("Content-Type: application/json; charset=UTF-8"); 
    header('Access-Control-Allow-Origin: *'); 
    header('Access-Control-Allow-Methods: GET, POST'); 

    $postdata = file_get_contents("php://input"); 
    $request = json_decode($postdata); 
    $email = $postdata->email; 
    $password = $postdata->password; 
    $username = $postdata->username; 

    $con = mysql_connect("localhost","root",'') or die ("Failed to connect to MySQL: " . mysql_error());; 
    mysql_select_db('myDb', $con); 

    $qry_em = 'select count(*) as cnt from users where email="' . $email . '"'; 
    $qry_res = mysql_query($qry_em); 
    $res = mysql_fetch_assoc($qry_res); 

    if($res['cnt']==0){ 
    $qry = 'INSERT INTO users (name,password,email) values ("' . $username . '","' . $password . '","' . $email . '")'; 
    $qry_res = mysql_query($qry); 
     if ($qry_res) { 
      echo "1"; 
     } else { 
      echo "2";; 
     } 
    } 
    else 
    { 
     echo "0"; 
    } 
?> 

app.js:

.controller('SignupCtrl', function($scope, $http) { 
    $scope.signup = function() { 
    var request = $http({ 
     method: "post", 
     url: "http://localhost/signup.php", 
     crossDomain : true, 
     headers: {'Content-Type': 'application/x-www-form-urlencoded'}, 
     data: { 
      username: $scope.userdata.username, 
      email: $scope.userdata.email, 
      password: $scope.userdata.password 
     }, 
    }); 
     request.success(function(data) { 
     if(data == "1"){ 
     $scope.responseMessage = "Account Created Successfully!"; 
     } 
     if(data == "2"){ 
     $scope.responseMessage = "Can not Create Account"; 
     } 
     else if(data == "0") { 
     $scope.responseMessage = "Email Already Exists" 
     } 
    }); 
} 
}); 
+1

то, что ваша проблема? – Vineet1982

+0

Мне нужно знать, как заставить MySQL говорить с моим ионным приложением. –

+0

Я не понимаю, почему ppl не голосует за мой вопрос ... !!! –

ответ

2

использование $request->email, $request->password, $request->username вместо $postdata->email, $postdata->password и т.д ...

0

Если PHP является обязательным, я бы рекомендовал смотреть на Slim Framework, который созданный для создания API. Некоторые другие решения, которые подходят здесь (вероятно, лучше, чем PHP & MySQL для этой цели) являются Mongo + Express или ParseSDK for JavaScript есть на что посмотреть. Я бы порекомендовал Parse, так как очень легко начать работу и удалить много головных болей.

Пример Пример использования ионного доступа к API:

Контроллер:

app.controller('AppCtrl', function($scope){ 
    $http.get('API_URL') 
     .then(
      function(data){ 
       console.log(data); 
       $scope.data = data; 
       // JSON data returned as response 
      }, 
      function(err){ 
       console.log(err); 
       $scope.err = err; 
       // when error occurs 
      } 
     ); 
}); 

Вид:

<ion-content ng-controller="AppCtrl"> 
    <div> {{ data }} {{ err }} </div> 
</ion-content> 

Example использования данных в формате JSON.

Смежные вопросы