将服务器端验证的输入发送到新的php页面
我正在为我的团队正在开发的项目编写前端。其职责如下:将服务器端验证的输入发送到新的php页面,php,validation,Php,Validation,我正在为我的团队正在开发的项目编写前端。其职责如下: php-接收并验证(在服务器上)用户的输入。通过 已验证的page2.php输入 page2.php-从page1.php接收经过验证的输入并继续处理 我负责创建page1.php,我的同事正在创建page2.php。 我使用服务器端验证来确保只将有效数据传递到page2.php。我正在使用下面引用的表单属性 <form method="post" action="<?php echo htmlspecialchars($_SER
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
将验证逻辑放在与结果不同的“页面”上是没有意义的 您不应该在页面之间传递“thisdataisok”消息,而应该在函数之间传递 这个过程应该是这样的:
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框架。当然可以使用javascript。对服务器端验证脚本进行ajax调用。这实际上是最优雅的方式,因为您根本不需要完全重新加载。因此,您的调用会发布表单值以进行验证,因此服务器会返回第二个表单,然后您可以将其插入当前加载的页面中。请解释会话变量不适用于您的原因??为什么不将已验证的输入存储在会话变量中,然后只需执行
header'(位置:page2.php')代码>?@arkascha-允许轻松绕过验证。让客户机询问服务器数据是否正常就可以了。然后让服务器信任客户端说数据正常是完全不安全的。页面将显示表单,接收输入并验证它。验证后,我想将验证后的输入发送到另一个页面进行处理。我是说这不可能通过header('Location:page2.php');因为那时HTML将被发送到浏览器。昆汀,我正在仔细考虑你下面的建议。