ให้เรตสมาชิก: 2 / 5

ดาวใช้งานดาวใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งาน
 
php 5.3.9 ได้เพิ่ม ค่าการตั้งค่า จำนวนตัวแปล หรือ จำนวน Input object ที่จะส่งค่าจาก Form ของเรามาให้ php ทำงาน
โดยที่ php.ini ใน php 5.3.9 นั้น ได้เพิ่ม max_input_vars เข้ามา โดยค่า Default ของมันจะตั้งไว้่ที่ 1000 หมายความว่า ถ้า Web hosting ไหนที่ใช้ตามค่ามาตรฐาน Form ที่เราสร้างไม่สามารถ กำหนด ตัวแปล หรือ input object ได้เกิน 1,000 ค่าเท่านั้น ไม่ว่าจะส่งแบบ POST หรือ แบบ GET รวมทั้ง COOKIES ด้วย
เรามาทำให้ PHP รับค่าจากฟอร์มใหญ่ๆ ได้มาจาก 1000 ค่ากันครับ

วิธีทำได้โดย แก้ไข
php.ini ในเครื่อง Server

เพิ่ม
max_input_vars = xxx

ลงไป เมื่อ xxx คือตัวเลขกำหนดค่าสูงสุดที่จะกำหนด input object ลงไปใน form ได้
ตัวอย่าง ผมตั้งไว้ที่ 4000 ให้กำหนดใน php.ini ดังนี้

max_input_vars = 4000
เสร็จแล้ว save และ restart apache เท่านี้ เครื่อง Server เราก็พร้อมสำหรับ ฟอร์มใหญ่ๆ แล้วครับ

ปล. สำหรับการใช้งานจริงบน Hosting ที่เค้าไม่อนุญาตให้เราแก้ไข ไฟล์ php.ini ได้เองนั้น เรากำหนดค่า max_input_vars ได้ด้วย .htaccess
ด้วยกำหนดค่าดังนี้
php_value max_input_vars 6000
เท่านี้เว็บเราก็สามารถสร้างฟอร์ม ขนาดใหญ่ๆ ได้แล้ว

ปล. ใส่ input object มากๆ อย่าลืมต้องคำนึงถึง post_max_size ด้วยนะครับ