【发布时间】:2015-08-21 02:01:17
【问题描述】:
我是开发 PHP 表单的新手,目前正在尝试了解和了解它们的处理方式。如果我理解正确的话,有两种方法可以使用“Action”属性。
方法 A:使用单独的 PHP 文件来处理表单。因此,在您的第一个文件 (Form.php) 中,您拥有表单和提交按钮的代码。然后在 ProcessForm.php 文件中,放置所有用于验证数据的代码。在这种情况下,您将表单定义为
<form method="post" action="ProcessForm.php" >
方法 B:对所有内容使用一个 PHP 文件,包括表单代码、提交按钮和所有验证内容(包括在表单字段输入不正确时输出错误消息)。在这里,您将表单定义为
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
目前,我不明白其中一种方法是否更正确,或者为什么您会使用其中一种方法。
我看到一个表单有四个组件:表单的 HTML、连接到 MySQL 的 PHP、输入验证/清理/错误打印输出的 PHP,以及将数据移动到 MySQL 数据库的 PHP。我希望我的表单能够(在提交时)如下工作:
- 如果提交过程中出现一个或多个错误,请停留在同一页面上(停止提交过程)并显示相关错误消息,并且所有字段仍然填充(而不是空白)。
- 如果提交过程没有错误,将数据移入MySQL,然后显示“您的数据已成功提交”的空白页面和返回我主页的链接。
目前我正在使用方法 B,并且已经成功实现了上面的#1。但我还没有达到#2。所以在这个长篇故事之后,我的问题是:我应该把这四个组件放在哪里?在一两个文件中,为什么?
【问题讨论】:
标签: php mysql forms validation