繁体   English   中英

重定向到带有请求参数的php页面并对其进行处理后,如何在没有参数的情况下返回同一页面?

[英]After redirecting to a php page with request parameters and processing them, how to I return to the same page without the parameters?

我有一个 PHP 页面,用于测试$_REQUEST['delete']以查看它是否存在。

如果是,那么我从列表中删除它引用的项目编号并重定向到不同的选项卡。 Tab 切换是通过隐藏和暴露不同的 div 来完成的。

但是,浏览器 URL 字段中显示的 URL 中仍然包含 URL ?delete=nn 如果我在不更改显示的 URL 的情况下无意中再次提交,这可能会导致第二次删除。

切换标签时如何删除参数? 或者等效地,我可以通过我的 URL 切换到新选项卡,例如 URL ?tab=2

要展示的代码很多,所以我正在寻找有关如何构建的一些建议。 现在,我创建了一个包含三个 div 的“页面”,每个“选项卡”一个,默认设置一个。

处理删除后,页面被重建并呈现默认选项卡。

当然,URL 没有被修改,因为我用它来创建页面。 这是“伪代码”:

<?php
    ... head stuff
    ... definition of tabs with onClicks for switching to named tab
    ... create content of div for 1st tab
    ... start creating content of div for 2nd tab
    ... examine $_REQUEST for 'delete'
    ... if it exists then
    ...    alter contents of data to eliminate item nn from list
    ... then
    ... continue content of div for 2nd tab using altered data
    ... then create content of div for 3rd tab
    ... add content for javascript that manages tab switching, login, etc.
    ... echo the entire contents of the page for presentation.
    ... the javascript switches to the default tab on load.

我想让浏览器 url 字段中的 url 在页面加载时没有参数。

我相信我说得不好。 我确实查看了“Funk Doc”建议,它通过在历史堆栈上放置一个新条目来起作用,但是当我检查它时,我意识到我真正想要的是浏览器的刷新按钮来刷新屏幕而不使用最初绘制屏幕时可能存在的任何 Post 或 Get 变量。 我意识到这一点,当我更改以确保我正在发布表单变量,并在点击刷新时,它询问重新发送表单。 'pushState' 似乎仍然保留 Post 变量。 我尝试将它们设置为不同的值,但似乎没有任何影响。

问题是我按行号删除列表中的一个值,这会将它从文件中删除。 如果我使用刷新按钮,则请求中的行号将再次在更改后的文件中删除。 我希望用户必须单击链接以进行删除,如果他们刷新页面,则不会发生删除。

仍然欢迎提出建议或意见,但我会考虑撤回这个问题,因为它陈述得很糟糕。

谢谢,

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM