|
|
|
สอบถาม ถ้าต้องการให้ ajax ทำงาน window.location ในไฟล์ที่ขอไปต้องทำอย่างไรครับ |
|
|
|
|
|
|
|
ปัญหาก็คือถ้าส่งค่าไปแล้วตรงกับเงื่อนไข else if($_POST['forever']=='on') เป็นต้นไปแล้วให้ window.location มันไม่ทำงาน ต้องทำงัยครับ
Code (PHP)
<script language="javascript">
var HttPRequest = false;
function doCallAjax() {
HttPRequest = false;
if (window.XMLHttpRequest) { // Mozilla, Safari,...
HttPRequest = new XMLHttpRequest();
if (HttPRequest.overrideMimeType) {
HttPRequest.overrideMimeType('text/html');
}
} else if (window.ActiveXObject) { // IE
try {
HttPRequest = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
HttPRequest = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}
if (!HttPRequest) {
alert('Cannot create XMLHTTP instance');
return false;
}
var url = 'system/check_login.php';
var pmeters = "user=" + encodeURI( document.getElementById("user").value)+ "&pass=" + encodeURI(document.getElementById(encodeURI("pass")).value)+ "&forever=" + encodeURI(document.getElementById(encodeURI("forever")).value);
HttPRequest.open('POST',url,true);
HttPRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
HttPRequest.setRequestHeader("Content-length", pmeters.length);
HttPRequest.setRequestHeader("Connection", "close");
HttPRequest.send(pmeters);
HttPRequest.onreadystatechange = function()
{
if(HttPRequest.readyState == 3) // Loading Request
{
document.getElementById("display").innerHTML = '<img src="images/loading.gif" width="16" height="16">';
}
if(HttPRequest.readyState == 4) // Return Request
{
if(HttPRequest.responseText == 'Y')
{
window.location = 'index.php';
}
else
{
document.getElementById("display").innerHTML = HttPRequest.responseText;
}
}
}
}
Code (PHP)
ob_start();
session_start();
include "connection_db.php";
$strSQL = "SELECT * FROM customer WHERE user = '".trim($_POST['user'])."' and pass = '".trim($_POST['pass'])."'";
$objQuery = mysql_query($strSQL);
$objResult = mysql_fetch_array($objQuery);
if(!$objResult)
{
echo "Username หรือ Password ไม่ถูกต้อง";
}
else if($_POST['forever']=='on')
{
setcookie("id",$objResult["number"], time()+3600*24*365,"/");
setcookie("status", $objResult["status"], time()+3600*24*365,"/");
if($objResult["status"] == "ADMIN")
{
echo "<script>window.location.href= '../home.php'</script>";
}
else
{
echo "<script> window.location.href = '../homevdo.php'</script>";
}
}
else {
$_SESSION['id'] = $objResult["number"];
$_SESSION['status'] = $objResult["status"];
session_write_close();
if($objResult["status"] == "ADMIN")
{
echo "<script> window.location.href = '../home.php'</script>";
}
else
{
echo "<script> window.location.href = '../homevdo.php'</script>";
}
}
mysql_close();
ob_end_flush();
Tag : PHP, Ajax
|
ประวัติการแก้ไข 2012-10-04 05:30:38
|
|
|
|
|
Date :
2012-10-04 05:29:18 |
By :
solsoa |
View :
1780 |
Reply :
4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (JavaScript)
if(HttPRequest.readyState == 4) // Return Request
{
if(HttPRequest.responseText == 'Y')
{
window.location = 'index.php';
}
else
{
document.getElementById("display").innerHTML = HttPRequest.responseText;
}
}
จะต้องแทรกในตรงนี้ครับ คือจะต้องให้ Server ส่งค่าให้กับ Ajax ก่อนครับ จากนั้นค่อยเอาค่าไป if และ redirect ไปในตำแหน่งที่ต้องการครับ
|
|
|
|
|
Date :
2012-10-04 06:02:17 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
อ่อเข้าใจแล้วครับ ตอนแรกนึกว่ามันสามารถทำงานได้เลย อิอิ
ขอบคุณมากครับพี่วิน ... .
|
|
|
|
|
Date :
2012-10-04 06:14:01 |
By :
solsoa |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลองดู jQuery กับ Ajax ก้ได้ครับ ง่ายและสะดวกดีครับ
|
|
|
|
|
Date :
2012-10-04 06:26:59 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณครับ
|
|
|
|
|
Date :
2012-10-04 06:39:59 |
By :
solsoa |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 03
|