การแบ่งหน้าใน widget HomeForumการแบ่งหน้าใน widget aassign@gmail.com เรียนพี่กรกฎ การแบ่งหน้าใน widget ทำให้แสดงรายการ และแบ่งหน้าได้แล้ว แต่เมื่อกดที่เลขหน้าที่ต้องการ ตัว widget ไม่เปลี่ยนหน้าตามที่กำหนด สามารถแก้ไข หรือว่ามีจุดสังเกต ในส่วนไหนบ้างไหมครับ ตัวอย่าง บน address bar มี ..&page=3 แต่ echo page ออกมากลับไม่มีค่าครับ เป็นค่าว่างๆ ขอบคุณครับ กรกฎ วิริยะ ก็อย่างที่ผมเคยบอกแล้วว่าโดยหลักการแล้วทั้ง widget และ module ก็ไม่ได้มีอะไรต่างกัน มันต่างกันแค่วิธีเรียกใช้เท่านั้น และอีกอย่างคือ module เนื้อหาจะถูกใส่ลงบน $content ในขณะที่ widget เนื้อหาจะถูกใส่ลงในตัวแปร $widget ในส่วนการเขียนโค้ด จะเขียนอย่างไรก็ได้ให้ข้อความที่จะถูกแสดงผลใส่ลงในตัวแปรข้างต้น ที่นี้ คำถามบอกว่า ไม่สามารถรับค่า page ได้ คำตอบก็แบ่งเป็น 2 กรณีครับ คือ 1.ไม่ได้ส่ง ในกรณีนี้ไม่น่าจะใช่ เพราะเห็นบอกว่าบน addressbar มีค่านี้ 2.ไม่ได้รับ เช่นเดียวกับการส่งค่าโดยทั่วไปที่ ตัวแปรของ PHP จะต้องรับค่าก่อนถึงจะนำไปใช้ได้ (ถ้า PHP เวอร์ชั่นเก่าๆอาจไม่ต้อง แต่ก็ไม่ปลอดภัยแล้วแหละ) ดังนั้นการที่ตัวแปร $page ไม่มี อาจเพราะไม่ได้รับค่ามาก็เป็นได้ ทีนี้เนื่องจากเว็บเป็น Ajax ถ้าเปิดใช้โหมดนี้ การรับส่งค่าอาจเป็นได้ทั้ง $_POST และ $_GET ดังนั้นควรตรวจรับจากทั้ง 2 ช่องทาง เช่น $page = isset($_POST['page']) ? $_POST['page'] : $_GET['page']; หรืออาจเป็น $page = $_REQUEST['page']; ก็ได้ ความคิดเห็น รายละเอียด ไฟล์อัปโหลด ชนิด jpg, jpeg ขนาดไฟล์ไม่เกิน 2M ส่งความคิดเห็น
ในส่วนการเขียนโค้ด จะเขียนอย่างไรก็ได้ให้ข้อความที่จะถูกแสดงผลใส่ลงในตัวแปรข้างต้น
ที่นี้ คำถามบอกว่า ไม่สามารถรับค่า page ได้ คำตอบก็แบ่งเป็น 2 กรณีครับ คือ
1.ไม่ได้ส่ง ในกรณีนี้ไม่น่าจะใช่ เพราะเห็นบอกว่าบน addressbar มีค่านี้
2.ไม่ได้รับ เช่นเดียวกับการส่งค่าโดยทั่วไปที่ ตัวแปรของ PHP จะต้องรับค่าก่อนถึงจะนำไปใช้ได้ (ถ้า PHP เวอร์ชั่นเก่าๆอาจไม่ต้อง แต่ก็ไม่ปลอดภัยแล้วแหละ) ดังนั้นการที่ตัวแปร $page ไม่มี อาจเพราะไม่ได้รับค่ามาก็เป็นได้
ทีนี้เนื่องจากเว็บเป็น Ajax ถ้าเปิดใช้โหมดนี้ การรับส่งค่าอาจเป็นได้ทั้ง $_POST และ $_GET ดังนั้นควรตรวจรับจากทั้ง 2 ช่องทาง เช่น
$page = isset($_POST['page']) ? $_POST['page'] : $_GET['page'];
หรืออาจเป็น
$page = $_REQUEST['page'];
ก็ได้