PhoneGap登录表单

时间:2012-05-31 08:50:57

标签: php jquery ajax cordova login

我正在尝试为我的PhoneGap应用制作一个简单的登录表单。由于PhoneGap无法在客户端使用任何PHP,因此我必须使用AJAX将数据发送到服务器。我发现了一个简单的PHP登录教程,但我真的不知道如何使用ajax。

我知道如何将值发布到PHP文件,但如果用户名和密码正确,如何将用户重定向到页面,如果信息无效,如何拒绝他们进入网站?

这是我现在的代码:

JS

jQuery.ajax({ 
    type: "POST", 
    url: serviceURL + "login.php", 
    data: 'username='+username+'&password='+password,  
    cache: false,
        }

的login.php

<?php
include 'config.php';

// Connect to server and select databse.
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");

// username and password sent from form
$myusername=$_POST['username'];
$mypassword=$_POST['password'];

// To protect MySQL injection (more detail about MySQL injection)
$myusername = stripslashes($myusername);
$mypassword = stripslashes($mypassword);
$myusername = mysql_real_escape_string($myusername);
$mypassword = mysql_real_escape_string($mypassword);

$sql="SELECT * FROM users WHERE username='$myusername' and password='$mypassword'";
$result=mysql_query($sql);

// Mysql_num_row is counting table row
$count=mysql_num_rows($result);
// If result matched $myusername and $mypassword, table row must be 1 row

if($count==1){
//  redirect 
header("location:settings.html");
}
else {
echo "Wrong Username or Password";
}
?>

那么如何让if($count==1){....部分对我的应用程序采取行动

1 个答案:

答案 0 :(得分:1)

首先,您必须设置要检索的预期dataType(例如,设置为html)。 之后,您必须在检测到数据后对检索到的数据指定一个函数...

这样的事情:

jQuery.ajax({ 
    type: "POST", 
    success: function(data) { // After retrieving the data from the php-file
    alert(data);}
    url: serviceURL + "login.php", 
    data: 'username='+username+'&password='+password,  
    cache: false,
    dataType:'html' // Expected return data type...
}

数据变量包含来自php文件的返回字符串,所以你必须用php脚本回显一些东西,比如“登录”,然后你必须过滤/检查这个字符串的JavaScript ...

卢西恩