将服务器端验证的输入发送到新的PHP页面

时间:2015-08-08 13:22:21

标签: php validation

我正在为我的团队正在开发的项目编写前端。职责如下:

  1. page1.php - 接收并验证(在服务器上)用户输入。通过 已验证的对page2.php的输入
  2. page2.php - 从page1.php接收经过验证的输入并继续处理。
  3. 我负责创建page1.php,我的同事正在创建page2.php。 我正在使用服务器端验证来确保只将有效数据传递给page2.php。我正在使用下面引用的表单属性。

    <form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
    

    一旦验证了page1.php上的数据,我该如何将其发送到page2.php?我考虑过以下几点:

    1. 标题功能 - 不起作用,因为发送HTML(表单)以获取用户的输入。
    2. 会话变量 - 这可以用于跨页面共享经过验证的输入,但不会加载page2.php。
    3. 或者有更好的方法来构建它吗?我无法使用JavaScript进行验证,因为我需要验证服务器上的数据。

      提前感谢您的建议。

1 个答案:

答案 0 :(得分:0)

将验证逻辑放在另一个&#34;页面上是没有意义的。无论结果如何。

你不应该通过&#34;这个数据没问题&#34; 页面之间的消息,仅在函数之间。

这个过程应该是这样的:

  1. 浏览器从服务器请求带有表单的页面
  2. 服务器发送表单
  3. 浏览器发送提交的表单数据
  4. 服务器检查表单数据并确定它是否正常(在这种情况下,它处理它并返回OK页面)或者如果它不是(在这种情况下它会返回错误消息,可能还有表单)
  5. 一个简单的例子是:

    include("form-validation.php");
    if (submitted_data_ok()) {
        include("put-data-in-database.php");
        include("show-ok-message-to-user.php");
    } else {
        include("form.php");
    }
    

    对于更高级的方法,请研究MVC框架。