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 > ASP > ASP Forum > ถามเกี่ยวกับ session หน่อยครับ คือผมต้องเขียนยังไงและไปไว้หน้าไหนอะครับ คือจะให้เชคว่า user คนน ี้login เข้ามาแล้วก้อจาบอกว่าได้ลอกอินเข้ามาแล้ว


 

ถามเกี่ยวกับ session หน่อยครับ คือผมต้องเขียนยังไงและไปไว้หน้าไหนอะครับ คือจะให้เชคว่า user คนน ี้login เข้ามาแล้วก้อจาบอกว่าได้ลอกอินเข้ามาแล้ว

 
Topic : 006738

Guest



คือผมต้องเขียนยังไงและไปไว้หน้าไหนอะครับ คือจะให้เชคว่า user คนนี้login เข้ามาแล้วก้อจาบอกว่าได้ลอกอินเข้ามาแล้ว แล้วถ้าuser ออกจากเวบโดยไม่ได้ logout นี้เราต้องไปกำหนดค่ายังไงเหรอครับ


Tag : - - - -

Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 1 ม.ค. 2549 14:01:14 By : Natty View : 3266 Reply : 4
 

 

No. 1

Guest


แล้วแต่การออกแบบครับ สมมุติว่าคุณ Natty ต้องการให้ทุกหน้าเช็คสถานะการ login
ถ้าไม่พบสถานะ login ในหน้านั้นๆ ก็ให้เด้งไปยังหน้า login

ตัวอย่าง login.htm
<FORM METHOD=POST ACTION="login.asp" name="loginForm">
<TABLE>
<TR>
<TD>Username :</TD>
<TD><INPUT TYPE="text" name = "username" size=10></TD>
</TR>
<TR>
<TD>Password :</TD>
<TD><INPUT TYPE="password" name = "passwd" size=10></TD>
</TR>
<TR>
<TD colspan="2">&nbsp;</TD>
</TR>
<TR>
<TD>&nbsp;</TD>
<TD align=center><INPUT TYPE="submit" class=button1 value=" Log in "></TD>
</TR>
</TABLE>


</CENTER>
</FORM>

จากนั้นก็จะส่งค่าไปยังหน้า login.asp
<%
Dim Conn
Set conn=Server.CreateObject ("ADODB.Connection")
Conn.Open "Driver={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("data.mdb")

'3 บรรทัดนี้สำหรับ ติดต่อฐานข้อมูลที่เก็บ user และ password


set rs = server.CreateObject("ADODB.RECORDSET")
sql = "select * from admindata where user = '"&request.form("username")&"' and passwd = '"&request.form("passwd")&"'"
' response.write sql
rs.open sql,conn,1,3
'เช็คว่า user และ password ที่ใส่ถูกต้องหรือไม่

if rs.eof then
response.redirect("login-error.htm") 'ในกรณีไม่ถูกต้องให้เด้งไปหน้าที่กำหนด เพื่อแจ้งว่า user หรือ password ไม่ถูกต้อง
else
session("passwd") = "ok" 'สำหรับ password ที่ถูก กำหนด session ไว้เพื่อจะได้นำค่านี้ไปเปรียบเทียบถูกหน้า
end if

%>


หน้าอื่นที่ออกแบบไว้ ก็ให้ใส่ session ไว้เป็นคำสั่งแรกๆ ของหน้าที่ต้องการนำไปใช้
<%
if session("passwd") <> "ok" then
response.redirect("index.htm") 'ถ้า Time out ให้ไปที่ index.htm
end if
%>

ปกติการใช้ Session ถ้าเปิดหน้าเว็บทิ้งไว้แล้วไม่ไปทำอะไรกับหน้านั้นก็จะ Timeout ซึ่งประมาณ 20 นาที (ถ้าผมจำไม่ผิดนะครับ ถ้าเวลาผิดขออภัยด้วยครับ)
แล้วถ้าไม่ได้ logout แล้วจะให้เคลียร์ session นั้นหรือครับ อันนี้ผมเองก็ทำไม่ได้ครับ แต่ผมมีคำแนะนำคือ ถ้าจำเป็นจริงๆ ก็ต้องให้ user ต้อง logout และใช้ javascript สั่ง window ไม่ให้ใช้ปุ่ม close และไม่ให้แสดง address bar เพื่อไม่ให้ user เข้าถึง address นี้โดยตรง


Date : 1 ม.ค. 2549 23:34:12 By : menamya
 

 

No. 2

Guest


ขอบคุณมากๆเลยครับ พอจะรู้เรื่องบ้างแล้วครับ
Date : 3 ม.ค. 2549 18:32:18 By : Natty
 

 

No. 3

Guest


ของที่ดิฉันทำอยู่คือ include ไฟล์ที่เช็คว่า Session("Login") = True ไว้ทุกๆ หน้าที่ต้องการเช็คค่ะ ชัวร์ดี รับรองเข้าไม่ได้แน่

โค้ดตัวอย่างค่ะ

ไฟล์ include นี้มีชื่อว่า checkuactive.asp
นะคะ ลองไปศึกษาดู ได้ผลแน่นอนค่ะ


----------------------------------------------------------------------------------------------------------------------------------------------------


<!--#INCLUDE file="connectdb.asp"-->
<%

level2=""
SCRIPT_NAME = LCase(Request.ServerVariables("SCRIPT_NAME"))
if Instr(SCRIPT_NAME, "ชื่อโฟลเดอร์")>0 then
level2=""
else
level2="ชื่อโฟลเดอร์/"
end if

'ข้างล่างนี้คือเอาไว้เช็คนะคะ ถ้าไม่ใช่ ture
'ให้ redirect กลับไปยังหน้าล็อกอินเลย
'และ account ยังไม่ได้มีการ activate

if Session("ชื่อตัวแปร") <> "true" then
response.redirect level2 & "login.asp?wanted=password" 'อันนี้กลับไปหน้าล็อกอิน
else
if Session("activate")<>true and Instr(SCRIPT_NAME, "หน้าสมาชิก.asp")=0 then
response.redirect "หน้าสมาชิก.asp" 'อันนี้ผ่านค่ะ แต่ไม่ได้ activate ใช้งานได้บางอย่างในระบบ
end if
end if
%>


-------------------------------------------------------------------------------------------------------------------------------------------------------

ส่วนไฟล์นี้เอาไว้กันการล็อกอินซ้ำค่ะ แปะไว้ที่หน้าล็อกอิน กับ หน้าที่รับค่าฟอร์มได้เลยค่ะ รับรองล็อกอินซ้ำไม่ได้แน่ แต่จากคอมเครื่องเดียวกันะคะ ถ้าจากคอมเครื่องอื่น ต้องตั้งค่าในฟิลด์ค่ะ


ไฟล์นี้ชื่อว่า checkulogin.asp
-------------------------------------------------------------------------------------------------------------------------------------------------------

<%
level=""
SCRIPT_NAME = LCase(Request.ServerVariables("SCRIPT_NAME"))
if Instr(SCRIPT_NAME, "ชื่อโฟลเดอร์ที่รันสคริปต์")>0 then
level="../" 'ใส่พาธของโฟลเดอร์ที่รันสคริปต์
end if%>

'ถ้าล้อกอินในระบบแล้ว จะเด้งไปที่หน้าแรกสมาชิกค่ะ

<%if Session("ชื่อตัวแปรค่ะ")<> "true" then%>
'ตรงนี้จะปล่อยว่างหรือไรก็ได้ค่ะแล้วแต่
'แต่ถ้าปล่อยว่างก็จะอยู่ที่หน้านี้ค่ะ ไม่เด้งไปไหน อิอิ
<%else%>
<% Response.Redirect "หน้าสมาชิก.asp" %>'อันนี้เด้งไปเลยค่ะ ก็ล็อกอินแล้วนี่ จะเข้ามาในระบบอีกชื่อเหรอ เหอ เหอ
<%end if%>
---------------------------------------------------------------------------------------------------------------------------------------------------------

ส่วนเวลาออกไปโดยไม่ได้ล็อกเอาท์นี่พูดลำบากนะคะ อาจจะใช้ javascript มาช่วย หรือไม่ก็ต้องทำเป็นระบบ active user เต็มรูปแบบเลยค่ะ ใช้ไฟล์ global.asa เวลาล็อกอิน ให้เก็บค่า session id หรือ username ก็ได้ต้องไม่ให้ซ้ำกันนะคะ เอาไว้ใน array ในฐานข้อมูลอีกตารางนึง ถ้ามีการเคลียร์ค่า session แล้ว โดยก่อนที่จะหมดเวลา session.timeout แบบอัตโนมัติ ให้ตามไปลบค่า active ในตาราง user ค่ะ โดยหาค่าจาก array ทีรับค่ามาจากอีกตารางนึงว่าเป็นค่า session ของผู้ใช้คนไหน แต่ถ้าล็อกเอ้าท์ออกไปตามปกติก็ไม่ต้อง ให้มี event นี้ เกิดขึ้นเพราะ ค่าใน array ถูกลบไปเรียบร้อยแล้ว โดยลบออกไปด้วยการล็อเอาท์

พูดมาซะยาว ไม่รู้จะทำได้หรือปล่าว ได้แค่คิดค่ะ ยังไม่ได้ลอง
Date : 5 ม.ค. 2549 18:12:15 By : เจนนี่
 

 

No. 4

Guest


อยากได้โค๊ดทั้งหมดของระบบจัง
Date : 17 เม.ย. 2549 10:36:03 By : aaa
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ถามเกี่ยวกับ session หน่อยครับ คือผมต้องเขียนยังไงและไปไว้หน้าไหนอะครับ คือจะให้เชคว่า user คนน ี้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 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)





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