使用相同的php文件来显示表单并接收表单的数据

时间:2010-10-11 04:11:10

标签: php forms post

我有一个生成表单的php页面。表单的action属性是页面本身。用户提交表单后,将加载相同的页面,但这次设置了POST变量,因此页面运行另一个脚本来处理表单中的传入数据。我这样做是通过使用条件fork:

if(isset($_POST['var'])){
    generate form
}else{
    insert $_POST data into database
}

我想知道这是好还是坏主意。

3 个答案:

答案 0 :(得分:2)

我同意伊格纳西奥。除此之外,如果您不需要更多复杂性,它看起来是一个相当标准的方法。一个非常重要的事情:确保在数据进入数据库之前验证和清理数据。

答案 1 :(得分:1)

不好的部分是将action属性设置为脚本。省略它完全向浏览器表明它应该发布到同一个URL。

答案 2 :(得分:1)

您甚至可能希望检查数据是否通过AJAX提交,以区别于常规表单提交:

if ( $_SERVER['X_REQUESTED_WITH']=='XMLHttpRequest' )
  // AJAX