process.php

การประมวลผลของโมดูล

ไฟล์ process.php ใน Backstage ใช้ประมวลผลการดำเนินการของผู้ใช้ ไฟล์นี้มักใช้สำหรับ:

  • จัดการการร้องขอ HTTP เช่น การส่งแบบฟอร์ม การคลิกปุ่ม และการโหลดหน้าเพจ

  • อัปเดตฐานข้อมูล

  • เรียก API ที่แสดงไปยังโมดูล

  • ดำเนินการอื่นๆ ที่เกี่ยวข้องกับโมดูล

โครงสร้าง:

โครงสร้างของไฟล์ process.php อาจแตกต่างกันไปขึ้นอยู่กับโมดูล แต่โดยทั่วไปแล้ว ไฟล์นี้ประกอบด้วยส่วนประกอบหลักดังต่อไปนี้:

  1. การรับข้อมูล:

    • ใช้ PHP superglobal variables เช่น $_GET และ $_POST เพื่อรับข้อมูลจากผู้ใช้

    • ข้อมูลนี้อาจมาจากแบบฟอร์ม URL หรือแหล่งอื่นๆ

  2. การตรวจสอบข้อมูล:

    • ตรวจสอบว่าข้อมูลที่ส่งมานั้นถูกต้อง ครบถ้วน และปลอดภัย

    • ใช้ฟังก์ชัน PHP เช่น filter_input() และ trim() เพื่อทำความสะอาดข้อมูล

    • แสดงข้อผิดพลาดหรือข้อความแจ้งเตือนแก่ผู้ใช้หากจำเป็น

  3. การประมวลผลข้อมูล:

    • ประมวลผลข้อมูลที่ส่งมานั้นตามตรรกะของโมดูล

    • อาจเกี่ยวข้องกับการอัปเดตฐานข้อมูล เรียก API หรือดำเนินการอื่นๆ

  4. การตอบสนอง:

    • ส่งการตอบสนองกลับไปยังผู้ใช้

    • การตอบสนองนี้อาจเป็นการเปลี่ยนเส้นทางไปยังหน้าเว็บอื่น การแสดงข้อความแจ้ง หรือการดาวน์โหลดไฟล์

  5. การจัดการข้อผิดพลาด:

    • จัดการข้อผิดพลาดที่อาจเกิดขึ้นระหว่างการประมวลผล

    • แสดงข้อความแจ้งข้อผิดพลาดที่ชัดเจนแก่ผู้ใช้

ตัวอย่าง:

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 ) );
	}

การวิเคราะห์โค้ด:

  1. การตรวจสอบผลลัพธ์:

    • โค้ดตรวจสอบว่าการ insert ข้อมูลลงในตาราง device ในฐานข้อมูลสำเร็จหรือไม่

    • ใช้ $_DB->insert() ฟังก์ชันจากไลบรารีฐานข้อมูล

  2. การกำหนดค่าสถานะ:

    • กรณี 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