我正在尝试为我的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){....
部分对我的应用程序采取行动
答案 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 ...
卢西恩