CoolBook.Info : The Learning of Website Development

PHP, XHTML, CSS, JavaScript, WP, …

การส่งข้อมูลแบบ Postback คือ การสร้าง form และ PHP script ที่ใช้ในการจัดการ form ไว้ในเพจเดียวกัน
เพจที่สร้างจะต้องรองรับทั้งกรณีการเปิดเพจแบบปกติ และการเปิดเพจจากการโฟสข้อมูลกลับ

การสร้างเพจที่รองรับการส่งข้อมูลแบบ Postback

1) การตวจสอบว่าเพจถูกเรียกจากการโพสข้อมูลเข้ามาหรือไม่
วิธีแรก เลือกอินพุทสักหนึ่งที่อยู่ในฟอร์มมาตรวจสอบ แต่ไม่ครวจเลือกอินพุทชนิด Checkbox หรือ Radio เพราะถ้าผู้ใช้ไม่เลือกอินพุทนั้น ข้อมูลของอินพุทนั้นก็ไม่ถูกส่ง

ตัวอย่าง  สมมติในฟอร์มมีอินพุทชื่อ login ก็อาจตรวจสอบจากฟังก์ชัน isset() ดังนี้

if (isset( $_POST[ 'login' ]) ) {

//ถ้ามีแปลว่าเป็นการ Postback ก็กำหนดการประมวลผลข้อมูลที่ส่งเข้ามาที่นี่

}

 

วิธีที่สอง (cool!!!) ตรวจสอบว่ามีการสร้างตัวแปร $_POST ขึ้นมาหรือไม่ ถ้ามี (true) แสดงว่ามีการโพสข้อมูลกลับเข้ามา ถ้าไม่มี (fale) ก็แสดงว่าเป็นการเปิดเพจตามปกติ

if ($_POST) {

//ถ้ามีการสร้างตัวแปร $_POST แสดงว่าเป็นการ Postback

}

 

2)  ต่อแจากส่วนของ PHP script ก็จะเป็น form ซึ่งข้อกำหนดที่สำคัญคือ พร็อปเพอร์ตี้ action ของ form ต้องกำหนดเป็นชื่อเดียวกับเพจนั้น  หรือถ้าไม่ใช้วิธีกำหนดไว้ตายตัวอาจนำตัวแปรของ PHP มาใช้ ก็คือ  $_SERVER[ 'PHP_SELF' ]  ซึ่งใช้ในการอ้างถึงชื่อของเพจนั้น

ตัวอย่าง ลักษณะแนวทางของโค้ดโดยรวม

<?php
$errmsg = "";

if ( $_POST )  {
    $login = $_POST[ 'login' ];
    if ($login == "abcd") {
        header("Location :  member.php");  //ถ้า Login ถูกต้องย้ายการทำงานที่เพจอื่น
    }
    else {
        $errmsg = "Login ไม่ถูกต้อง";
    }
}
?>
<!DOCTYPE html . . . >
<html . . . >
<head>
.
.
.
</head>
<body>
<?php
if ($errmsg="") {
    echo "<font size=5 color=red>$errmsg</font>";
}
?>
.
.
<form method="post"

    action="<?php ech $_SERVER['PHP_SELF']; ?>">

    <input type="text" name="login"  />
.
.
</form>
</body>
</html>
PHP

Sponsors