process.php
การประมวลผลของโมดูล
ไฟล์ process.php
ใน Backstage ใช้ประมวลผลการดำเนินการของผู้ใช้ ไฟล์นี้มักใช้สำหรับ:
process.php
ใน Backstage ใช้ประมวลผลการดำเนินการของผู้ใช้ ไฟล์นี้มักใช้สำหรับ:จัดการการร้องขอ HTTP เช่น การส่งแบบฟอร์ม การคลิกปุ่ม และการโหลดหน้าเพจ
อัปเดตฐานข้อมูล
เรียก API ที่แสดงไปยังโมดูล
ดำเนินการอื่นๆ ที่เกี่ยวข้องกับโมดูล
โครงสร้าง:
โครงสร้างของไฟล์ process.php
อาจแตกต่างกันไปขึ้นอยู่กับโมดูล แต่โดยทั่วไปแล้ว ไฟล์นี้ประกอบด้วยส่วนประกอบหลักดังต่อไปนี้:
การรับข้อมูล:
ใช้ PHP superglobal variables เช่น
$_GET
และ$_POST
เพื่อรับข้อมูลจากผู้ใช้ข้อมูลนี้อาจมาจากแบบฟอร์ม URL หรือแหล่งอื่นๆ
การตรวจสอบข้อมูล:
ตรวจสอบว่าข้อมูลที่ส่งมานั้นถูกต้อง ครบถ้วน และปลอดภัย
ใช้ฟังก์ชัน PHP เช่น
filter_input()
และtrim()
เพื่อทำความสะอาดข้อมูลแสดงข้อผิดพลาดหรือข้อความแจ้งเตือนแก่ผู้ใช้หากจำเป็น
การประมวลผลข้อมูล:
ประมวลผลข้อมูลที่ส่งมานั้นตามตรรกะของโมดูล
อาจเกี่ยวข้องกับการอัปเดตฐานข้อมูล เรียก API หรือดำเนินการอื่นๆ
การตอบสนอง:
ส่งการตอบสนองกลับไปยังผู้ใช้
การตอบสนองนี้อาจเป็นการเปลี่ยนเส้นทางไปยังหน้าเว็บอื่น การแสดงข้อความแจ้ง หรือการดาวน์โหลดไฟล์
การจัดการข้อผิดพลาด:
จัดการข้อผิดพลาดที่อาจเกิดขึ้นระหว่างการประมวลผล
แสดงข้อความแจ้งข้อผิดพลาดที่ชัดเจนแก่ผู้ใช้
ตัวอย่าง:
PHP
<?php
// รับข้อมูลจากแบบฟอร์ม
$name = filter_input(INPUT_POST, 'name', FILTER_SANITIZE_STRING);
$email = filter_input(INPUT_POST, 'email', FILTER_SANITIZE_EMAIL);
$message = filter_input(INPUT_POST, 'message', FILTER_SANITIZE_STRING);
// ตรวจสอบข้อมูล
if (empty($name) || empty($email) || empty($message)) {
$error = 'กรุณากรอกข้อมูลให้ครบถ้วน';
} else {
// ประมวลผลข้อมูล
// ...
// ส่งการตอบสนอง
echo 'ขอบคุณสำหรับข้อความของคุณ!';
}
// แสดงข้อผิดพลาด
if (isset($error)) {
echo '<p class="error">' . $error . '</p>';
}
หมายเหตุ:
ตัวอย่างนี้แสดงโครงสร้างพื้นฐานของไฟล์
process.php
คุณต้องปรับแต่งโค้ดนี้ให้เหมาะกับโมดูลของคุณเองตรวจสอบให้แน่ใจว่าคุณใช้การป้องกัน SQL injection และ XSS เมื่อทำงานกับฐานข้อมูล
จัดการข้อผิดพลาดอย่างเหมาะสมและแสดงข้อความแจ้งที่ชัดเจนแก่ผู้ใช้
ตัวอย่างการ Return ค่าใน process.php กลับไปยังส่วนแสดงผล
โค้ดที่แสดงมานั้นถูกต้อง ใช้สำหรับ return ค่าสถานะ ข้อความแจ้ง ไอคอน เวลาหน่วง และ URL กลับไปยังส่วนแสดงผล
ตัวอย่าง :
if ( $_DB->insert( 'blabla', $postdata ) ) {
$status['status'] = true;
$status['title'] = "สำเร็จ";
$status['msg'] = "เรียบร้อยแล้ว";
$status['icon'] = "fa fa-check";
$status['time'] = 1000;
$status['url'] = 'reload';
exit(json_encode($status));
} else {
$status[ 'status' ] = false;
$status[ 'msg' ] = $_DB->getLastError();
exit( json_encode( $status ) );
}
การวิเคราะห์โค้ด:
การตรวจสอบผลลัพธ์:
โค้ดตรวจสอบว่าการ insert ข้อมูลลงในตาราง
device
ในฐานข้อมูลสำเร็จหรือไม่ใช้
$_DB->insert()
ฟังก์ชันจากไลบรารีฐานข้อมูล
การกำหนดค่าสถานะ:
กรณี insert ข้อมูลสำเร็จ
ตั้งค่า
status['status']
เป็นtrue
เพื่อบ่งบอกว่าดำเนินการสำเร็จตั้งค่า
status['title']
เป็น "สำเร็จ" สำหรับหัวข้อการแจ้งเตือนตั้งค่า
status['msg']
เป็น "เรียบร้อยแล้ว" สำหรับรายละเอียดข้อความตั้งค่า
status['icon']
เป็น "fa fa-check" สำหรับไอคอน Font iconตั้งค่า
status['time']
เป็น 1000 มิลลิวินาที (1 วินาที) สำหรับเวลาหน่วงตั้งค่า
status['url']
เป็น 'reload' เพื่อกำหนด URL ที่ต้องการให้ไปหลังปิดการแจ้งเตือน
กรณี insert ข้อมูลล้มเหลว
ตั้งค่า
status[ 'status' ]
เป็นfalse
เพื่อบ่งบอกว่าดำเนินการล้มเหลวตั้งค่า
status[ 'msg' ]
เป็น$_DB->getLastError()
เพื่อแสดงข้อความแสดงข้อผิดพลาดจากฐานข้อมูล
Last updated