หัวข้อ: เขียน เก็บ session ยังไงให้อยู่ตลอด เริ่มหัวข้อโดย: EixQzUnG ที่ 12 กุมภาพันธ์ 2008, 16:21:23 สวัสดี ครับพ่อแม่พี่น้อง
พอดี ผมหัดเขียน ระบบ login นะคับ แล้ว ผมทำการ เก็บ session ตัวอย่าง $_SESSION['user']; พอ login ได้ เวลาผ่านไป ไม่ถึง 30 นาที ค่า session นู๋หาย (ยังไม่ได้ปิด page นั้น) จะเขียนยังไงให้จดจำ ไว้ตลอด เหมือน บางเว๊ปนะ ครับ หลัก กานพอจะ อธิบายได้ไหมคับ ปล $session_start(); ก้อใช้งานแล้ว ขาดอะไรตกไปอีกนะ ขอบคุณครับ หัวข้อ: Re: เขียน เก็บ session ยังไงให้อยู่ตลอด เริ่มหัวข้อโดย: mail4k ที่ 12 กุมภาพันธ์ 2008, 18:20:57 PHP ผมยังไม่ค่อยได้ศึกษา แต่คิดว่าน่าจะหลักการเดียวกัน คือผมเคยเขียนใช้ asp ก็ต้องเก็บทำงานคู่กับ คุกกี้ ไปด้วยน่ะครับ ตรวจสอบร่วมกัน
เคยเก็บแค่ session อย่างเดียวมันก็หลุดน่ะครับ หัวข้อ: Re: เขียน เก็บ session ยังไงให้อยู่ตลอด เริ่มหัวข้อโดย: siamwebthai ที่ 12 กุมภาพันธ์ 2008, 19:01:06 session อยู่ตลอดไม่ได้ครับ ถ้าปิดหน้า Browser session ก็ถูกทำลาย
ดังนั้นถ้าอยากให้ Login อยู่ตลอดต้องใช้ cookie cookie คือ ข้อมูลขนาดเล็กที่สคริปต์สามารถนำมาเก็บไว้บนเครื่องผู้ใช้ฝั่งไคลเอ็นต์ได้ cookie มีประโยชน์มาก โดยเมื่อผู้ใช้กลับมาใช้งานที่เว็ปเพจหน้านั้นอีกครั้ง จะสามารถดึงข้อมูลบนเครื่องผู้ใช้มาใช้งานได้ คุณสามารถสร้าง cookie ได้ด้วยฟังก์ชั่น setcookie() จำไว้ด้วยว่า ฟังก์ชั่นนี้ต้องใช้ก่อนแท็กเปิด <HTML> มาดูรูปแบบกัน setcookie(name, value, expire, path, domain); name หมายถึง ชื่อของ cookie value หมายถึง ค่าของ cookie expire หมายถึง วันที่หมดอายุของ cookie path หมายถึง path directory ที่สามารถเรียกใช้ cookie domain หมายถึง ชื่อของเว็ปเซิร์ปเวอร์ที่สามารถใช้ cookie มาดูตัวอย่างกัน ในที่นี้ ชื่อ cookie คือ ck มีค่าคือ "hello" มีอายุใช้งาน 1 ชั่วโมง หรือ 3600 วินาที <?php setcookie("ck", "hello", time()+3600); ?><html> <body><p> cookie ถูกเซ็ทแล้ว </p></body> </html> -------------------------------------------------------------------------------- การเรียก cookie มาใช้งาน เมื่อ cookie ถูกเซ็ทแล้ว คุณสามารถเรียก cookie มาใช้งานได้ เหมือนเป็นตัวแปร มาดูตัวอย่างกัน Tip: ใช้ฟังก์ชั่น isset() ตรวจสอบว่า cookie มีการเซ็ทแล้วหรือยัง <html> <body><?php if (isset($_COOKIE["ck"])) echo "ยินดีต้อนรับ " . $_COOKIE["ck"] . "!<br />"; else echo "cookie ยังไม่ถูกเซ็ท!<br />"; ?></body> </html> -------------------------------------------------------------------------------- การลบ cookie เมื่อไรที่คุณจะทำการลบ cookies คุณต้องแน่ใจก่อนว่าเวลาหมดอายุต้องน้อยกว่าเวลาที่เซ็ทใหม่ <?php // set the expiration date to one hour agosetcookie("ck", "", time()-3600); ?> ศึกษาเพิ่มเติมได้จาก โค๊ด: hxxp://www.phpstreet.com หัวข้อ: Re: เขียน เก็บ session ยังไงให้อยู่ตลอด เริ่มหัวข้อโดย: Ads ที่ 12 กุมภาพันธ์ 2008, 19:11:49 ละเอียดดีครับ
สงสัยนิดนึงว่าบอทกินคุ๊กกี้ได้ไหม ถ้าบอทกินคุ๊กกี้ไม่ได้ จะได้เอาวิธีนี้มาแยกว่า มาน..เปง..บอท.. หรือเปล่า หัวข้อ: Re: เขียน เก็บ session ยังไงให้อยู่ตลอด เริ่มหัวข้อโดย: tony ที่ 12 กุมภาพันธ์ 2008, 19:12:53 ใช้คุ๊กกี้ร่วมด้วยนะครับ
โค๊ด: $_COOKIE['my_cookie_name'] = 'Oreo'; :D หัวข้อ: Re: เขียน เก็บ session ยังไงให้อยู่ตลอด เริ่มหัวข้อโดย: EThaiZone ที่ 12 กุมภาพันธ์ 2008, 19:47:41 ผมเข้าใจว่าอยากใ้ช้ session เพราะข้อมูลไม่อยากเปิดเผย
วิธีนี้แนะนำให้ทำแคชค่า session ไว้่ครับ ประยุกต์ใช้ serialize กับ unserialize นะครับ โดยอ้างอิงค่าจาก session_id นะครับ ในการเก็บไฟล์ หัวข้อ: Re: เขียน เก็บ session ยังไงให้อยู่ตลอด เริ่มหัวข้อโดย: lowprofile ที่ 12 กุมภาพันธ์ 2008, 21:05:36 ผมไปค้นเจอมา มีคนแนะนำไว้ว่า
you can change the max lifetime for a session with the function ini_set(). โค๊ด: <?php if you want to know the lifetime of your current script, you can use: โค๊ด: <?php จากที่นี่ครับ http://th.php.net/manual/en/function.session-cache-expire.php หัวข้อ: Re: เขียน เก็บ session ยังไงให้อยู่ตลอด เริ่มหัวข้อโดย: thenetxx ที่ 14 กุมภาพันธ์ 2008, 09:21:24 ผมเข้าใจว่าอยากใ้ช้ session เพราะข้อมูลไม่อยากเปิดเผย วิธีนี้แนะนำให้ทำแคชค่า session ไว้่ครับ ประยุกต์ใช้ serialize กับ unserialize นะครับ โดยอ้างอิงค่าจาก session_id นะครับ ในการเก็บไฟล์ เก่งดีครับ ตอนผมอายุเท่านี้ ผมยังไม่รู้เลย serialize คืออะไร -*- :-[ หัวข้อ: Re: เขียน เก็บ session ยังไงให้อยู่ตลอด เริ่มหัวข้อโดย: EixQzUnG ที่ 14 กุมภาพันธ์ 2008, 10:04:08 ขอบคุณครับ แต่ ผม ไม่รู้ จัก serialize กับ unserialize เลยอะ ;D :D :D :D
|