我使用折叠代码来保存机器上的imag文件,如果用户是真实的,则保存图像,否则应该显示注册页面。但是在保存图像页面后是刷新的或者是身份验证失败的,不能重定向注册。有什么问题吗?
js ajax::
$.ajax({
type: "POST",
url: "userLoginAction.php",
data: {image: dataURL,uname:uname,pwd:pwd}
}).done(function( respond ) {
alert("Downloading Completed"+respond);
console.log('back on download js**');
});userLoginAction.php ::
<?php
include("sessionHandler.php");
include("../connect.php");
$con = connectDb();
$db = SelectDB($con);
$username = $_REQUEST['uname'];
$password = $_REQUEST['pwd'];
$img= $_POST['image'];
// To protect MySQL injection
$username = stripslashes($username);
$password = stripslashes($password);
$username = mysql_real_escape_string($username);
$password = mysql_real_escape_string($password);
$query = "SELECT * FROM user WHERE user_email ='".$username."' AND user_password='".$password."'";
$result = mysql_query($query);
$count=mysql_num_rows($result);
if($count==1){
// Register $myusername, $mypassword and redirect to file
createLoginSession($username,$password);
include 'download.php';
}
else {
echo "Wrong Username or Password".$img;
header("location:signup.php");
}
?>发布于 2013-10-09 08:37:35
因为服务器端的重定向操作不能与ajax.You一起工作,所以在ajax成功的过程中必须重定向,比如this..Try
Ajax
$.ajax({
type: "POST",
url: "userLoginAction.php",
data: {image: dataURL,uname:uname,pwd:pwd}
}).done(function( respond ) {
if(respond == 'download'){
alert("Downloading Completed"+respond);
console.log('back on download js**');
}
else if(respond == 'login'){
window.location = "url/to/loginpage";
}
});PHP
include("sessionHandler.php");
include("../connect.php");
$con = connectDb();
$db = SelectDB($con);
$username = $_REQUEST['uname'];
$password = $_REQUEST['pwd'];
$img= $_POST['image'];
// To protect MySQL injection
$username = stripslashes($username);
$password = stripslashes($password);
$username = mysql_real_escape_string($username);
$password = mysql_real_escape_string($password);
$query = "SELECT * FROM user WHERE user_email ='".$username."' AND user_password='".$password."'";
$result = mysql_query($query);
$count=mysql_num_rows($result);
if($count==1){
// Register $myusername, $mypassword and redirect to file "login_success.php"
createLoginSession($username,$password);
include 'download.php';
echo 'download';
}
else {
echo "login";
}发布于 2013-10-09 08:47:56
尝尝这个,
AJAX
$.ajax({
type: "POST",
url: "userLoginAction.php",
data: {
image: dataURL,
uname:uname,
pwd:pwd
},
success:function(data) {
if (data == '**DOWNLOAD**') {
alert('Download Completed');
} else if (data == '**LOGIN**') {
window.location.href = 'signup.php';
}
}
});include("sessionHandler.php");
include("../connect.php");
$con = connectDb();
$db = SelectDB($con);
$username = $_REQUEST['uname'];
$password = $_REQUEST['pwd'];
$img= $_POST['image'];
// To protect MySQL injection
$username = stripslashes($username);
$password = stripslashes($password);
$username = mysql_real_escape_string($username);
$password = mysql_real_escape_string($password);
$query = "SELECT * FROM user WHERE user_email ='".$username."' AND user_password='".$password."'";
$result = mysql_query($query);
$count=mysql_num_rows($result);
if($count==1){
// Register $myusername, $mypassword and redirect to file "login_success.php"
createLoginSession($username,$password);
include 'download.php';
echo '**DOWNLOAD**';
}
else {
echo "**LOGIN**";
}发布于 2013-10-09 08:38:25
若要防止页面在Ajax调用后刷新,请在done函数中返回false。
https://stackoverflow.com/questions/19266832
复制相似问题