2010-11-20 3 views
0

У меня есть URL-адрес, в котором строка запроса создается скриптом PHP. Различные значения отображаются в строке запроса.Удалить значение из строки запроса

В принципе, мне нужно удалить определенное значение из строки запроса, когда посетитель нажимает на ссылку или кнопку «удалить».

Таким образом, строки запроса выглядит следующим образом:

http://www.foo.com/script.php?bar1=green&bar2=blue 

Но когда связь или «удалить» кнопка нажата пользователем, bar1=green удаляется, и посетитель направляется по следующему адресу:

http://www.foo.com/script.php?bar2=blue 

Я думал, что это будет легко использовать базовый HTML с формой или якорем, но я пока не смог это сделать.

Просто чтобы вы знали, у меня нет доступа к коду самого скрипта PHP; он размещается удаленно и вызывается на мою веб-страницу с помощью PHP-оболочки, использующей iframe.

Любые предложения с благодарностью.

Большое спасибо,

Matt

+0

На основе описания, вам нужно будет иметь доступ к коду PHP, чтобы делать то, что вы пытаетесь сделать. У вас есть фактический URL, на который мы можем смотреть? Это может помочь нам лучше понять, что вы ищете. –

ответ

4

Вы можете удалить значение из строки запроса, используя этот код:

<?php 
function parseQueryString($url,$remove) { 
    $infos=parse_url($url); 
    $str=$infos["query"]; 
    $op = array(); 
    $pairs = explode("&", $str); 
    foreach ($pairs as $pair) { 
     list($k, $v) = array_map("urldecode", explode("=", $pair)); 
     $op[$k] = $v; 
    } 
    if(isset($op[$remove])){ 
     unset($op[$remove]); 
    } 

    return str_replace($str,http_build_query($op),$url); 

} 
echo parseQueryString("http://www.foo.com/script.php?bar1=green&bar2=blue","bar2"); 
?> 
+0

Спасибо за ответ. Я пробовал это, но я не мог заставить его работать. Я думаю, что простая кнопка формы html была бы более подходящей, чем PHP? – Matt

+0

у вас должен быть php5 на вашем сервере – ynh

+0

Да, у меня есть PHP5 .. – Matt

Смежные вопросы