我在contact.php
中有一个表单,其中包含大量输入。
此表格将使用 PHP mail()
函数邮寄,前提是验证码正确且输入值遵循正则表达式。
窗体的操作"mailer.php"
,方法post
在mailer.php
上,检查验证和验证码验证等。但是,如果用户输入了错误的验证码,他们将被重定向回表单。
他们刚刚输入的所有数据都被清除了!
我曾经使用查询字符串和$_GET
数组进行重定向。
但是我不能为这种形式这样做,因为有很多数据,包括许多文本区域等。
那么,如何在出错时将此数据发送回表单呢?
您可以将用户输入信息存储为$_SESSION
变量。不要忘记包含启动会话session_start();
。
你应该像这样设计流程:-
- 表单(接受一组默认值(
- 当用户将表单提交给邮件时.php
- 必要的检查
- 如果成功,请继续发送邮件
- 完成然后重定向到任何位置
- 如果失败
- 再次需要表格
- 传递 $_POST 作为默认值
基本上,失败时不要重定向(仅在成功时(