PHP CI MANIA : ตอนที่ 10 วิธีกำหนดค่าเริ่มต้น (Default Value) ให้กับช่องป้อนข้อมูลจาก SESSION/POST/GET
ไปที่แท็ป "ตั้งค่า" และเลื่อนลงมาในส่วนที่ 3 ตั้งค่าที่คอลัม "SOURCE (Add Form)"
จะประกอบด้วยตัวเลือกดังนี้
มาลองดูผลลัพธ์ทีละส่วนกันครับ
1. Form Input
จะกำหนดตาม "ประเภทช่องป้อนข้อมูล" ในตอนที่ 7 ในตัวอย่างนี้จะเลือก "ประเภทช่องป้อนข้อมูล" เป็นแบบบรรทัดเดียว
เมื่อสร้างไฟล์ Views และ Controller เรียบร้อยแล้ว ให้คลิกเข้าไปที่หน้า "เพิ่มข้อมูลใหม่" จะได้ผลลัพธ์ดังนี้
2. URI Segment
จะต้องกำหนดตำแหน่งของ URL ที่ต้องการดึงมาใช้งานด้วย ในตัวอย่างนี้คือเลข 4
และการจะใช้ SESSION ได้นั้น ก็ต้องผ่านระบบล็อกอินด้วย ดังนั้นก็ต้องคลิกเลือก "Login Require" ทุกครั้งเพื่อเช็คสิทธิ์การเข้าใช้งาน
เมื่อล็อกอินเรียบร้อย จะเข้าไปที่หน้ารายการ ให้คลิกที่ปุ่ม "เพิ่มข้อมูลใหม่" จะเห็นว่าในช่อง INPUT ได้แสดงไอดีสมาชิกที่เป็น SESSION ชื่อว่า user_id ลงในแบบฟอร์มให้อัตโนมัติ
4. GET
จะเป็นการดึงค่าใน URL ซึ่ง CodeIgniter จะไม่นิยมรับ-ส่ง ค่าแบบ GET แต่จะใช้ URI Segment ในแบบข้อที่ 2 แทน สำหรับการใช้งาน ให้กำหนดชื่อพารามิเตอร์ที่จะใช้ รับ-ส่งค่า ตัวอย่างคือ member_id
ทดสอบโดยการป้อนข้อมูลลง URL โดยต่อท้ายเครื่องหมาย ? ตามด้วยพารามิเตอร์ member_id={ค่าที่ต้องการ} ในตัวอย่างคือ 1234 แล้ว Enter เพื่อดูผลลัพธ์ในช่อง INPUT
จะเห็นว่าค่าที่ส่งผ่าน URL มานั้นจะแสดงใน INPUT ให้อัตโนมัติ
เมื่อสร้างไฟล์ Views และ Controller เรียบร้อยแล้ว ให้คลิกลิงค์เพื่อดูตัวอย่าง คลิกเข้าไปที่ "เพิ่มข้อมูลใหม่" จะได้ผลลัพธ์เป็นช่อง INPUT ที่ไม่สามารถกรอกข้อมูลได้ แต่จะรับค่าพารามิเตอร์ที่ชื่อ member_id จากการ SUBMIT ผ่านแบบฟอร์มมาเท่านั้น
ตัวอย่างแบบฟอร์มส่งค่า action="{URL ของแบบฟอร์มเพิ่มข้อมูลที่ได้สร้างไว้}" ในที่นี้คือ index.php/test/resume/add และส่งข้อมูล Input ที่มีแอตทริบิวต์ name="member_id" เหมือนที่เราได้รับค่าไว้
เมื่อกด บันทึก แบบฟอร์มนี้ก็จะส่งข้อมูล member_id ที่ไปยังหน้า "เพิ่มข้อมูลใหม่" ที่เราได้สร้างเตรียมไว้รับค่า POST ก็จะแสดงตัวเลข 1234 อัตโนมัติ
วิดีโอสาธิตการทำงาน
[ PHP CI MANIA #7 ระบบบริหารจัดการข้อมูลโรงเรียน ส่งข้อมูลผ่าน URL เพื่อบันทึก Resume [CodeIgniter] ] https://www.youtube.com/watch?v=OArRxYz6T2A
<< การค้นหา แบ่งหน้า และการจัดเรียง บันทึกข้อมูลแบบ Master - Detail »
จะประกอบด้วยตัวเลือกดังนี้
- Form Input จะเป็นการกำหนดตาม "ประเภทช่องป้อนข้อมูล" ในตอนที่ 7
- URI Segment จะเป็นการดึงค่าใน URL หลัง /index.php ตามด้วยตัวเลขระบุลำดับที่ต้องการ
- SESSION จะเป็นการดึงค่า SESSION ที่ล็อกอินมาใช้งาน
- GET จะเป็นการดึงค่าใน URL (สำหรับ CodeIgniter จะไม่นิยมส่ง GET จะใช้ URI Segment )
- POST จะเป็นการรับค่าจากการกด SUBMIT มายังหน้าแบบฟอร์มปัจจุบัน
มาลองดูผลลัพธ์ทีละส่วนกันครับ
1. Form Input
จะกำหนดตาม "ประเภทช่องป้อนข้อมูล" ในตอนที่ 7 ในตัวอย่างนี้จะเลือก "ประเภทช่องป้อนข้อมูล" เป็นแบบบรรทัดเดียว
เมื่อสร้างไฟล์ Views และ Controller เรียบร้อยแล้ว ให้คลิกเข้าไปที่หน้า "เพิ่มข้อมูลใหม่" จะได้ผลลัพธ์ดังนี้
2. URI Segment
จะต้องกำหนดตำแหน่งของ URL ที่ต้องการดึงมาใช้งานด้วย ในตัวอย่างนี้คือเลข 4
เมื่อสร้างไฟล์ Views และ Controller เรียบร้อยแล้ว ให้คลิกเข้าไปที่หน้า "เพิ่มข้อมูลใหม่" จะได้ผลลัพธ์เป็นช่อง INPUT ที่ไม่สามารถกรอกข้อมูลได้ จะรับค่าจาก URL
ทดสอบโดยการป้อนข้อมูลลงในตำแหน่งที่ 4 แล้ว Enter เพื่อดูผลลัพธ์ในช่อง INPUT
วิดีโอสาธิต [ PHP CI MANIA #7 ระบบบริหารจัดการข้อมูลโรงเรียน ส่งข้อมูลผ่าน URL เพื่อบันทึก Resume [CodeIgniter] ] https://www.youtube.com/watch?v=OArRxYz6T2A
3. SESSION
จะต้องกำหนดชื่อ SESSION ลงไปด้วย ซึ่งใน example_project ที่ออกแบบสำหรับรันโค้ดที่ได้จาก PHP CI MANIA นี้จะกำหนดไว้ตอน Login ในไฟล์ application/models/Member_login_model.php
เทมเพลต example_expert จะอยู่ที่ตำแหน่ง
application\modules\member\models\Login_model.php
ฟังก์ชั่น validate() สามารถเพิ่มจากตรงนี้ได้
ในตัวอย่างนี้เราจะกำหนดให้รับค่าจาก user_id ให้พิมพ์ลงแทนที่ member_id
และการจะใช้ SESSION ได้นั้น ก็ต้องผ่านระบบล็อกอินด้วย ดังนั้นก็ต้องคลิกเลือก "Login Require" ทุกครั้งเพื่อเช็คสิทธิ์การเข้าใช้งาน
เมื่อสร้างไฟล์ Views และ Controller เรียบร้อยแล้ว ให้คลิกลิงค์เพื่อดูตัวอย่าง ก็จะพบกับหน้าตรวจสอบสิทธิ์ก่อนเข้าใช้งาน ให้ใช้รหัสทดสอบ user1 รหัสผ่าน 123456
จะเป็นการดึงค่าใน URL ซึ่ง CodeIgniter จะไม่นิยมรับ-ส่ง ค่าแบบ GET แต่จะใช้ URI Segment ในแบบข้อที่ 2 แทน สำหรับการใช้งาน ให้กำหนดชื่อพารามิเตอร์ที่จะใช้ รับ-ส่งค่า ตัวอย่างคือ member_id
เมื่อสร้างไฟล์ Views และ Controller เรียบร้อยแล้ว ให้คลิกลิงค์เพื่อดูตัวอย่าง เข้าไปที่ "เพิ่มข้อมูลใหม่" จะได้ผลลัพธ์เป็นช่อง INPUT ที่ไม่สามารถกรอกข้อมูลได้ แต่จะรับค่าพารามิเตอร์ที่ชื่อ member_id จาก URL เท่านั้น
ทดสอบโดยการป้อนข้อมูลลง URL โดยต่อท้ายเครื่องหมาย ? ตามด้วยพารามิเตอร์ member_id={ค่าที่ต้องการ} ในตัวอย่างคือ 1234 แล้ว Enter เพื่อดูผลลัพธ์ในช่อง INPUT
จะเห็นว่าค่าที่ส่งผ่าน URL มานั้นจะแสดงใน INPUT ให้อัตโนมัติ
4. POST
สำหรับการรับส่งค่าแบบ POST นั้น ก็ตั้งค่าเช่นเดียวกับ GET คือ กำหนดชื่อพารามิเตอร์ที่จะใช้ รับ-ส่งค่า ตัวอย่างคือ member_id แต่จะแตกต่างกันที่การทดสอบ จะต้องสร้างฟอร์มขึ้นมาเพื่อกด SUBMIT ส่งค่าแบบ POST มายังแบบฟอร์มที่เราสร้างไว้
เมื่อสร้างไฟล์ Views และ Controller เรียบร้อยแล้ว ให้คลิกลิงค์เพื่อดูตัวอย่าง คลิกเข้าไปที่ "เพิ่มข้อมูลใหม่" จะได้ผลลัพธ์เป็นช่อง INPUT ที่ไม่สามารถกรอกข้อมูลได้ แต่จะรับค่าพารามิเตอร์ที่ชื่อ member_id จากการ SUBMIT ผ่านแบบฟอร์มมาเท่านั้น
ตัวอย่างแบบฟอร์มส่งค่า action="{URL ของแบบฟอร์มเพิ่มข้อมูลที่ได้สร้างไว้}" ในที่นี้คือ index.php/test/resume/add และส่งข้อมูล Input ที่มีแอตทริบิวต์ name="member_id" เหมือนที่เราได้รับค่าไว้
เมื่อกด บันทึก แบบฟอร์มนี้ก็จะส่งข้อมูล member_id ที่ไปยังหน้า "เพิ่มข้อมูลใหม่" ที่เราได้สร้างเตรียมไว้รับค่า POST ก็จะแสดงตัวเลข 1234 อัตโนมัติ
วิดีโอสาธิตการทำงาน
[ PHP CI MANIA #7 ระบบบริหารจัดการข้อมูลโรงเรียน ส่งข้อมูลผ่าน URL เพื่อบันทึก Resume [CodeIgniter] ] https://www.youtube.com/watch?v=OArRxYz6T2A
<< การค้นหา แบ่งหน้า และการจัดเรียง บันทึกข้อมูลแบบ Master - Detail »
[[ PHP CI MANIA | ลดเวลาเขียนโค้ด เพิ่มเวลาบริหารจัดการได้มากขึ้น | Webpage Generator by CodeIgniter Framework ]]
HOME
HOME
ความคิดเห็น
แสดงความคิดเห็น