【问题标题】:How to send form errors back to the form via $_POST when redirected for processing重定向处理时如何通过 $_POST 将表单错误发送回表单
【发布时间】:2011-12-13 14:09:11
【问题描述】:

我在contact.php 有一个表格,里面有大量的输入。

此表单将使用 php mail() 函数邮寄,前提是验证码正确且输入值遵循正则表达式。

表单的动作是"mailer.php",方法是post

mailer.php上,检查验证和验证码验证等。但如果用户输入错误的验证码,他们将被重定向回表单。

他们刚刚输入的所有数据都被清除了!

我曾经使用查询字符串和$_GET 数组进行重定向。

但我不能为这个表单这样做,因为有很多数据,包括许多文本区域等。

那么我如何在出错时将此数据发送回表单?

【问题讨论】:

标签: php post


【解决方案1】:

您可以将用户输入信息存储为$_SESSION 变量。不要忘记包含session_start(); 来启动会话。

【讨论】:

    【解决方案2】:

    你应该像这样设计流程:-

    1. form(接受一组默认值)
    2. 当用户提交表单到 mailer.php
      • 必要的检查
      • 如果成功,继续发邮件
        • 完成然后重定向到任何地方
      • 如果失败
        • 再次要求表单
        • 将 $_POST 作为默认值传递

    基本上,失败时不要重定向(仅在成功时)

    【讨论】:

      猜你喜欢
      • 2013-11-22
      • 1970-01-01
      • 1970-01-01
      • 2017-02-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-15
      • 2021-09-09
      相关资源
      最近更新 更多