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

HOME > PHP > PHP Forum > สอบถามปัญหาเกี่ยวกับ เวลาเข้า-ออกเว็บไซต์ครับติดตรงเวลาออกอย่างเดียว



 

สอบถามปัญหาเกี่ยวกับ เวลาเข้า-ออกเว็บไซต์ครับติดตรงเวลาออกอย่างเดียว

 



Topic : 104123



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



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



คือผมสร้างตารางเก็บ เวลาเข้า-ออก เมื่อมีการ login เข้าเว็บโดยจะเก็บเวลาไปเลื่อยแม้ว่า user ที่เข้ามาจะซ้ำกัน
ที่ทำได้ตอนนี้สามารถเพิ่มเวลาเข้าได้ตลอด

// ติดปัญหาตรงเวลาออกครับ เวลาออกมันไม่รู้ว่าจะ update ค่าตรง report_id ไหน
ตารางนี้ SESSION user_id มันจะซ้ำกันเมื่อ เข้า-ออกไปเลื่อยๆ มันเลยไม่รู้ว่า update ตรงไหน ตามรูปอะครับ

ผมไม่เข้าใจ ทำแบบลักไก่พอได้อยู่ แนะนำผมที่ครับ ไม่เข้าใจเลยพวก where , join , and เนี่ย

ตาราง person_user

ตาราง report_login


เวลาเข้า
Code
if($xx["status"] == "ADMIN")
{
$ip = $REMOTE_ADDR;
$datetime = date('d-m-Y H:i:s');
$objConnect = mysql_connect("localhost","root","root") or die("Error Connect to Database");
$objDB = mysql_select_db("electical");
$strSQL = "insert into report_login
(report_timein,report_timeout,user_id)
values ('$datetime','-','".$_SESSION["user_id"]."')";
$objQuery = mysql_query($strSQL);
$strSQL1 = "UPDATE person_user SET user_ip='$ip',user_status='1'";
$strSQL1 .="WHERE user_id = '".$_SESSION["user_id"]."' ";
$objQuery1 = mysql_query($strSQL1);
mysql_close($objConnect);
header("location:admin/admin_page.php");
}


เวลาออก
Code
$objConnect = mysql_connect("localhost","root","root") or die("Error Connect to Database");
$objDB = mysql_select_db("electical");
$datetime = date('d-m-Y H:i:s');
$strSQL = "UPDATE report_login
SET report_timeout ='$datetime'
WHERE report_id = '$id' and user_id = '".$_SESSION["user_id"]."' ";
$objQuery = mysql_query($strSQL);
$strSQL1 = "UPDATE person_user SET user_status='0'";
$strSQL1 .="WHERE user_id = '".$_SESSION["user_id"]."' ";
$objQuery1 = mysql_query($strSQL1);
mysql_close($objConnect);


อันนี้ผมลองทำแบบลักไก่มันบันทึกเวลาออกได้อยู่ คือ ดึงค่า report_id ล่าสุดในตารางมาเก็บไว้ในตัวแปร $id แล้วตอน update มันจะได้รู้ แต่พอคนเข้าหลายคน มัน update เวลาออกมั่ว เพราะ $id มันดึงค่าล่าสุดเท่านั้น
Code
<?
include('../connect/config.inc.php');
$sql = "select report_id from report_login order by report_id DESC";
$dbquery = mysql_db_query($dbname, $sql);
$result = mysql_fetch_array($dbquery);
$id = $result[report_id];
mysql_close();
?>
<?
$objConnect = mysql_connect("localhost","root","root") or die("Error Connect to Database");
$objDB = mysql_select_db("electical");
$datetime = date('d-m-Y H:i:s');
$strSQL = "UPDATE report_login SET report_timeout ='$datetime' WHERE report_id = '$id' and user_id = '".$_SESSION["user_id"]."' ";
$objQuery = mysql_query($strSQL);
$strSQL1 = "UPDATE person_user SET user_status='0'";
$strSQL1 .="WHERE user_id = '".$_SESSION["user_id"]."' ";
$objQuery1 = mysql_query($strSQL1);
mysql_close($objConnect);


ช่วยดูให้หน่อยนะครับ สับสนมากเลยตอนนี้



Tag : PHP, MySQL









ประวัติการแก้ไข
2014-01-02 04:21:24
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2014-01-02 04:05:25 By : jokerjoza555 View : 727 Reply : 2
 

 

No. 1



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

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

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

Code (PHP)
<?
include('../connect/config.inc.php');
$sql = "select report_id from report_login order by report_id DESC";
$dbquery = mysql_db_query($dbname, $sql);
$result = mysql_fetch_array($dbquery);
$id = $result[report_id];
mysql_close();
?>
<?
$objConnect = mysql_connect("localhost","root","root") or die("Error Connect to Database");
$objDB = mysql_select_db("electical");
$datetime = date('d-m-Y H:i:s');

///////////////////////////////////////////////////////////////////// new update
$strSQL = "UPDATE report_login SET report_timeout ='$datetime' WHERE user_id = '".$_SESSION["user_id"]."' ORDER BY report_id DESC LIMIT 1 ";
////////////////////////////////////////////////////////////////////

$objQuery = mysql_query($strSQL);
$strSQL1 = "UPDATE person_user SET user_status='0'";
$strSQL1 .="WHERE user_id = '".$_SESSION["user_id"]."' ";
$objQuery1 = mysql_query($strSQL1);
mysql_close($objConnect);


อัพเดตเฉพาะค่า report_id ล่าสุดของ user ครับ
ลองดูนะครับว่าถูกหรือเปล่า :)






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-01-02 05:10:03 By : num
 


 

No. 2



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



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

ตอบความคิดเห็นที่ : 1 เขียนโดย : num เมื่อวันที่ 2014-01-02 05:10:03
รายละเอียดของการตอบ ::
ได้แล้วครับขอบคุณมาก


อันนี้เผื่อใครเอาไปใช้ต่อ 555+

ตาราง person_user
CREATE TABLE `person_user` (
`user_id` int(5) unsigned zerofill NOT NULL auto_increment,
`user_user` varchar(20) collate utf8_unicode_ci NOT NULL,
`user_pass` varchar(20) collate utf8_unicode_ci NOT NULL,
`user_name` varchar(50) collate utf8_unicode_ci NOT NULL,
`user_last` varchar(50) collate utf8_unicode_ci NOT NULL,
`user_add` varchar(50) collate utf8_unicode_ci NOT NULL,
`user_tel` varchar(10) collate utf8_unicode_ci NOT NULL,
`user_allow` int(5) NOT NULL,
`user_status` int(5) NOT NULL,
`user_ip` varchar(100) collate utf8_unicode_ci NOT NULL,
`status` enum('ADMIN','USER') collate utf8_unicode_ci NOT NULL,
PRIMARY KEY (`user_id`),
KEY `user_user` (`user_user`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=7 ;

--
-- dump ตาราง `person_user`
--

INSERT INTO `person_user` VALUES (00001, 'admin', 'admin', 'admin', 'admin', '', '', 1, 0, '', 'ADMIN');
INSERT INTO `person_user` VALUES (00002, 'user', 'user', 'user', 'user', '', '', 1, 0, '127.0.0.1', 'USER');



ตาราง report_login
CREATE TABLE `report_login` (
`report_id` int(5) unsigned zerofill NOT NULL auto_increment,
`report_timein` varchar(30) collate utf8_unicode_ci NOT NULL,
`report_timeout` varchar(30) collate utf8_unicode_ci NOT NULL,
`user_id` int(5) unsigned zerofill NOT NULL,
PRIMARY KEY (`report_id`),
KEY `user_id` (`user_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=20 ;

--
-- dump ตาราง `report_login`
--

INSERT INTO `report_login` VALUES (00017, '02-01-2014 14:43:00', '02-01-2014 14:44:06', 00002);

Check_login.php
<?
session_start();
mysql_connect("localhost","root","root");
mysql_select_db("electical");
$sql = "SELECT * FROM person_user WHERE
user_user = '".($_POST['logusername'])."' and
user_pass = '".($_POST['logpassword'])."' ";
$result = mysql_query($sql);
$xx = mysql_fetch_array($result);
if(!$xx)
{
echo"<script language='JavaScript'>";
echo"alert('Username หรือ Password ไม่ถูกต้อง');";
echo"window.location='index.php';";
echo"</script>";

}
else
{
$_SESSION["user_id"] = $xx["user_id"];
$_SESSION["status"] = $xx["status"];

session_write_close();


if($xx["status"] == "ADMIN")
{

$objConnect = mysql_connect("localhost","root","root") or die("Error Connect to Database");
$objDB = mysql_select_db("electical");
$strSQL1 = "UPDATE person_user SET user_ip='$ip',user_status='1'";
$strSQL1 .="WHERE user_id = '".$_SESSION["user_id"]."' ";
$objQuery1 = mysql_query($strSQL1);
mysql_close($objConnect);
header("location:admin/admin_page.php");
}
else if($xx["status"] == "USER")
{
$ip = $REMOTE_ADDR;
$datetime = date('d-m-Y H:i:s');
$objConnect = mysql_connect("localhost","root","root") or die("Error Connect to Database");
$objDB = mysql_select_db("electical");
$strSQL = "insert into report_login (report_timein,report_timeout,user_id) values ('$datetime','-','".$_SESSION["user_id"]."')";
$objQuery = mysql_query($strSQL);
$strSQL1 = "UPDATE person_user SET user_ip='$ip',user_status='1'";
$strSQL1 .="WHERE user_id = '".$_SESSION["user_id"]."' ";
$objQuery1 = mysql_query($strSQL1);
mysql_close($objConnect);
header("location:user/user_page.php");
}

else
{
echo"<script language='JavaScript'>";
echo"alert('โปรดรอผู้ดูแลระบบอนุมัติผู้ใช้งาน');";
echo"window.location='index.php';";
echo"</script>";

}
}
mysql_close();
?>
<html>
<head>
<title></title>
<meta content='text/html;charset=UTF-8' http-equiv='content-type'>
</head>
<body>

</body>
</html>


logout.php
<?
session_start();
session_destroy();
?>
<?
$objConnect = mysql_connect("localhost","root","root") or die("Error Connect to Database");
$objDB = mysql_select_db("electical");
$datetime = date('d-m-Y H:i:s');

///////////////////////////////////////////////////////////////////// new update
$strSQL = "UPDATE report_login SET report_timeout ='$datetime' WHERE user_id = '".$_SESSION["user_id"]."' ORDER BY report_id DESC LIMIT 1 ";
////////////////////////////////////////////////////////////////////
$objQuery = mysql_query($strSQL);
$strSQL1 = "UPDATE person_user SET user_status='0' WHERE user_id = '".$_SESSION["user_id"]."' ";
$objQuery1 = mysql_query($strSQL1);
mysql_close($objConnect);


echo"<script language='JavaScript'>";
echo"alert('ออกจากระบบ');";
echo"window.location='../index.php';";
echo"</script>";
?>


<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head>
<body>

</body>
</html>

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-01-02 14:53:32 By : jokerjoza555
 

   

ค้นหาข้อมูล


   
 

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