【问题标题】:Form, external php, refresh表单、外部 php、刷新
【发布时间】:2017-02-24 08:47:08
【问题描述】:

我的 html 有一个表格单元格,其中显示了一个包含以前访问者姓名的文本文件(由 javascript 读取)的内容。这非常有效。

还有一个用于插入访客姓名的表单。 提交时会启动一个外部 php,它将新名称添加到文本文件中。这也很完美。

现在表格以这个开头:

<form method="post" action="write2txt.php" target="_blank">

但我想要的是:提交 html 后只需刷新以显示更新的访问者列表。

【问题讨论】:

  • 有代码可以显示吗?
  • 你需要 AJAX。 learn.jquery.com/ajax
  • 不,请不要使用ajax ...
  • 很好。祝你好运。你有编程问题吗?这个网站是用来提问的,而不是一个倾倒你的待办事项/愿望清单的地方。
  • 如果您不使用 AJAX,那么提交表单应该会加载一个新页面。为什么该页面不显示更新后的列表?

标签: php html forms


【解决方案1】:

不要在表单中使用target="_blank",因为这会在新窗口中显示结果。更改write2txt.php,使其在写入文件后,将重定向发送回原始页面的 URL,而不是生成自己的输出。

<?php
// code to update file
header("Location: form.php");
exit();

这将使浏览器重新加载原始页面,从而获取文件的更新内容。

如果您不想使用 AJAX,这是您必须如何做的一般想法。

【讨论】:

  • 好的,php 文件中的 header("Location: form.html") 似乎可以工作,没有显示 php,但我仍然需要“手动”刷新 html...
  • 您不需要这样做。这应该会重新加载原始页面,就像您手动访问页面时一样。
  • 不,我必须手动完成。文本文件(@JOUM)的缓存似乎不是原因,我已经使用 ...src="txtfile.txt?rando"... 其中rando是一个随机数。
  • 有网页的公开网址可以给我吗?
  • 看起来是缓存问题。如果我在控制台打开的情况下尝试它,它会更新,因为我将它设置为使用调试器禁用缓存。由于 URL 中没有随机数,因此您的缓存破坏器不起作用。它需要一个随机数,每次调用时都会发生变化。
【解决方案2】:

(read in by javascript) & 没有 ajax,是什么意思?

提示

  • javscript 文件被捕获,请记住这一点
  • 为什么不首先用php添加日期
  • 如果表格和添加在一个文件中,则应在输出表格之前添加
  • 如果你有单独的文件重定向回来header('Location: www.xyz.com');

阅读您上面的最后一条评论后,请使用:

header('Location: www.xyz.com');

添加后自动更新

【讨论】:

  • 我使用如下方法:
  • 我使用以下方法:文本文件以'var string ='...开头,并读入html文件.
  • 试试src="txtfile.txt?id='.uniqid().'" 防止浏览器捕获你的js文件
  • 我的意思是在这里解释一下stackoverflow.com/questions/7413234/…
  • @newbieforever 并称之为txtfile.js ;)
猜你喜欢
  • 2013-07-15
  • 2013-05-26
  • 2015-11-15
  • 1970-01-01
  • 2017-03-16
  • 1970-01-01
  • 2022-01-01
  • 1970-01-01
  • 2019-01-13
相关资源
最近更新 更多