PHP - 返回相同的页面并进行更改

时间:2012-11-20 14:06:13

标签: php html

我有html页面,您可以在其中插入一些信息,然后提交此表单,这将更改数据库中的信息。我通常这样做,提交服务器中的按钮调用php文件。 但我想要的是,这个php文件将返回给我相同的html页面,我发送请求,修改后的更改。例如:将添加“数据库更新成功”文本等。 没有AJAX我怎么能这样做?

由于

3 个答案:

答案 0 :(得分:1)

在PHP文件中,调用header()函数以重定向用户。例如:

header('Location: url.php');

要更改重定向到的网页内容,您可以在网页检查的网址中传递内容。例如:

header('Location: url.php?submitted=1');

还有其他方法可以实现这一点,但这对我来说似乎最直接。请注意,您不希望在提交页面结束前调用header()。

答案 1 :(得分:0)

使用POST/REDIRECT/GET

摘录:

  
      
  1. 用户提交表单

         

    这很简单。用户完成表单并按提交按钮提交表单或在键盘上输入。

  2.   
  3. 我们将表单数据存储在会话中

         

    处理完数据后,我们发现了一个错误,所以我们需要重新显示带有错误信息的表单,但我们也希望填充   它与他们的数据,所以他们不必重新填充整个表格   潜在地解决一个小错误。所以我们将他们的数据存储在一个   session($ _SESSION)。会话变量从页面到页面继承   只要会话有效或直到删除它们。这是   自重定向以来放置信息的理想位置   他们的信息将被服务器立即丢弃。

  4.   
  5. 我们使用303重定向

    将用户重定向回同一页面      

    一旦我们在会话中保存了用户的信息,我们需要将它们重定向回同一页面。为了这个工作   我们需要使用303重定向。这意味着我们需要发送一个   303我们的重定向标题。 303重定向将导致浏览器   在没有初始HTTP POST请求的情况下重新加载页面   重新提交。这包括用户使用后退或刷新的时间   的按钮。

  6.   
  7. 我们使用会话中存储的数据重新填充表单    当页面发送给用户时,我们会将其保存在会话中的信息重新填充。

  8.   

答案 2 :(得分:0)

只有首先在CGI中生成整个页面,除非你通过一些非常复杂的方法来获取其中一个字段的值,以便将其设置为document.innerHTML或Javascript中的类似内容。但你会经历地狱,以解决引用问题。使用AJAX,它就是为了这个目的而创建的,正是为了避免与你所需要的完全相关。

或者:页面的“修改后的部分”可以是iframe,您可以设置表单的target属性,以便PHP只返回iframe内容。