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

HOME > PHP > PHP Forum > รบกวนชี้แนะเรื่อง ระบบ login แบบกำหนดเวลาการคงอยู่ในระบบ ครับ รายละเอียดด้านใน



 

รบกวนชี้แนะเรื่อง ระบบ login แบบกำหนดเวลาการคงอยู่ในระบบ ครับ รายละเอียดด้านใน

 



Topic : 119470



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



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




คือตอนนี้ทำระบบ login ไว้ แนวๆนี้ครับ คือมีการห้าม login ซ้ำกัน https://www.thaicreate.com/community/php-mysql-login-duplicate-session.html

แต่ต้องการให้มีการตั้งเวลาที่ login ทิ้งไว้อ่ะครับ ให้พอถึงเวลาที่กำหนดแล้วจะ logout ออก

จะคล้ายๆแบบนี้หรือเปล่าครับ http://www.ninenik.com/content.php?arti_id=184

แล้วผมต้องแปลงยังไงหรอครับ

code ที่เขียนไว้
checklogin.php
<?php
	//*** เชื่อมต่อ DB ***//
	require dirname('connect.php') . '/connections/connect.php';
?>
<?php
	session_start();
	
		$strSQL = "SELECT * FROM employee WHERE emp_user = '".mysqli_real_escape_string($con,$_POST['emp_user'])."' 
		and emp_pass = '".mysqli_real_escape_string($con,$_POST['emp_pass'])."'";
		$objQuery = mysqli_query($con,$strSQL);
		$objResult = mysqli_fetch_array($objQuery,MYSQLI_ASSOC);
		if(!$objResult){
		//*** เช็ค username,password ***//
			echo "<script>alert('Username and Password Incorrect!');
			window.location='login.php';</script>";
		}else{
		if($objResult["login_status"] == "1")
		{
			echo "".mysqli_real_escape_string($con,$_POST['emp_user'])." Exists login!";
			exit();
		}
		else
		{
			//*** Update Status Login
			$sql = "UPDATE employee SET login_status = '1' , last_update = NOW() WHERE emp_user = '".$objResult["emp_user"]."' ";
			$query = mysqli_query($con,$sql);

			//*** Session
			$_SESSION["emp_user"] = $objResult["emp_user"];
			$_SESSION["emp_status"] = $objResult["emp_status"];
			session_write_close();

			//*** Go to Main page
			header("location:index.php");
		}
			
	}
	mysqli_close($con);
?>




Tag : PHP, MySQL, HTML/CSS, JavaScript









ประวัติการแก้ไข
2015-10-20 01:57:36
2015-10-20 09:11:52
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2015-10-20 01:09:05 By : zadstoms View : 2269 Reply : 9
 

 

No. 1



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



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


สอบถามเพิ่มเติมครับ พึ่งไล่เจอ ถ้าผม require dirname('connect.php') . '/connections/connect.php'; มานี่ code ถูกต้องไหมครับ เพราะเห็นว่าในตัวอย่างมี
ini_set('display_errors', 1);
error_reporting(~0);

อยู่ด้วย
connect.php
<?php
define('DB_HOST','......');
define('DB_NAME','.....');
define('DB_USER','.......');
define('DB_PASSWORD','......');
$con = mysqli_connect(DB_HOST,DB_USER,DB_PASSWORD) or die("Failed to connect to MySQL: " . mysqli_error());
$db = mysqli_select_db($con,DB_NAME);
mysqli_set_charset($con, "utf8");
//*** Reject user not online
	$intRejectTime = 20; // Minute
	$sql = "UPDATE employee SET login_status = '0', last_update = '0000-00-00 00:00:00'  WHERE 1 AND DATE_ADD(last_update, INTERVAL $intRejectTime MINUTE) <= NOW() ";
	$query = mysqli_query($con,$sql);
?>









ประวัติการแก้ไข
2015-10-20 01:50:01
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-10-20 01:49:37 By : zadstoms
 


 

No. 2



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



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

จริงๆ ก็ไม่อยากแนะนำให้ใช้
เพราะมันจำเป็นต้องเก็บ ค่าการ login อะไรต่างๆ ไว้เมื่อ session หายไป
ถ้าเล่นที่เครื่องสาธารณ อาจจะไม่ปลอดภัย

ส่วนวิธีการก็ใช้ cookie ช่วยครับ
Code (PHP)
<?php
session_start();
$in_ss = isset($_SESSION['Login']);
$in_ck=isset($_COOKIE['Login']);
if(!($in_ss || $in_ck)) header('location: login.php');
if(!$in_ss){
   if( $_COOKIE['Login']['auto'] ){
      //เอาข้อมูล cookie มา login กรณีกำหนดให้ auto login   ( keep me login );
   }else  header('location: Login.php');
}


โดยส่วนของการ login.php
Code (PHP)
<?php
if( isset($_POST['login']){
    if( $rs=customer_get_from_db($_POST['Email'], $_POST['psw'])){
        $_SESSION['Login']=$rs;
        if(isset($_POST['auto'])){
           $rs['auto']=1
           setcookie("Login", $rs, time()+(3*3600); // เก็บcookie 3 ชม.
        }
    }
}
?>
<form method="post'>
Email <input name='Email' type="text"><br>
Password <input name='psw' type="passowrd"><br>
keep me login <input type='checkbox' name='auto'>
<input type="submit" name="login" >Login</button>
</form>


ส่วนฟังก์ชั่น customer_get_from_db() ก็โมฯ เอาเองครับ คงไม่ยาก
โดยส่ง result ที่จำเป็น ออกมาให้กับ cookie กับ session

ปล. อาจมีหลายขั้นตอนที่หลงลืมไป โมฯสด ไม่ได้เทสต์


ประวัติการแก้ไข
2015-10-20 08:38:55
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-10-20 08:36:12 By : NewbiePHP
 

 

No. 3



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



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


ตอบความคิดเห็นที่ : 2 เขียนโดย : NewbiePHP เมื่อวันที่ 2015-10-20 08:36:12
รายละเอียดของการตอบ ::
ขอบคุณครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-10-20 08:46:38 By : zadstoms
 


 

No. 4



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



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


ตอนนี้ ระบบมัน update สถานะเป็น 0 ตามเวลาที่กำหนดจริง แต่ใน web brower มันยังคง login ค้างไว้อยู่ครับ คือต้องการให้มันเคลียร์การ login ใน web brower ทิ้งไปด้วยอ่ะครับ รบกวนชี้แนะครับ

ขอบคุณครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-10-20 09:14:00 By : zadstoms
 


 

No. 5



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



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

http://stackoverflow.com/questions/3068744/php-session-timeout

ลองศึกษาดูครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-10-20 10:01:04 By : NewbiePHP
 


 

No. 6



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



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


ตอบความคิดเห็นที่ : 5 เขียนโดย : NewbiePHP เมื่อวันที่ 2015-10-20 10:01:04
รายละเอียดของการตอบ ::
ครับผม

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-10-20 10:17:30 By : zadstoms
 


 

No. 7



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



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

ส่วน html header ก็เพิ่ม tag meta มันจะ refresh ไปหน้า login อัตโนมัต เมื่อถึงเวลา
<meta http-equiv="refresh" content="10200; ,URL=http://www.yourdomain/login.php">
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-10-20 11:19:56 By : NewbiePHP
 


 

No. 8



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



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


ตอบความคิดเห็นที่ : 2 เขียนโดย : NewbiePHP เมื่อวันที่ 2015-10-20 08:36:12
รายละเอียดของการตอบ ::
auto login ที่ว่านี่คือ เหมือนให้จดจำการ login ตลอดหรอครับ
แล้วถ้าไม่ได้ทำล่ะครับ แค่ต้องการให้ เวลาหมดระยะเวลาการ login ก็ประมาณว่าปิดเครื่องไป เวลาเปิดเครื่องเข้าเว็บมาใหม่ก็ต้อง login ใหม่อะไรประมาณนี้อ่ะครับ คือตอนนี้อย่างที่บอกมันหมดเวลาแล้วแต่ยังเหมือน auto login อยู่เลย แล้วก็สามารถ login ต่อจาก id นี้ที่ brower อื่นๆได้ เพราะว่า login_status = 0



ประวัติการแก้ไข
2015-10-21 09:05:03
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-10-21 09:03:40 By : zadstoms
 


 

No. 9



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



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

จาก คห 7 ในไฟล์ login.php
ให้เคลียร์ session และ status ค่าต่างๆก่อน
ค่อยเข้าสู่ระบบ login
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-10-21 10:16:55 By : NewbiePHP
 

   

ค้นหาข้อมูล


   
 

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