我有一个生成表单的php页面。表单的action属性是页面本身。用户提交表单后,将加载相同的页面,但这次设置了POST变量,因此页面运行另一个脚本来处理表单中的传入数据。我这样做是通过使用条件fork:
if(isset($_POST['var'])){
generate form
}else{
insert $_POST data into database
}
我想知道这是好还是坏主意。
答案 0 :(得分:2)
我同意伊格纳西奥。除此之外,如果您不需要更多复杂性,它看起来是一个相当标准的方法。一个非常重要的事情:确保在数据进入数据库之前验证和清理数据。
答案 1 :(得分:1)
不好的部分是将action属性设置为脚本。省略它完全向浏览器表明它应该发布到同一个URL。
答案 2 :(得分:1)
您甚至可能希望检查数据是否通过AJAX提交,以区别于常规表单提交:
if ( $_SERVER['X_REQUESTED_WITH']=='XMLHttpRequest' )
// AJAX