удалить параметр GET в URL после завершения обработки (не используя POST), PHP

У меня есть 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). Как мне это сделать?

Поместите это в свой HTML-файл (HTML5).

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

Или, используя бэкэнд-решение, используя сеанс, например;

 <? 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.. } с <? 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.. } 

ПРОСТОЙ ОТВЕТ

Просто поместите это в верхнюю часть файла, который вам нужно, чтобы запросы GET исчезли из строки URL браузера после загрузки.

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

я думаю, после вызова url вы хотите перенаправить файл ex.php, но на этот раз без каких-либо параметров. для этого попробуйте использовать следующий код в 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 ie the codes to be executed after redirecting or without parameters.*/ echo "Hi no parameters present!"; } ?> 

здесь, что у id просто перенаправляет перенаправление на ту же страницу, не проверяя, есть ли какой-либо параметр в строке запроса. код разумно проверяет наличие параметров, id любые параметры там, он будет перенаправлять на ex.php, иначе он будет печатать «Привет, никаких параметров нет!» строка!

Если вы используете apache, подумайте об использовании файла .htaccess с mod_rewirte. Здесь быстрый старт. Я думаю, что этот результат можно получить и в iis, также с файлом web.config