我想写我的第一个PHP脚本(希望)。我想将用户输入从HTML页面中的表单发送到PHP脚本并在脚本中对其进行验证。那么,如果输入数据有任何问题,请返回第一页并突出显示错误的字段。否则转到另一个页面(类似成功)。如何使用POST不使用表单将变量从PHP脚本发送到另一个脚本?
如何在不使用表单的情况下将第二个脚本的反馈发送到第一页?例如,
我想写我的第一个PHP脚本(希望)。我想将用户输入从HTML页面中的表单发送到PHP脚本并在脚本中对其进行验证。那么,如果输入数据有任何问题,请返回第一页并突出显示错误的字段。否则转到另一个页面(类似成功)。如何使用POST不使用表单将变量从PHP脚本发送到另一个脚本?
如何在不使用表单的情况下将第二个脚本的反馈发送到第一页?例如,
只是让你表单POST给自己,然后在你的PHP检查值,如果它们是有效的,不会显示你的形式和做你的提交代码。如果它们无效,则显示带有值和错误显示的表单。
...然后,只是评估验证脚本从另一个文件?这是个好主意!谢谢。 – 2011-06-07 19:11:23
重新加载第一页并在会话中发送反馈。如果session ['errors']存在,则回显它们。注意你必须在你的html页面中包含一些php标签。
使用会话......这里有一个链接,以帮助您开始:http://www.tizag.com/phpT/phpsessions.php
总之,你有这样的事情:
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$errors = array();
$name = $_POST['name'];
if ($name !== 'Fred') {
$errors[] = 'Please enter "Fred"';
}
... validate more fields ...
if (count($errors) == 0) {
... form is ok ...
header('Location: everything_is_ok.php');
exit();
}
}
?>
<form action="<?php echo $_SERVER['SCRIPT_NAME'] ?>" method="POST">
Enter 'Fred': <input type="text" name="name" value="<?php echo htmlspecialchars($name) ?>" /><br />
<input type="submit" />
</form>
基本上是:有表单页面提交回发到自身。如果一切正常,请将用户重定向到另一个页面。否则,重新显示表单。
与James P. Wright的答案相同......谢谢。 – 2011-06-07 19:12:48
是的,但他实际上花时间显示代码。 :P – 2011-06-07 19:37:40
尝试使用[sessions](http://www.php.net/manual/en/book.session.php)。 – 2011-06-07 19:01:08
你的意思是,如果输入不正确,你将如何重定向到输入表单? – 2011-06-07 19:01:39
您可以在您的验证脚本中将错误变量(不是整个错误消息,只是一些代码)添加到原始URL并发送用户,然后使用GET获取错误消息。或者你可以在验证页面中将错误添加到json中,如果它不是空的,则将json发送到html页面。 – 2011-06-07 19:02:36