1
我做了一個基本的HTML/PHP登錄頁面和jQuery手機登錄頁面。我想讓它們都提交到同一個名爲checklogin.php的文件,如果登錄成功,它們打算將它們重定向到它們各自的主頁面。它成功地用於基本頁面,但不是jQuery Mobile頁面。試圖通過移動頁面提交,我會進入一個頁面,上面有「未定義」的短語。jQuery Mobile登錄腳本
因此,我嘗試編寫一些PHP和jQuery腳本,以便如果檢測到移動帖子,而不是立即進入主頁面,則會返回成功,並且登錄頁面本身會重定向用戶轉到主頁面。雖然點擊提交會產生一個成功的「表單已發送」提醒用於測試目的,但正確的登錄不會改變頁面。我應該添加什麼?
這是我的PHP登錄檢查器。
<?php
$host=// Host name
$username=// Mysql username
$password=// Mysql password
$db_name=// Database name
$tbl_name=// Table name
// 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['myusername'];
$mypassword=$_POST['mypassword'];
// To prevent MySQL injection (a form of internet hacking)
$myusername = stripslashes($myusername);
$mypassword = stripslashes($mypassword);
$myusername = mysql_real_escape_string($myusername);
$mypassword = mysql_real_escape_string($mypassword);
$sql="SELECT * FROM $tbl_name 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)
{
// Register $myusername, $mypassword and redirect to the main page"
session_register("myusername");
session_register("mypassword");
//Send them back to the page they were at/
if(!$_POST['mobile'])
{
header("location:main.php");
}
else
{
header('HTTP/1.0 401 Unauthorized', true, 401);
}
}
else
{
echo "Wrong Username or Password";
}
?>
這是我的腳本返回登錄頁面重定向用戶。
<script language="javascript">
// Global declarations - assignments made in $(document).ready() below
var hdrMainvar = null;
var contentMainVar = null;
var ftrMainVar = null;
var contentTransitionVar = null;
var stateLabelVar = null;
var whatLabelVar = null;
var stateVar = null;
var whatVar = null;
var form1var = null;
var confirmationVar = null;
var contentDialogVar = null;
var hdrConfirmationVar = null;
var contentConfirmationVar = null;
var ftrConfirmationVar = null;
var inputMapVar = null;
// Constants
var MISSING = "missing";
var EMPTY = "";
var NO_STATE = "ZZ";
function getFormValues() {
data = {};
data['username'] = $("#username").val();
data['password'] = $("#password").val();
return data;
}
function transmitPost() {
$.ajax({
url: 'checklogin.php',
type:"post",
data: getFormValues(),
statusCode: {
401: function() {
alert("Wrong Password");
},
200: function() {
window.location = "m/main.php";
alert('Submitted');}
}
error: function(value) {
alert("error");
}
});
}
$('#submitButton').bind('click', function() {
alert('User clicked on "foo."');
});
</script>
爲什麼'header('HTTP/1.0 401 Unauthorized',true,401);'? – Dion 2012-04-04 23:58:50
請不要用'Var'將每個變量名加後綴。 – 2012-04-04 23:59:33