ชื่อคำถามประเภทนี้อธิบายคำถามของฉัน ฉันจะเปลี่ยนเส้นทางผู้เยี่ยมชมหน้า PHP กลับไปที่หน้าก่อนหน้าด้วยไฟล์header( "Location: URL of previous page" );
ชื่อคำถามประเภทนี้อธิบายคำถามของฉัน ฉันจะเปลี่ยนเส้นทางผู้เยี่ยมชมหน้า PHP กลับไปที่หน้าก่อนหน้าด้วยไฟล์header( "Location: URL of previous page" );
คำตอบ:
ลอง:
header('Location: ' . $_SERVER['HTTP_REFERER']);
โปรดทราบว่าสิ่งนี้อาจใช้ไม่ได้กับเพจที่ปลอดภัย (HTTPS) และโดยรวมแล้วเป็นความคิดที่ไม่ดีเลยเนื่องจากส่วนหัวสามารถถูกไฮแจ็คส่งผู้ใช้ไปยังปลายทางอื่น เบราว์เซอร์อาจไม่ส่งส่วนหัวด้วยซ้ำ
ตามหลักการแล้วคุณจะต้อง:
มันง่ายมากเพียงแค่ใช้สิ่งนี้
header("location:javascript://history.go(-1)");
มันทำงานได้ดีสำหรับฉัน
"Corrupted Content Error The page you are trying to view cannot be shown because an error in the data transmission was detected."
แล้วนี่จึงใช้ไม่ได้โดยทั่วไป
คุณต้องบันทึกตำแหน่งนั้นไว้
สมมติว่าเป็นแบบฟอร์ม POST เพียงใส่ตำแหน่งปัจจุบันในช่องที่ซ่อนอยู่จากนั้นใช้ในheader()
ตำแหน่ง
เพียงเล็กน้อยเพิ่มเติม: ฉันเชื่อว่ามันเป็นเรื่องธรรมดาและเป็นที่รู้จักในการเพิ่มexit;
หลังจากฟังก์ชั่นส่วนหัวในกรณีที่เราไม่ต้องการให้โค้ดที่เหลือโหลดหรือรัน ...
header('Location: ' . $_SERVER['HTTP_REFERER']);
exit;
ลองสิ่งนี้ใน Javascript:
$previous = "javascript:history.go(-1)";
หรือคุณสามารถลองใช้ PHP:
if(isset($_SERVER['HTTP_REFERER'])) {
$previous = $_SERVER['HTTP_REFERER'];
}
การจัดเก็บ url ก่อนหน้าในตัวแปรเซสชันไม่ดีเนื่องจากผู้ใช้อาจคลิกขวาบนหลาย ๆ เพจแล้วกลับมาบันทึก
เว้นแต่คุณจะบันทึก url ก่อนหน้าในตัวแปรเซสชันลงในฟิลด์ที่ซ่อนอยู่ในรูปแบบและหลังจากบันทึกส่วนหัว ("ตำแหน่ง: บันทึก URL ของหน้าการโทร");