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,038

HOME > PHP > PHP Forum > ผมทำล็อกอินแบบ ajax แล้วต้องการเช็ค useronline มีวิธีทำยังไงครับ



 

ผมทำล็อกอินแบบ ajax แล้วต้องการเช็ค useronline มีวิธีทำยังไงครับ

 



Topic : 050128

Guest




ผมทำล็อกอินแบบ ajax แล้วต้องการเช็ค useronline มีวิธีทำยังไงครับ เคยทำ useronline แต่แบบล็อกอินใช้ php แบบว่า ajax มันเช็คตลอดเวลาที่เข้าไปหน้าแรก
เลยเซ็ตออนไล์ 0 1 ไม่ได้อ่ะครับ โค้ดผมเอามาจากเว็บนี้ครับ

http://www.goragod.com/knowledge-%E0%B8%9A%E0%B8%97%E0%B8%97%E0%B8%B5%E0%B9%88%207%20%E0%B8%81%E0%B8%B2%E0%B8%A3%E0%B8%97%E0%B8%B3%20Login%20%E0%B8%94%E0%B9%89%E0%B8%A7%E0%B8%A2%20AJAX.html



Tag : PHP, MySQL







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2010-10-13 09:11:51 By : คนปลูกผัก View : 1270 Reply : 3
 

 

No. 1

Guest


พอดีผมไม่ได้เป็น สมาชิกเวปนั้นผมไม่เห็น code แต่ผมคิดว่า ถ้าเราเขียน code setค่า online 01 ต่อจาก login ไปเลยก็หน้าจะได้นะครับ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-10-13 09:43:01 By : - -
 


 

No. 2

Guest


โทษทีครับ

นี่ครับโค้ด

หน้าแรกครับ

Code (PHP)
<html>
<head>
<script>
function Inint_AJAX () {
  var xmlhttp = false;
  try {
    xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
  } catch(e) {
    try {
      xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    } catch(e) {
      xmlhttp = false;
    }
  }
  if(!xmlhttp && document.createElement){
    xmlhttp = new XMLHttpRequest();
  }
  return xmlhttp;
}

function check_user(username, passwd, action) {
  var cancle=false;
  if (action=='login') {
    if (username.length==0) {
      alert('กรุณาป้อน Username ก่อน');
      document.login_form.user.focus(); 
      cancle=true;
    } else if (passwd.length==0) {
      alert('กรุณาป้อน Password ก่อน') ;
      document.login_form.passwd.focus();
      cancle=true;
    }
  }
  if (cancle==false) {
    var req = Inint_AJAX();
    req.onreadystatechange = function () {
      if (req.readyState==4) {
        if (req.status==200) {
          var ret=req.responseText; //รับค่ากลับมา
          document.getElementById("login_table").innerHTML=ret;
          // เขียนคำสั่ง Refresh หน้าหลัก ที่นี่ หาก login สำเร็จ
          // หรือ อาจเขียนคำสั่งอื่นๆ หลังจาก login แล้ว ที่นี่ (javascript)
          // document.location.reload();
        }
      }
    };
    req.open("POST", "checkuser.php"); //สร้าง connection
    req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); //header
    req.send("user="+encodeURIComponent(username)+
      "&passwd="+encodeURIComponent(passwd)+
      "&action="+action); //ส่งค่า
  }
  return false;
}

//โหลดครั้งแรก
window.onload = function()
{
  check_user( '', '', '' );
};
</script>
</head>

<body>

<form name="login_form" id="login_form" method="post" onsubmit="return check_user(login_form.user.value, login_form.passwd.value, 'login')" action="?">
<table cellspacing="0" cellpadding="2">
<tr><td>
     <table cellspacing="0" cellpadding="1">
     <tr><td id="login_table">Loading...</td></tr>
     </table>
</td></tr>
</table>
</form>
</body>
</html>






หน้า cehckuser.php ครับ

Code (PHP)
<?
  //สำหรับเมื่อใช้ภาษาไทย
  header("content-type: application/x-javascript; charset=utf-8");
  
  //ค่าที่รับมา
  $user=$_POST[user];
  $passwd=$_POST[passwd];
  $action=$_POST[action];
  
  if (isset($action) & $action=='logout') { //ออกจากระบบชั่วคราว
    unset($user);
    $message="<font color=green size=1>ออกจากระบบเรียบร้อย</font><br /><font color=#666666 size=1>กรุณากลับมาเยือนเราอีกครั้ง</font>";
  } else { //ตรวจสอบชื่อกับฐานข้อมูล
    //ค่ากำหนดของ ฐานข้อมูล
    $host="localhost";
    $username="root";
    $password="";
    $dbname="mydb";
    $tablename="tbuser";
    
    //เรียกข้อมูล - Member -
    $db = mysql_connect($host,$username,$password) or die ("ไม่สามารถติดต่อกับฐานข้อมูลได้ในขณะนี้");
    $sql = "select * from $tablename where user = '$user' AND passwd = '$passwd'";
    $query = mysql_db_query($dbname,$sql) or die ("ไม่สามารถเรียกฐานข้อมูลสมาชิกได้ในขณะนี้");
    $fetch = mysql_fetch_array($query);
    $num = mysql_num_rows($query);
    mysql_close($db);
    
    if ($num != 0) { //ชื่อ และ รหัสผ่านถูกต้อง
      //login สำเร็จ
    } else if (empty($action)) { //ครั้งแรก ไม่ได้ใส่ action มา
      $message="<font color=#666666 size=1>ยินดีต้อนรับ สู่เว็บไซต์<br /><font color=green>g-O-r-a-g-o-d.com</font></font>";
      unset($user);
    } else {
      //ชื่อหรือ รหัสผ่านไม่ถูกต้อง
      $message="<font color=red size=1>ชื่อ หรือ รหัสผ่าน ไม่ถูกต้อง</font>";
      unset($user);
    }
  }
  echo "<table cellspacing=5 cellpadding=0 width=100%> ";
  if (isset($user)) { // แสดงข้อความต้อนรับ
    echo "<tr><td align=center><font color=#666666 size=1>ยินดีต้อนรับ คุณ <font color=green>$user</font> เข้าระบบ</font></td></tr> ";
    echo "<tr><td align=center><input type=button value=ออกจากระบบ class=red title=\"ออกจากระบบ ชั่วคราว\" onclick=\"check_user('', '', 'logout')\"></td></tr> ";
  } else { // แสดงฟอร์ม login
    if (isset($message)) echo "<tr><td align=center colspan=2>$message</td></tr> ";
    else echo "<tr><td align=center colspan=2><font size=1><font color=green>ผู้มาเยือน</font> กรุณาเข้าระบบ</font></font></td></tr> ";
    echo "<tr><td align=right><font color=#555555 size=1>user : </font></td><td><input size=15 type=text name=user maxlength=15></td></tr> ";
    echo "<tr><td align=right><font color=#555555 size=1>passwd : </font></td><td><input size=15 type=password name=passwd maxlength=15></td></tr> ";
    echo "<tr><td align=right></td><td><input type=\"submit\" name=\"submit\" value=\"เข้าระบบ\" class=\"red\" title=\"สมาชิก เข้าระบบ\" /></td></tr> ";
  }
  echo "</table> ";
?>

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-10-13 15:36:41 By : คนปลูกผัก
 

 

No. 3



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

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

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

Go to : ใช้ session อย่างไร ถ้าต้องการ login ได้แค่ เครื่องเดียวเท่านั้น ของ user นั้นๆ ป้องกัน login ซ้ำ

หลักการเดียวกันครับ ลองอ่านทำความเข้าใจให้ดีครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-10-13 15:56:33 By : webmaster
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ผมทำล็อกอินแบบ ajax แล้วต้องการเช็ค useronline มีวิธีทำยังไงครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 04
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2025 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่