Ionic用户认证使用PHP,MySQL(XAMPP) [英] Ionic user authentication using PHP, MySQL (XAMPP)

查看:138
本文介绍了Ionic用户认证使用PHP,MySQL(XAMPP)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我刚刚接触科尔多瓦和离子。目前我需要使用MySQL(XAMPP服务器)验证登录。



这是我的login.html

 < ion-view view-title =Loginname =login-view> 
< ion-content class =padding>
< div class =app-icon>< / div>
< div class =list>
< label class =item item-input item-floating-label>
< span class =input-label>用户名< / span>
< input type =textplaceholder =用户名ng-model =data.username>
< / label>
< label class =item item-input item-float-label>
< span class =input-label>密码< / span>
< input type =passwordplaceholder =Passwordng-model =data.password>
< / label>
< / div>
< div class =list>
< ion-md-input placeholder =Usernamehighlight-color =balancedtype =text>< / ion-md-input>
< ion-md-input placeholder =Passwordhighlight-color =energizedtype =password>< / ion-md-input>
< / div>
< div class =padding>
< button class =button button-block button-calmng-click =login()>登录< / button>
< / div>

< / ion-content>
< / ion-view>

这是我的Services.js

  .service('LoginService',function($ q){
return {
loginUser:function(name,pw){
var deferred = $ q .defer();
var promise = deferred.promise;

if(name =='user'& pw =='secret'){
deferred。 resolve('Welcome'+ name +'!');
} else {
deferred.reject('Wrong credentials。');
}
promise.success = function fn){
promise.then(fn);
return promise;
}
promise.error = function(fn){
promise.then );
return promise;
}
return promise;
}
}
})

这是我的php文件。

 <?php 
include_once'./database_conn.php';
//用于JSON响应的数组
$ response = array();
//检查必填字段

if(isset($ _ POST ['username'])&&& isset($ _ POST ['password'])){

$ username = $ _POST ['username'];
$ pass = $ _POST ['password'];


//连接到db
$ db = new DbConnection();
// mysql检查登录
$ result = mysql_query(SELECT tu_user,tu_pass FROM twp_users WHERE tu_user ='$ username'AND tu_pass ='$ pass');



//检查是否插入行
if(mysql_num_rows($ result)> 0){
//成功检索数据database
$ row = mysql_fetch_assoc($ result);
$ response [success] = 1;
$ response [message] = mysql_error();

echo json_encode($ response);
} else {
//检索行失败
$ response [success] = 0;
$ response [message] =登录失败;
// echoing JSON response
echo json_encode($ response);
}
} else {
//缺少必填字段
$ response [success] = 0;
$ response [message] =必填字段缺失;
// echoing JSON response
echo json_encode($ response);

}
?>

我的问题是我认为如何验证我的用户,而不是使用

  if(name =='user'& pw =='secret'){
Services.js

解决方案

pre> loginUser:function(name,pw){
var deferred = $ q.defer();
var promise = deferred.promise;

var link ='http://localhost/xampp/ioninc-php-login/login.php';

$ http.post(link,{username:name,password:pw})then(function(res){

// alert(hi,res .data);
if(res.data ==Suuccessful){
deferred.resolve('Welcome'+ name +'!');
} else {
deferred.reject('Wrong credentials。');
}
});


I'm new to Cordova and ionic. For the moment I need to authenticate a login using MySQL (XAMPP server).

This is my login.html

   <ion-view view-title="Login" name="login-view">
     <ion-content class="padding">
        <div class="app-icon"></div>      
        <div class="list">
            <label class="item item-input item-floating-label">
                 <span class="input-label">Username</span>
                 <input type="text" placeholder="Username" ng-model="data.username">
            </label>
            <label class="item item-input item-floating-label">
                 <span class="input-label">Password</span>
                 <input type="password" placeholder="Password" ng-model="data.password">
            </label>
        </div>
        <div class="list">
            <ion-md-input placeholder="Username" highlight-color="balanced" type="text"></ion-md-input>
            <ion-md-input placeholder="Password" highlight-color="energized" type="password"></ion-md-input>
        </div>
        <div class="padding">
            <button class="button button-block button-calm" ng-click="login()">Login</button>
        </div>

      </ion-content>
   </ion-view>

This is my Services.js

  .service('LoginService', function($q) {
     return {
         loginUser: function(name, pw) {
            var deferred = $q.defer();
            var promise = deferred.promise;

            if (name == 'user' && pw == 'secret') {
                deferred.resolve('Welcome ' + name + '!');
            } else {
                deferred.reject('Wrong credentials.');
            }
            promise.success = function(fn) {
                promise.then(fn);
                return promise;
            }
            promise.error = function(fn) {
                promise.then(null, fn);
                return promise;
            }
            return promise;
         }
     }
 })

This is my php file.

  <?php
  include_once './database_conn.php';
    // array for JSON response
  $response = array();
// check for required fields

  if(isset($_POST['username']) && isset($_POST['password'])){

    $username = $_POST['username'];
    $pass = $_POST['password'];


    // connecting to db
    $db = new DbConnection();
    // mysql checking the login
    $result = mysql_query("SELECT tu_user, tu_pass FROM twp_users WHERE tu_user = '$username' AND tu_pass = '$pass'");



    // check if row inserted or not
    if (mysql_num_rows($result) > 0) {
        // successfully retrieve data into database
        $row = mysql_fetch_assoc($result);
        $response["success"] = 1;
        $response["message"] = mysql_error();

        echo json_encode($response);
    } else {
        // failed to retrieve row
        $response["success"] = 0;
        $response["message"] = "Login failed";
        // echoing JSON response
        echo json_encode($response);
    }
} else {
    // required field is missing
    $response["success"] = 0;
    $response["message"] = "Required field(s) is missing";
    // echoing JSON response
    echo json_encode($response);

}   
   ?>

My Question is how am I suppose to authenticate my user instead of using

    if (name == 'user' && pw == 'secret') {

in Services.js

解决方案

loginUser: function(name, pw) {
            var deferred = $q.defer();
            var promise = deferred.promise;

            var link = 'http://localhost/xampp/ioninc-php-login/login.php';

            $http.post(link, { username: name, password: pw }).then(function (res) {

               // alert("hi ",res.data);
                if (res.data == "Suuccessful") {
                    deferred.resolve('Welcome ' + name + '!');
                } else {
                    deferred.reject('Wrong credentials.');
                }
            });

这篇关于Ionic用户认证使用PHP,MySQL(XAMPP)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆