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 > php ปัญหาในการเช็ค login ซ้ำ เวลา logout ออก ไม่ได้กดปุ่ม logout



 

php ปัญหาในการเช็ค login ซ้ำ เวลา logout ออก ไม่ได้กดปุ่ม logout

 



Topic : 082724



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



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




สวัสดีครับ คือรบกวนสอบถามเกี่ยวกับ Login ซ้ำหน่อยครับ
คือ ณ ตอนนี้ถ้า user Login เข้ามา ก็จะเพิ่มข้อมูลเข้าตาราง check_user
(ก็คือถ้ามีใครมา Login ซ้ำอีก ก็จะ Login ไม่ได้)
และถ้า user Logout ออกก็จะไป ลบข้อมูลที่ตาราง check_user
(เผื่อที่ให้สามารถกลับเข้ามา Login ได้อีก)

***ถ้า user เวลาเข้าก็ Login เวลาออกก็ Logout มันจะไม่มีปัญหาครับ
แต่ ณ ทีนี้ ถ้า user Login เข้ามา แต่เวลาออกเข้าไม่ได้ออก Logout
แต่ปิด Browser ไปเลย หรือบางทีไฟดับอะไรประมาณนี้ครับ
มันก็จะเป็นปัญหา เวลากลับเข้ามา Login ใหม่ก็จะ Login ไม่ได้เพราะข้อมูลมันยังอยู่ใน
ตาราง check_user
ไม่ทราบว่าพอจะมีวิธีแก้ไขหรือเปล่าครับ ถ้ามีตัวอย่างด้วยจะขอขอบคุณมากเลยครับผม
ต้องรบกวนด้วยนะครับ ขอบคุณครับ

ตัวอย่าง

โค็ดหน้า check_logi

Code (PHP)
<?php
session_start();
include_once("../db/db.php");

if(($_POST['check']== 1)AND($_POST[user]!='')AND($_POST[pass]!='')){ //check ว่าค่าที่รับมาจาก login ทั้ง user และ pass ห้ามีค่าว่าง และค่า hidden ต้องเท่ากับ 1
 
  $us = $_POST['user'];
  $cp = $_POST['pass'];
          $sqllg = "SELECT * FROM $tbl_user WHERE user_user = '$us' AND user_pass = '$cp'";
           $sqllg_query = mysql_query($sqllg);
           $sqllg_fa =mysql_fetch_array($sqllg_query);
           
          /*ดึงข้อมูลจากดาต้าเบส ตาราง check_user และมีเงื่อนไขว่าถ้าค่าที่กรอกมาในหน้า login ค่า user เท่ากับค่า user ใน check_user*/
          $sql = "select * from $tbl_check_user WHERE ch_user = '$us' ";
          $result = mysql_query($sql);
          $row = mysql_fetch_array($result);
 
    if($cp != $sqllg_fa[user_pass] OR $us != $sqllg_fa[user_user]){                                                 
                echo "<script type=\"text/javascript\">
                                alert(\"login ไม่สำเร็จ ชื่อหรือรหัสผ่านไม่ถูกต้อง\");
                                history.back();
                            </script>";
                            }
    if($us == $row['ch_user']){ //เช็คว่า user นี้มีการ login เข้ามาแล้วหรือยัง
                echo "<script type=\"text/javascript\">
                                alert(\"User นี้ มีผู้อื่นใช้งานอยู่\");
                                history.back();
                            </script>";
    }
    else{ //เมื่อ login ผ่าน จะเพิ่มข้อมลเช้าไปในตาราง check_user
        $_SESSION['u_id'] = $sqllg_fa[user_user];
        $name_ch = $_SESSION['u_id'];
        $sqlrow="INSERT INTO $tbl_check_user(ch_user, ch_time)VALUES('$name_ch',  Now() );";
        $query2=mysql_query($sqlrow);
        echo "<script type=\"text/javascript\">
                        alert(\"login สำเร็จ\");
                        window.location='index.php'
                    </script>";
         }
    }    
else{
    echo "<script type=\"text/javascript\">
                                alert(\"login ไม่สำเร็จ ห้ามมีค่าว่าง กรุณากรอกข้อมูลให้ครบ\");
                                history.back();
                            </script>";}        
?>




โค็ดหน้า session ซึ่ง include ไว้ทุกหน้า

Code (PHP)
<?php
session_start();

if($_SESSION['u_id] == ""){ //ถ้ามาหน้านี้แบบไม่ได้ login ให้เด้งออกไปหน้า login
    header("Location:login.php");
}

include_once("../db/db.php");
$name_user = $_SESSION['u_id'];

if($_GET['logout'] == "logout"){ //ถ้า logout ออก ก็จะลบข้อมูลค่าของ user ผู้นั้น ออกจากตาราง check user เพื่อที่จะให้กลับเข้ามา login ได้ใหม่
    $strSQL = "DELETE FROM $tbl_check_user ";
    $strSQL .="WHERE ch_user = '$name_user' ";
    $objQuery = mysql_query($strSQL);       
   
    session_destroy(); 
    echo "<script type=\"text/javascript\">
                alert(\"logout เรียบร้อย\");
                window.location='login.php'
            </script>";   
}

?>



Tag : PHP, MySQL







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2012-08-22 12:00:39 By : auncore View : 5233 Reply : 3
 

 

No. 1



โพสกระทู้ ( 2,249 )
บทความ ( 5 )

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

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

ถ้าจะสั่งให้มันเคลียร์ User อย่างที่คุณต้องการตอนปิดบราว์เซอร์ คงไม่มีคำตอบให้ครับ แต่จะแนะนำให้ทำฟอร์ม เคลียร์ user กรณีเข้าระบบไม่ได้ คือให้ user เข้าไปกรอก username และ password เพื่อเคลียร์ค่าในตาราง check_user เอาครับ (กรณี login เข้าระบบไม่ได้)






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-08-22 12:07:07 By : Manussawin
 


 

No. 2



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

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

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

ใช้หลักการเดียวกับ User online ครับ ผมเคยเขียน concept ไว้ที่นี่ครับ

Go to : ใช้ session อย่างไร ถ้าต้องการ login ได้แค่ เครื่องเดียวเท่านั้น ของ user นั้นๆ ป้องกัน login ซ้ำ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-08-22 22:53:16 By : mr.win
 

 

No. 3



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

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

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

มีเวลาจัดซะหน่อย



PHP ทำระบบ Login และป้องกันการ ล็อกอิน ซ้ำซ้อนใน User เดียวกัน (MySQLi , Duplicate Session)

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-10-07 13:01:06 By : mr.win
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : php ปัญหาในการเช็ค login ซ้ำ เวลา logout ออก ไม่ได้กดปุ่ม logout
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 05
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 อัตราราคา คลิกที่นี่