-3

foo=bar変数 ( ) を URLに渡したい。
URL に既に変数がある場合は、現在の URL にと をfoo追加する必要があります。 ただし、アドレス バーに変数がない場合は、現在の URLに&foo=bar
?foo=bar

では、現在の URL に変数が存在するかどうかを確認するにはどうすればよいでしょうか?

4

3 に答える 3

0

var=foo および stack=overflow 変数を現在の URL に渡したいとします。つまり、ユーザーを現在のアドレス + 新しい変数にリダイレクトする必要があります。これを試すことができます:

$url = 'http'.(empty($_SERVER['HTTPS'])?'':'s').'://'.$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];
if(strpos("?", $url) !== FALSE){
    $url .= "&var=foo&stack=overflow";
}else{
    $url .= "?var=foo&stack=overflow";
}

header("Location: ".$url);
exit();

現在の URL を取得し、既に が含まれているかどうかを確認?します。varはいの場合は& スタックに を追加し&、そうでない場合は?andを追加します&

于 2012-07-29T11:19:09.710 に答える
0

正しい方法は次のとおりです。

$url = 'http'.(empty($_SERVER['HTTPS'])?'':'s').'://'.$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];
    if(strpos($url, "?") !== FALSE){
            $url .= "&var=foo&stack=overflow"; 
}else{

 $url .= "?var=foo&stack=overflow"; 
}

header("Location: ".$url); 
exit();

strpos 逆順 ;) これは例です:

$mystring = 'abc'; 
$findme   = 'a'; 
$pos = strpos($mystring, $findme);
于 2013-04-28T15:51:33.617 に答える
0

URL で渡される変数は、GETパラメーターと呼ばれます。$_GET配列を使用して、PHP でそれらを取得できます。

URLを指定すると-http://mycoolsite.com?foo=bar&stack=overflow

onを実行print_r()する$_GETと、-

Array ( 
  [foo] => bar 
  [stack] => overflow 
)

この配列を取得したら、in_array()関数を使用して特定の変数の存在をテストできます。

if (in_array('foo',$_GET)){
  // the foo variable is was passed
}

または、渡されたすべてのパラメーターを単純に反復処理してから、そのように調べることもできます-

foreach($_GET AS $key=>$value){
  // $key = the name of the variable
  // $value = the value of the variable
}

資力

于 2012-07-29T10:39:32.740 に答える