Ionic用户认证使用PHP,MySQL(XAMPP) [英] Ionic user authentication using PHP, MySQL (XAMPP)
本文介绍了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屋!
查看全文