让php页面上的表单提交到同一页面是一种糟糕的做法


Is having a form on a php page submit to the same page bad practise?

我的网站(用于学校项目)需要一个显示门票的仪表板。

我想让用户在提交表单之前使用输入来过滤票证。根据使用/未使用的表单输入,mysql查询的where条件将在表中显示票证之前进行更改。

我的问题来了:在表格下面(旁边)再次显示表格是不好的做法,还是我应该链接回来,让表格再次显示?

现在我有一个看起来像这样的东西:

 if (isset($_POST['submit'])) {
 //run the queries, display the table
 //show the form again??
 }
 else{
 //show the form
 }

我不会认为这是一种糟糕的做法,因为它是一种可用性偏好。但是,我建议在提交页面上重定向,以便可以在提交页面执行查询,但随后重定向到显示结果的页面。这将有助于防止人们意外刷新帖子。

if (isset($_POST['submit'])) {
    // query results ...
    // redirect to display.php
} else {
    // display form
}

显示.php

// display results

此外,不要忘记添加一些错误检查:)

不,你能做到,没问题。唯一的问题是,如果用户进行刷新,它将再次重新提交表单。

此外,如果POST成功,您可以进行重定向,以避免重新提交POST。

当将结果放在一边显示时,它应该更有可用性。

相关文章: