PHP-返回带有更改的同一页面
我有一个html页面,您可以在其中插入一些信息,然后提交此表单,这将改变数据库中的信息。我通常这样做,提交按钮调用服务器中的php文件。 但我想要的是,这个php文件将返回到我发送请求的同一个html页面,并进行修改。e、 g:将添加“数据库更新成功”文本等。 没有AJAX我怎么做 谢谢使用 摘录:PHP-返回带有更改的同一页面,php,html,Php,Html,我有一个html页面,您可以在其中插入一些信息,然后提交此表单,这将改变数据库中的信息。我通常这样做,提交按钮调用服务器中的php文件。 但我想要的是,这个php文件将返回到我发送请求的同一个html页面,并进行修改。e、 g:将添加“数据库更新成功”文本等。 没有AJAX我怎么做 谢谢使用 摘录: 用户提交表单 这很直截了当。用户通过按submit按钮或键盘上的enter键完成表单并提交表单 我们将表单数据存储在会话中 在处理数据之后,我们发现了一个错误,因此我们需要重新显示带有错误消息的表单
在PHP文件中,调用header()函数重定向用户。例如:
header('Location: url.php');
header('Location: url.php?submitted=1');
要更改他们重定向到的页面的内容,您可以在URL中传递您的页面将要检查的内容。例如:
header('Location: url.php');
header('Location: url.php?submitted=1');
还有其他方法可以实现这一点,但对我来说,这似乎是最简单的方法。请注意,在提交页面结束之前,您不想调用header()。只需首先在CGI中生成整个页面,除非您使用了一些非常复杂的方法来获取要设置为document.innerHTML或类似Javascript中的某个字段的值。但要解决报价问题,你得下地狱。使用AJAX,它正是为了这个目的而创建的,也正是为了避免与您的需求相关的地狱
或者:页面的“修改部分”可能是一个iframe,您可以设置表单的
target
属性,以便PHP只返回iframe内容。您可以显示当前正在使用的代码吗?如果我理解正确,您有两个PHP文件要合并为一个,并且在该文件上,根据输入状态有条件地显示/隐藏文本?有一个隐藏字段,最初为空。当你提交时,用类似“更新”的东西修改它。在php中,您可以选择状态(初始提交或后期提交),并在php中采取相应的行动。所以基本上只有一个php文件是的,我知道AJAX非常适合它。但我以前在ASP.NET中工作过,通常有一些东西,用修改过的内容刷新页面。所以我感兴趣的是PHPI中有类似的smth,我认为这听起来是最好的解决方案。谢谢但是你怎么看待AJAX呢?什么时候起诉它?当然,Ajax是一种选择,如果您试图避免使用基于页面的站点/应用程序,它可能是可取的。然而,它确实有局限性。例如,您不能(据我所知)通过Ajax进行文件上传。但是,如果表单数据更简单(即文本字段、选择列表等),那么Ajax仍然是一个选项。在这种情况下,您需要将表单提交的操作定向到JavaScript函数。该函数将从表单中获取值,然后使用适当的API(例如jQuery)将值发送到PHP脚本。您可以让PHP脚本返回JSON,JavaScript回调将检查JSON,然后使用JSON确定如何更新页面。