我有一个PHP页面测试$_REQUEST['delete']
以查看其是否存在。
如果有,那么我将从列表中删除它引用的项目编号,然后重定向到其他选项卡。选项卡开关是通过隐藏和公开不同的div来完成的。
但是,浏览器URL字段中显示的URL仍然具有URL ?delete=nn
。如果我无意中再次提交而未更改显示的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变量。我尝试将它们设置为不同的值,但似乎没有任何影响。
问题是我删除了行号列表中的值,这会将其从文件中删除。如果使用刷新按钮,则在更改后的文件中再次删除了请求中的行号。我希望用户必须单击链接才能导致删除,如果刷新页面,则不会发生删除。
仍旧提出建议或意见,但由于陈述不佳,我将考虑撤回该问题。
谢谢,