$_SERVER[’QUERY_STRING’]について
パラメータ付きのURLの時だけ、ある処理を実行したい場合、たとえば、次のような書き方でよいでしょうか?
$_SERVER[’QUERY_STRING’]は、パラメータがないurlだった場合、どのような値を返すのでしょうか?
if ($_SERVER[’QUERY_STRING’]) { echo $_SERVER[’QUERY_STRING’] }
追加です。
ttp://www.phppro.jp/qa/1346
$_SERVER[’QUERY_STRING’]で取得できるのは、たとえば、ttp://www.example.com/example.php?test=123のようなURLの場合、「test=123」の部分です。
ttp://www.example.com/example.phpにアクセスした場合には、パラメータ(クエリー)が無いため、空文字(?)が返されると思います。
空文字(?)と言うところが気になります。
これだとつねに、実行してしまうのではないか心配です。
結局の所、空文字がtureかfalseか知りたいってこと?
空文字がtureかfalseかその他か知りたいってことです。空文字がtureかfalseならよいのですが、空文字が(?)だとどうすすればいいのかわかりません。
普通はissetで判定する気がする。if (isset($_SERVER[’QUERY_STRING’])){処理}試してないけど。
PHPは普段書かないからよくわからないけど、とりあえず以下を行って自分で答えを導き出せば良いと思う。1.パラメーター無しの時の$_SERVER[’QUERY_STRING’]の値とその型をデバッグして確認。2.1で確認したことをベースに適切な条件式を使う
みんなの回答 3 件
追加です。
ttp://www.phppro.jp/qa/1346
$_SERVER[’QUERY_STRING’]で取得できるのは、たとえば、
ttp://www.example.com/example.php?test=123
のようなURLの場合、「test=123」の部分です。
ttp://www.example.com/example.php
にアクセスした場合には、パラメータ(クエリー)が無いため、
空文字(?)が返されると思います。
空文字(?)と言うところが気になります。
if ($_SERVER[’QUERY_STRING’]) { echo $_SERVER[’QUERY_STRING’] }
これだとつねに、実行してしまうのではないか心配です。
普通はissetで判定する気がする。
if (isset($_SERVER[’QUERY_STRING’])){処理}
試してないけど。
PHPは普段書かないからよくわからないけど、とりあえず以下を行って自分で答えを導き出せば良いと思う。
1.パラメーター無しの時の$_SERVER[’QUERY_STRING’]の値とその型をデバッグして確認。
2.1で確認したことをベースに適切な条件式を使う
関連するトピックス