• ベストアンサー

アドレスに[?****]と入れると、表示する内容が変わるようにしたい。

こんばんわ。 たとえばindex.php?link だったら、リンクページ。 みたいに、?****と付けたら、変化するページを作りたいです。 (index.php?****で、index.php?hgyggyubg←のように、適当なアドレスで打ってきたら、エラー(404みたいの)を返せたらなお良いです) PHPについては初心者です アップするサーバーは5.2.9のPHPを使っています。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • tom951
  • ベストアンサー率30% (29/96)
回答No.2

>ここで説明するのは難しいですね(^_^;) 難しくないです。 <?php $GetData = $_SERVER["QUERY_STRING"]; if(strcmp($GetData,"")==0){ //引数なしの場合 }elseif(strcmp($GetData,"link")==0){ //linkの場合の処理 }elseif(strcmp($GetData,"abc")==0){ //abcの場合の処理 }else{ header("HTTP/1.1 404 Not Found"); } ?> たったこれだけの処理だからです。

noname#119508
質問者

お礼

自分が考えてみてたソースよりすごく短いソースで書けるんですね! ご回答ありがとうございました。

その他の回答 (2)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.3

こんな感じでどうでしょ? <? list($str)=array_keys($_GET); switch($str){ case "": print "test"; break; case "hoge": print "hoge"; break; case "fuga": print "fuga"; break; default: Header('HTTP/1.0 404 Not Found'); break; } ?>

noname#119508
質問者

お礼

ご回答ありがとうございました。

  • singlecat
  • ベストアンサー率33% (139/418)
回答No.1

フレームワークぽい運用ですね。 index.phpから、Viewを受け持つプログラムを呼び、その時に引数で与えられたファイルがあれば、表示するロジック、無ければhttpのヘッダに404を出す事になるのですが.... ここで説明するのは難しいですね(^_^;)

noname#119508
質問者

お礼

さっそくご回答いただきありがとうございます。 ここだと、2000文字制限などもあるんですよね。 ご回答ありがとうございました。

関連するQ&A