【发布时间】:2014-05-07 07:48:25
【问题描述】:
如何在提交时刷新带有表单的页面,等待提交数据的结果并显示结果。
例如,我有一个带有表单的页面:
<form action="" method="post">
<input type="name" value="" name="name" placeholder="Your Name" />
<input type="button" name="submit" value="submit form "/>
</form>
处理表单的引擎是外部的,但在页面中是必需的:
require_once 'form_engine.php';
form_engine.php 检查输入,
$success = "true";
$errorMessage = " ";
$name = $_POST['name'];
if ( $name == '') {
$errorMessage = 'Please enter your name';
$success = false;
}
else (if $success = true) {
// do something with the data
}
表单页面包含结果:
<form action="" method="post">
<input type="name" value="" name="name" placeholder="Your Name" />
<input type="button" name="submit" value="submit form "/>
</form>
<p><?php echo $errorMessage; ?></p>
表单提交错误后会显示错误信息吗?还是我必须使用会话来存储它?
【问题讨论】:
-
是的,使用会话。在这里阅读更多:php.net/manual/en/features.sessions.php
-
顺便说一句,您的
form_engine.php有一些语法和逻辑错误。else ( if和( $success = true )和$success = "true"; -
这些应该固定为
else if (和($success == true)和$success = true; -
如果您在同一页面上提交表单,则不需要使用会话但是在您的情况下,您希望使用 form_engine.php 作为单独的 php 表单提交代码处理程序,因此,您必须使用 session 来存储 $errorMessage 的值,然后您才能在表单中访问它。