页面刷新如何工作?

时间:2013-04-28 12:51:48

标签: php javascript redirect refresh

我一直在寻找Stackoverflow找到一种方法来重新加载页面,就像F5一样。我的意思是我有以下问题:

我有一个包含表单的php页面(比如data.php)和一个包含DB数据的表。表单调用另一个php页面通过post方法执行操作(action.php)。调用Action.php并更新我的数据库。现在我想回到data.php,我希望更新表来读取数据库中的更改。

我所做的是尝试使用action.php以下内容:

  1. 标题('Location:data.php'):这没有用,因为它把我发送到data.php但是在通过F5刷新页面之前我看不到表中的任何变化,我发现它是由于事实上,php是一种服务器端语言,所以它不能在你的浏览器上运行并告诉它重新加载页面,这是正确的吗?
  2. Header('Location:data.php?u = reload'):然后在data.php中对$ _GET ['u']进行控制,如果该变量等于reload I make data.php set header data.php然后调用jscript location.reload。我再次对表格没有任何改变。
  3. 现在我想在DB更新后自动刷新data.php表,以便用户能够立即看到他引入的更改,而无需手动重新加载页面,我该怎么办?

    非常感谢!

    编辑:

    实际发生的情况如下:我有一个文件夹,其中图像以imgID.EXT格式存储,DB有一个DB,其中图像数据以ID,EXT,TEXT格式存储。 Data.php加载按ID排序的图像列表及其自己的文本,并具有修改列表的按钮(类似于每个图像都有移动按钮,移动按钮,删除按钮)。当我调用moveup时,我转到action.php,它会更改图像的ID在列表中移动并更改图像文件夹中的名称,然后返回data.php。

    我知道在重定向后我看到的图像与之前的位置相同,但是例如图像#5的TEXT正好与图像#4的TEXT交换。当我使用F5(或浏览器按钮重新加载页面)刷新时,图像#5与图像#4交换,一切正常。我想在不需要使用F5的情况下交换任何东西,但只是无法理解是什么问题。

1 个答案:

答案 0 :(得分:0)

在用户加载data.php之前,可能是mySQL没有在数据库中插入/更新你的行。我曾经有过这个问题,在我的标题重定向之前解决了睡眠问题(1)。

这不是最好的解决方案,但它解决了这个问题。更好的方法是使用一些javascript来处理表单或在显示成功通知后重定向用户。