php重新加载具有更新查询字符串的页面

时间:2013-01-21 04:48:31

标签: php url query-string

假设我有一个这样的网址

http://www.domain.com/myscript.php?p1=xyz&p2=10&p3=ghj

现在我想更新p2=100并使用php重新加载页面

此处参数可以是无限(p1,p2,...pn),我们可以更新任何参数并重新加载页面。

6 个答案:

答案 0 :(得分:4)

相当简单,你可以这样做

$_GET['p2'] = 100;
header("Location: http://www.domain.com" . $_SERVER['REDIRECT_URI'] . '?' . http_build_query($_GET));

答案 1 :(得分:0)

问题有点模糊,但假设您想使用javascript从客户端重新加载:

window.location = "http://www.domain.com/myscript.php?p1=xyz&p2=100&p3=ghj"

答案 2 :(得分:0)

Reload your page您只需在URL字段中按照您希望的方式设置变量

答案 3 :(得分:0)

如果要使用所需参数重新加载页面,请使用JS

以下脚本可能对您有所帮助

window.location = "http://www.domain.com/myscript.php?p1=xyz&p2=100&p3=ghj"
window.location = "http://www.domain.com/myscript.php?p2=200&p1=dfgb&p3=asdhahskh&etc=alotofparameters"

现在,如果您想在特定时间间隔后重新加载页面,那么您可以使用以下元标记

<meta http-equiv="refresh" content="30; ,URL=http://www.metatags.info/login">

Njoy Coding。 :)

答案 4 :(得分:0)

以下是我想要更改1 $var值然后重定向时使用的内容。

function getUrlWithout($getNames){
  $url = $_SERVER['REQUEST_URI'];
  $questionMarkExp = explode("?", $url);
  $urlArray = explode("&", $questionMarkExp[1]);
  $retUrl=$questionMarkExp[0];
  $retGet="";
  $found=array();
  foreach($getNames as $id => $name){
        foreach ($urlArray as $key=>$value){
            if(isset($_GET[$name]) && $value==$name."=".$_GET[$name])
                unset($urlArray[$key]);
      }
  }
  $urlArray = array_values($urlArray);
  foreach ($urlArray as $key => $value){
      if($key<sizeof($urlArray) && $retGet!=="")
          $retGet.="&";
      $retGet.=$value;
  }
  return $retUrl."?".$retGet;
} 

这会获取网址($_SERVER['REQUEST_URI']),删除所需的值($getNames)[可以是一个或多个值],然后重建网址。它可以像 -

一样使用
$newurl = getUrlWithout(array("p2"));
header( 'Location: http://www.domain.com/'.$newurl.'&p2=100' );

答案 5 :(得分:0)

请尝试以下代码:

$varURL = 'http://www.domain.com/myscript.php?p1=xyz&p2=10&p3=ghj';
$varNEwURL = preg_replace('/p2=([0-9]*)&/', 'p2=100&', $varURL);
header('location:'.$varNEwURL);

OR

$varURL = 'http://www.domain.com/myscript.php?p1=xyz&p2=10&p3=ghj';
$varNEwURL = $varURL.'&p2=100';
header('location:'.$varNEwURL);