Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,027

HOME > PHP > PHP Forum > ถามเรื่อง ajax login หน่อยครับ ติดอยู่นิดเดียว ตาม code ข้างบน เช็คอะไไรได้แล้วครับ เหลือ redirect อย่างเดียว ไม่รู้ว่าผิดตรงไหน



 

ถามเรื่อง ajax login หน่อยครับ ติดอยู่นิดเดียว ตาม code ข้างบน เช็คอะไไรได้แล้วครับ เหลือ redirect อย่างเดียว ไม่รู้ว่าผิดตรงไหน

 



Topic : 033643



โพสกระทู้ ( 207 )
บทความ ( 0 )



สถานะออฟไลน์




ผมลองทำตาม
https://www.thaicreate.com/tutorial/ajax-login.html

อธิบายก่อน ผมทำหน้าให้ login เข้าสู่ระบบ
โดย พอใส่ username กับ password แล้ว ให้เลือกด้วยว่า จะ login ไปที่ไหน
ในที่นี้ก็คือ List/menu ที่ชื่อ LoginTo ซึ่งจะมีให้เลือก 2 แบบ

ถ้าเลือก Operations Calendar (O) เวลา login แล้ว จะไปที่ calendar/index.php
ถ้าเลือก Company Calendar (C) เวลา login แล้ว จะไปที่ Ccalendar/index.php



ส่วน form ของผมเป็นแบบนี้

log

//code หน้า form

Code
<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 = 'fnlogin.php';
var pmeters = "tUsername=" + encodeURI( document.getElementById("txtUsername").value) +
"&tPassword=" + encodeURI( document.getElementById("txtPassword").value )
+ "&lLoginto=" + encodeURI( document.getElementById("LoginTo").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("mySpan").innerHTML = "Now is Loading...";
}

if(HttPRequest.readyState == 4) // Return Request
{

// ตรงนี้ ผมจะรับค่ามายังไงเพื่อที่จะ
ถ้า $redirect = O ให้ไปที่ calendar/index.php
ถ้า $redirect = C ให้ไปที่ Ccalendar/index.php

if(HttPRequest.responseText == 'Y')
{
//ผมลองเอง
if(HttPRequest.responseText == 'O')
{

window.location = 'calendar/index.php';

}else if(HttPRequest.responseText == 'C'){

window.location = 'Ccalendar/index.php';
}

}
else
{
document.getElementById("mySpan").innerHTML = HttPRequest.responseText;
}

}

}

}
</script>

<input name="txtUsername" type="text" class="blue" id="txtUsername" size="20" maxlength="20" style="width:140px;">
<input name="txtPassword" type="password" class="blue" id="txtPassword" size="20" maxlength="20" style="width:140px;">

<select name="LoginTo" id="LoginTo" style="width:145px;">
<option value="0">--- Select ---</option>
<option value="1">Operations Calendar</option>
<option value="2">Company Calendar</option>
</select>


Code (PHP)
session_start();
 
    $strUsername = $_POST["tUsername"];
    $strPassword = $_POST["tPassword"];
    $strloginto = $_POST["lLoginto"];
     
    //*** Check Username ***//
    if(trim($strUsername) == "")
    {
        echo "<font color=red>** Please input <b>Username</b>. </font>";
        exit();
    }
     
    //*** Check Password ***//
    if(trim($strPassword) == "")
    {
        echo "<font color=red>** Please input <b>Password</b>.</font>";
        exit();
    }
	
	if($strloginto == "0")
	{
	
	    echo "<font color=red>** Please Select <b>Login To</b>.</font>";
        exit();
	
	}
     
    //เลือก db
	
	if($strloginto == "1")
	{
	
	   	
       $host = "localhost";
       $user = "root";
       $pass = "12345";
       $dbname = "abc_calendar";
	   
       $redirect = "O";
	

    }else if($strloginto == "2"){
	
	   	
       $host = "localhost";
       $user = "root";
       $pass = "12345";
       $dbname = "abc_cpncalendar";
	   
       $redirect = "C";
	  
  
      
	
	}


    $conn = mysql_connect($host,$user,$pass);

    if(!$conn)
    {
 
      echo "Can not connect database";
      exit();
 
     }
 
    mysql_select_db($dbname);
 
 
    //*** Check Username & Password ***//
	
	 
     $sql = "SELECT * FROM users WHERE user_login='$strUsername' AND user_password='$strPassword' AND user_is_approved='1' ";	
	
    $result = mysql_query($sql);
    $rs = mysql_fetch_array($result);
    if($rs)
    {
        echo "Y";

       //ผมจะส่งค่า ใน O หรือ C ไปให้หน้า form ยังไง ครับ

       echo $redirect;

      						 
        $_SESSION["ss_username"] = $strUsername;
	$_SESSION['ss_user_id'] = $rs[user_id];		
	$_SESSION['ss_email'] = $rs[user_email];
        session_write_close();
		
    }
    else
    {
        echo "<font color=red>** <b>Username</b> or <b>Password</b> Invalid.</font>";
    }




ตาม code ข้างบน เช็คอะไไรได้แล้วครับ เหลือ redirect อย่างเดียว ไม่รู้ว่าผิดตรงไหน
ผมลองทำแล้วได้ตามรูปนี้ครับ

log2



Tag : - - - -







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2009-10-29 11:14:10 By : ICrazyMan View : 1305 Reply : 4
 

 

No. 1



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook

คุณแน่ใจหรือเปล่าครับว่า HttPRequest.responseText มันส่ง Y หรือ O มาอย่างเดียวครับ






Date : 2009-10-29 11:50:56 By : webmaster
 


 

No. 2



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook

ลอง alert(HttPRequest.responseText) ดูครับ
Date : 2009-10-29 11:52:56 By : webmaster
 

 

No. 3



โพสกระทู้ ( 207 )
บทความ ( 0 )



สถานะออฟไลน์


ไม่แน่ใจครับ เท่าที่เข้าใจนะครับ ส่งมา 2 ตัว คือ Y กับ O หรือ C
เดี๋ยวผมลองเช็คดูอีกทีครับ
Date : 2009-10-29 11:55:21 By : ICrazyMan
 


 

No. 4



โพสกระทู้ ( 207 )
บทความ ( 0 )



สถานะออฟไลน์


ได้แล้วครับ ขอบคุณมากนะครับ พี่วินที่แนะนำ
Date : 2009-10-29 12:08:20 By : ICrazyMan
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ถามเรื่อง ajax login หน่อยครับ ติดอยู่นิดเดียว ตาม code ข้างบน เช็คอะไไรได้แล้วครับ เหลือ redirect อย่างเดียว ไม่รู้ว่าผิดตรงไหน
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 00
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่