นับตั้งแต่โบราณกาลมา เราเริ่มเขียนเว็บด้วยภาษา HTML และเราทุกคนก็จะรู้จักคำสั่งในการเปลี่ยนหน้าอัตโนมัติ
<meta http-equiv="refresh" content="0;url=http://www.select2web.com"> |
ใน HTML นั้นจะใช้ meta tag (ใส่ไว้ในระหว่าง head) เลข 0 คือเวลาวินาทีที่เราต้องการหน่วงไว้ ก่อนจะเปลี่ยนหน้าไปที่ url ที่กำหนดไว้ ถ้าต้องการหน่วง 5 วินาที ก็เปลี่ยนเลข 0 เป็นเลข 5 ซะ ส่วนเลข 0 นั้นมีความหมายว่า ไม่ต้องหน่วงเวลา ให้ไปได้เลย
ทีนี้มาถึงคิวของ PHP
ตัว PHP มีคำสั่งเฉพาะสำหรับเปลี่ยนหน้าเพจ เช่นสมมติว่า หลังจากทำโค้ดหน้านี้เสร็จแล้วจะให้ไปหน้าไหนต่อ หรือตัวอย่างที่เห็นกันชัดๆ ก็คือระบบล้อกอิน ถ้าป้อน username และ password ไม่ถูกต้องให้แสดงหน้ารายงานว่า อะไรไม่ถูกต้อง หรือถ้าหากว่าล้อกอินถูกต้อง ก็ให้ redirect ไปยังหน้าแอดมิน เป็นต้น
คำสั่ง php redirect
<? header("Location : http://www.select2web.com"); ?> |
อยากจะให้ redirect ไปหน้าไหนก็ระบุไว้หลัง Location นั่นแหละครับ
มีเรื่องจะเล่าให้ฟัง ผมเองเวลาใช้คำสั่งนี้ ผมจะลืมคำว่า Location เป็นประจำ จนต้องเปิดกูเกิลหาว่าไวยากรณ์มันเขียนยังไง อย่างไรเสียท่านก็อย่าทำตัวแบบผมนะครับ ให้จำไว้เลยว่า มันจะมีคำว่า Location ด้วย
ทีนี้ถ้าท่านต้องการจะ redirect ภายในเว็บท่านเอง ท่านก็เขียนได้ดังนี้
<? header("Location : dashboard.php"); ?> |
ไม่จำเป็นจะต้องระบุพาธแบบเต็ม
โปรแกรมเมอร์(จำเป็น) says:
11/02/2553 at 11/02/2553
คำสั่ง header นี้ มีอย่างนึงที่ต้องระวัง ก็คือ ถ้ามีการสั่ง echo หรือว่า print หรือแม้กระทั่งมีการแสดง error message ออกทางหน้าจอ ก่อนคำสั่ง header มันจะไม่ redirect ไปให้เรา เพราะฉะนั้น ระวังตรงจุดนี้ด้วยครับ ผมเจอบ่อย
……. http://faker-programmer.blogspot.com
warn says:
09/05/2554 at 09/05/2554
ดีจัง ..ขอบคุณครับ