คือ ผมอ่านแล้วลองเขียนมานานพอควร แต่บางครั้งก็มีปัญหาคือ เลยอยากถามว่าจากความเข้าใจที่ได้ลองเขียนนะครับ
1. SESSION ต้องมีการใช้ session_start() ทุกครั้งใช่ไมครับ
2. SESSION จะเป็นการจำค่าตัวแปรนั้นๆ ในหน้า PAGE ซึ่งแม้รีเฟรช ค่านั้นก็ยังอยู่ แต่เมื่อไปหน้าอื่น SESSION นั้นจะคงอยู่เหมือนเดิม แต่หากเราไม่เรียกฟังชั่น session_start() แม้เราเรียกตัวแปร SESSION นั้นออกมา ก็ไม่มีค่าเพราะถือว่าไม่มีการเรียกใช้ SESSION ถูกไมครับ ?
3. unset คำสั่งนี้ใช้ เคลียค่า SESSION เฉพาะตัว แล้วถ้า session_destroy() จะเคลียค่า SESSION ทุกตัวออกหมดเลยใช่ไมครับ
4. การเรียก session_start() จะต้องเรียกก่อนที่ส่งผลออกไป เช่น คำสั่ง echo หรือ อะไรที่เป็นการแสดงผล หากมีการส่งผลไปแล้วจะทำให้ session ERROR
5. การประกาศค่า $_SESSION('x') แม้มีการส่งการแสดงผลออกไปแล้ว แล้วก็ยังกำหนดตัวแปรได้อยู่ ? กรณีที่ session_start() อยู่ในตำแหน่งที่ถูกต้อง (อันนี้ผมสงสัยมาก)
ทั้งหมดนี้ผมเข้าใจถูกไมครับ หรือว่ามันมีอะไรเพิ่มเติมอีก เพราะรู้สึกว่าอยู่กะมันนานละ แต่ยังเหมือนไม่เข้าใจมันดี เลยอยากเคลียความเข้าใจกะมันก่อน
ถามความเข้าใจเรื่อง SESSION ครับ
Moderator: mindphp, ผู้ดูแลกระดาน
-
- PHP Sr. Member
- โพสต์: 54
- ลงทะเบียนเมื่อ: 04/01/2009 7:54 pm
- mindphp
- ผู้ดูแลระบบ MindPHP
- โพสต์: 41251
- ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
- ติดต่อ:
Re: ถามความเข้าใจเรื่อง SESSION ครับ
ข้อ 1. ขึ้นอยู่กับ config ของ php ครับแต่แนะนำให้ ใช้ session_start() เมื่อจะใช้งาน Sessiondemonxiii เขียน:คือ ผมอ่านแล้วลองเขียนมานานพอควร แต่บางครั้งก็มีปัญหาคือ เลยอยากถามว่าจากความเข้าใจที่ได้ลองเขียนนะครับ
1. SESSION ต้องมีการใช้ session_start() ทุกครั้งใช่ไมครับ
2. SESSION จะเป็นการจำค่าตัวแปรนั้นๆ ในหน้า PAGE ซึ่งแม้รีเฟรช ค่านั้นก็ยังอยู่ แต่เมื่อไปหน้าอื่น SESSION นั้นจะคงอยู่เหมือนเดิม แต่หากเราไม่เรียกฟังชั่น session_start() แม้เราเรียกตัวแปร SESSION นั้นออกมา ก็ไม่มีค่าเพราะถือว่าไม่มีการเรียกใช้ SESSION ถูกไมครับ ?
3. unset คำสั่งนี้ใช้ เคลียค่า SESSION เฉพาะตัว แล้วถ้า session_destroy() จะเคลียค่า SESSION ทุกตัวออกหมดเลยใช่ไมครับ
4. การเรียก session_start() จะต้องเรียกก่อนที่ส่งผลออกไป เช่น คำสั่ง echo หรือ อะไรที่เป็นการแสดงผล หากมีการส่งผลไปแล้วจะทำให้ session ERROR
5. การประกาศค่า $_SESSION('x') แม้มีการส่งการแสดงผลออกไปแล้ว แล้วก็ยังกำหนดตัวแปรได้อยู่ ? กรณีที่ session_start() อยู่ในตำแหน่งที่ถูกต้อง (อันนี้ผมสงสัยมาก)
ทั้งหมดนี้ผมเข้าใจถูกไมครับ หรือว่ามันมีอะไรเพิ่มเติมอีก เพราะรู้สึกว่าอยู่กะมันนานละ แต่ยังเหมือนไม่เข้าใจมันดี เลยอยากเคลียความเข้าใจกะมันก่อน
ข้อ 2. SESSION เป็นตัวแปล Supper global สามารถส่งไปใช้งานหน้าอื่นๆได้ หรือ จะเรียกใช้มันเมื่อไรก็ได้ ถ้า ข้อ 1. OK แล้ว
ข้อ 3. unset เป็น function ที่ใช้ยกเลิกตัวแปลครับ ใช้กับ ตัวแปลปรกติ หรือ ตัวแปลข้อ 2. ก็ได้ เช่นเมื่อเราประกาศ $_SESSION[yyy] ส่วน session_destroy() อันนี้เข้าใจถูกแล้วครับ
ข้อ 4. ใช่ครับ แต่ก็มีวิธีแก้ไข ถ้าจำเป็นต้องส่ง output ออกก่อนใช้ session_start() ลองดูในบทความครับ
ข้อ 5. การประกาศค่า $_SESSION('x') เขียนผิดนะครับ ต้องเขียนเป็น $_SESSION['x'] เป็นตัวแปล Supper global กำหนดเป็น array ซึ่ง กำหนดกี่มิติก็ได้ เช่นถ้าจะกำหนดเป็น 2 มิติก็ เขียนเป็น $_SESSION['x']['y'] = 'mindphp.com'
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
- secivon
- PHP Full Member
- โพสต์: 35
- ลงทะเบียนเมื่อ: 24/03/2009 5:15 pm
Re: ถามความเข้าใจเรื่อง SESSION ครับ
รบกวนถามต่อครับ ว่าเป็นไปได้หรือเปล่าครับ ที่จะให้ ตัวแปร $_SESSION สามารถมองเห็นกันจากคนละ subdomain
ตอนนี้ subdomain ของตัวหลัก ( admin.example.com ) ต้องการใช้ค่าของ session ที่ set ไว้ใน domain ( example.com) หลักแล้วน่ะครับ
อีกปัญหาก็คือ user เจ้าปัญหา เดี๋ยวก็เข้าเว็บไซท์ผ่าน example.com เดี๋ยวก็ www.example.com
(พอดีมี process การ"กระโดด" ไปๆมาๆระหว่างเวบไซท์หลักกับเว็บไซท์อื่น ครับ ถ้า user เข้าจาก example.com แล้วในตอนสั่งให้ "กระโดด" กลับ ไปที่ www.example.com มันจะมองไม่เห็น session ที่ set ไว้แล้วน่ะครับ )
ขอบคุณมากครับ
ตอนนี้ subdomain ของตัวหลัก ( admin.example.com ) ต้องการใช้ค่าของ session ที่ set ไว้ใน domain ( example.com) หลักแล้วน่ะครับ
อีกปัญหาก็คือ user เจ้าปัญหา เดี๋ยวก็เข้าเว็บไซท์ผ่าน example.com เดี๋ยวก็ www.example.com
(พอดีมี process การ"กระโดด" ไปๆมาๆระหว่างเวบไซท์หลักกับเว็บไซท์อื่น ครับ ถ้า user เข้าจาก example.com แล้วในตอนสั่งให้ "กระโดด" กลับ ไปที่ www.example.com มันจะมองไม่เห็น session ที่ set ไว้แล้วน่ะครับ )
ขอบคุณมากครับ
"อย่าเอาแต่โทษเด็ก ถ้าเด็กมันจะห่วย ดูตัวเองบ้างว่าทำบ้านเมืองไว้เป็นยังไง"
- mindphp
- ผู้ดูแลระบบ MindPHP
- โพสต์: 41251
- ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
- ติดต่อ:
Re: ถามความเข้าใจเรื่อง SESSION ครับ
PHPSESSID
ลองดู function session_set_cookie_params()
โดยกำหนดเช่น
session_set_cookie_params(0, '/', '.ชื่อโดเมนหลัก');
0 คือ lifetime คือ อายุของเซสชันคุกกี้, ในหน่วยวินาที. กำหนดให้เป็น 0 เพื่อให้ เวลา ปิด browser แล้ว ให้ มันมาไป
ก่อนที่จะประกาศ
session_start();
ปล. ถ้าปัญหาตัวเองแก้ได้แล้วก็ลองดูๆ กระทู้อื่นๆ บ้างนะครับเผื่อจะได้ช่วยคนอื่นได้บ้าง
ลองดู function session_set_cookie_params()
โดยกำหนดเช่น
session_set_cookie_params(0, '/', '.ชื่อโดเมนหลัก');
0 คือ lifetime คือ อายุของเซสชันคุกกี้, ในหน่วยวินาที. กำหนดให้เป็น 0 เพื่อให้ เวลา ปิด browser แล้ว ให้ มันมาไป
ก่อนที่จะประกาศ
session_start();
ปล. ถ้าปัญหาตัวเองแก้ได้แล้วก็ลองดูๆ กระทู้อื่นๆ บ้างนะครับเผื่อจะได้ช่วยคนอื่นได้บ้าง
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
- secivon
- PHP Full Member
- โพสต์: 35
- ลงทะเบียนเมื่อ: 24/03/2009 5:15 pm
Re: ถามความเข้าใจเรื่อง SESSION ครับ
ขอบคุณมากครับ
เท่าที่ลองดู work บน host ตัวนึง แต่เหมือนจะยังไม่ work บน host ตัวหลักแฮะ
แต่ได้ keyword แล้ว เดี๋ยวจะลองไปศึกษาต่อนะครับ ว่ามันมี PHP / WebServer Configuration อะไรที่เกี่ยวข้องบ้าง
แต่ถ้าเกรียนมาขอการบ้านนี่ เห็นมากๆแล้วลมสันดานขึ้นจริงๆ
เท่าที่ลองดู work บน host ตัวนึง แต่เหมือนจะยังไม่ work บน host ตัวหลักแฮะ
แต่ได้ keyword แล้ว เดี๋ยวจะลองไปศึกษาต่อนะครับ ว่ามันมี PHP / WebServer Configuration อะไรที่เกี่ยวข้องบ้าง
แฮ่ๆ ถ้าเป็นคำถามที่น่าสนใจ ส่วนใหญ่ก็จะไปแจมล่ะครับปล. ถ้าปัญหาตัวเองแก้ได้แล้วก็ลองดูๆ กระทู้อื่นๆ บ้างนะครับเผื่อจะได้ช่วยคนอื่นได้บ้าง
แต่ถ้าเกรียนมาขอการบ้านนี่ เห็นมากๆแล้วลมสันดานขึ้นจริงๆ
"อย่าเอาแต่โทษเด็ก ถ้าเด็กมันจะห่วย ดูตัวเองบ้างว่าทำบ้านเมืองไว้เป็นยังไง"
- mindphp
- ผู้ดูแลระบบ MindPHP
- โพสต์: 41251
- ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
- ติดต่อ:
Re: ถามความเข้าใจเรื่อง SESSION ครับ
ลอง phpinfo() ดูเกี่ยวกับ การกำหนด ค่าว่า session.name ตั้งเป็น PHPSESSID
_COOKIE["PHPSESSID"] ด้วยว่าถูกกำหนด เป็น ค่าเดียวกันหรือเปล่า
_COOKIE["PHPSESSID"] ด้วยว่าถูกกำหนด เป็น ค่าเดียวกันหรือเปล่า
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
- secivon
- PHP Full Member
- โพสต์: 35
- ลงทะเบียนเมื่อ: 24/03/2009 5:15 pm
Re: ถามความเข้าใจเรื่อง SESSION ครับ
แจ้งความคืบหน้า หลังจากทดสอบดูอีกรอบครับ
แต่ในโฮสท์ที่ทดสอบแล้วได้ผลนี่เป็นตัวเดียวกันครับ
ขอตรวจสอบอะไรอีกหน่อย ได้ข้อมูลเพิ่มแล้วจะมาโพสท์ต่อนะครับ
อันนี้เป็น PHPSESSID ครับลอง phpinfo() ดูเกี่ยวกับ การกำหนด ค่าว่า session.name ตั้งเป็น PHPSESSID
$_COOKIE["PHPSESSID"] ในโฮสท์หลักตัวนี้เป็นคนละค่าครับ_COOKIE["PHPSESSID"] ด้วยว่าถูกกำหนด เป็น ค่าเดียวกันหรือเปล่า
แต่ในโฮสท์ที่ทดสอบแล้วได้ผลนี่เป็นตัวเดียวกันครับ
ขอตรวจสอบอะไรอีกหน่อย ได้ข้อมูลเพิ่มแล้วจะมาโพสท์ต่อนะครับ
"อย่าเอาแต่โทษเด็ก ถ้าเด็กมันจะห่วย ดูตัวเองบ้างว่าทำบ้านเมืองไว้เป็นยังไง"
-
- Similar Topics
- ตอบกลับ
- แสดง
- โพสต์ล่าสุด
-
- 0 ตอบกลับ
- 2596 แสดง
-
โพสต์ล่าสุด โดย jataz2
17/05/2016 4:17 pm
-
- 0 ตอบกลับ
- 1963 แสดง
-
โพสต์ล่าสุด โดย abdkode
14/01/2019 1:49 pm
-
- 0 ตอบกลับ
- 1129 แสดง
-
โพสต์ล่าสุด โดย seomail
31/01/2022 4:11 pm
-
-
โพสต์ใหม่ สอน PHP7 การใช้งาน Session
โดย เซสชั่นเบื้องต้น » 25/10/2021 1:41 pm » ใน Programming - PHP - 1 ตอบกลับ
- 2494 แสดง
-
โพสต์ล่าสุด โดย mindphp
25/10/2021 1:54 pm
-
-
- 0 ตอบกลับ
- 2897 แสดง
-
โพสต์ล่าสุด โดย จันนุสรณ์ ดีแก่
26/11/2018 6:35 pm
-
- 0 ตอบกลับ
- 3777 แสดง
-
โพสต์ล่าสุด โดย จันนุสรณ์ ดีแก่
23/11/2018 4:40 pm
ผู้ใช้งานขณะนี้
สมาชิกกำลังดูบอร์ดนี้: Google [Bot] และบุคลทั่วไป 140