处理结束(不使用POST)后删除GET参数的URL,PHP(remove GET parameter

2019-07-04 19:56发布

我有这样的URL http://localhost/join/prog/ex.php

当我使用GET方法的URL地址这样http://localhost/join/prog/ex.php?name=MEMORY+2+GB&price=20&quantity=2&code=1&search=add

我的问题是:是这样,我还是用GET方法,但我想在GET方法处理结束后,我想将URL回到(删除参数)到http://localhost/join/prog/ex.php ,如先前(不使用POST方法)。 我该怎么做?

Answer 1:

在HTML文件(HTML5)将这个。

<script>    
    if(typeof window.history.pushState == 'function') {
        window.history.pushState({}, "Hide", "http://localhost/join/prog/ex.php");
    }
</script>

或者使用例如使用一个会话的后端解决方案;

<?php
    session_start();

    if (!empty($_GET)) {
        $_SESSION['got'] = $_GET;
        header('Location: http://localhost/join/prog/ex.php');
        die;
    } else{
        if (!empty($_SESSION['got'])) {
            $_GET = $_SESSION['got'];
            unset($_SESSION['got']);
        }

        //use the $_GET vars here..
    }


Answer 2:

SIMPLE ANSWER

只需把这个在你需要做的GET querys加载后,在浏览器的地址栏消失了文件的顶部。

<script>    
    if(typeof window.history.pushState == 'function') {
        window.history.pushState({}, "Hide", '<?php echo $_SERVER['PHP_SELF'];?>');
    }
</script>


Answer 3:

调用不带任何参数要重定向到文件ex.php的URL,但这次之后我猜。 对于那些尝试使用ex.php下面的代码

<?
if($_GET['name']!='' || $_GET['price']!='' ||$_GET['quantity']!='' ||$_GET['code']!='' || $_GET['search']!=''){ 

/* here the code checks whether the url contains any parameters or not, if yes it will execute parameters stuffs and it will get redirected to the page http://localhost/join/prog/ex.php without any parameters*/

/* do what ever you wish to do, when the parameters are present. */

echo $name;
print $price;
//etc....

$location="http://localhost/join/prog/ex.php";
echo '<META HTTP-EQUIV="refresh" CONTENT="0;URL='.$location.'">';
exit;
}
else{
 /* here rest of the body i.e the codes to be executed after redirecting or without parameters.*/
echo "Hi no parameters present!";
}
?>

这里什么ü没有ID只是重定向重定向到同一页面,而不检查,如果任何参数为那里的查询字符串。 代码智能检查的参数存在,ID的参数是有它重定向到ex.php否则它会打印“嗨,不存在参数!” 串!



Answer 4:

如果你使用Apache,可以考虑使用与mod_rewirte .htaccess文件。 这里的快速启动。 我认为可以在IIS与web.config文件中获得,以及这种结果



文章来源: remove GET parameter in URL after processing is finished(not using POST), PHP
标签: php html url get