foo=bar
変数 ( ) を URLに渡したい。
URL に既に変数がある場合は、現在の URL にと をfoo
追加する必要があります。
ただし、アドレス バーに変数がない場合は、現在の URLに&
foo=bar
?
foo=bar
では、現在の URL に変数が存在するかどうかを確認するにはどうすればよいでしょうか?
foo=bar
変数 ( ) を URLに渡したい。
URL に既に変数がある場合は、現在の URL にと をfoo
追加する必要があります。
ただし、アドレス バーに変数がない場合は、現在の URLに&
foo=bar
?
foo=bar
では、現在の URL に変数が存在するかどうかを確認するにはどうすればよいでしょうか?
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を追加します&
。
正しい方法は次のとおりです。
$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);
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
}
資力