ฉันมีหน้าเว็บที่มีเทมเพลตที่ง่ายมาก:
<!DOCTYPE html>
<html>
<head><title>TEST REGISTRATION PAGE</title></head>
<body>
<?php
print drupal_get_form('user_register');
print $messages;
print $closure;
print $main_content;
?>
</body></html>
โดยทั่วไปจะแสดงแบบฟอร์มการลงทะเบียนและไม่มีอะไรอื่น
- ฉันป้อนข้อมูลที่ไม่ดีบางอย่างในแบบฟอร์ม - ชื่อผู้ใช้ (admin) ที่ใช้ไปแล้วและไม่มีที่อยู่อีเมล
- ฉันคลิก "สร้างบัญชีใหม่"
- ดูเหมือนว่าหน้าจะส่งและโหลดซ้ำ แต่ไม่มีอะไรเกิดขึ้น - ไม่มีข้อความแสดงข้อผิดพลาดปรากฏขึ้น
- ฉันรีเฟรชหน้า (F5)
- Firefox แสดง "เพื่อแสดงหน้านี้ Firefox จะต้องส่งข้อมูลที่จะทำซ้ำการกระทำใด ๆ ที่ดำเนินการก่อนหน้านี้" - ดังนั้นฉันจึงรู้ว่า POST ของฉันดำเนินการไปก่อนหน้านี้
- ฉันคลิก "ส่งซ้ำ" ในหน้าต่างข้อความนั้น
- ข้อความแสดงข้อผิดพลาดของฉันปรากฏขึ้น - "จำเป็นต้องกรอกที่อยู่อีเมล", "ชื่อผู้ดูแลระบบได้ดำเนินการไปแล้ว"
สิ่งนี้เกิดขึ้นกับฟอร์มทั้งหมดที่ฉันทดสอบจนถึงตอนนี้ไม่ใช่แค่แบบฟอร์มลงทะเบียน
ทำไมสิ่งนี้จึงเกิดขึ้น ฉันจะแก้ไขได้อย่างไรเพื่อให้ข้อความแสดงข้อผิดพลาดปรากฏขึ้นเป็นครั้งแรก
ฉันยินดีที่จะทำสิ่งที่ฉันต้องการแก้ปัญหา แต่ฉันต้องการทิศทางที่จะเริ่มมองหา :)
drupal_get_form('user_register')
$block['content']
ฉันรวมโมดูลนั้นผ่านบริบทแล้วข้อความแสดงข้อผิดพลาดการลงทะเบียนแสดงขึ้นอย่างถูกต้องหลังจากส่ง ดูเหมือนจะซับซ้อนเกินไป แต่ใช้งานได้และทำให้ฉันรวมฟอร์มล็อกอิน / ลงทะเบียนตามที่ฉันต้องการ ขอบคุณสำหรับความช่วยเหลือของคุณ