• ベストアンサー

URLのパラメータに関して

pukiwikiで作成されたページを自作のphpに書き直そうとしています。 現状のpukiwikiですと、ページ遷移する際のURLが/?aaaとか/?bbbという感じになっているのですが、このパラメータの値はどうやって出力すればよいのでしょうか。 ?data=aaaとか?data=bbbとなっていれば出力できるのですが… お願いします。

  • PHP
  • 回答数1
  • ありがとう数1

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

  • ベストアンサー
  • agunuz
  • ベストアンサー率65% (288/438)
回答No.1

$_SERVER['QUERY_STRING'] で受け取ります。index.phpで <?php print $_SERVER['QUERY_STRING']; とでも書いてみればわかります。

25taku
質問者

お礼

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

関連するQ&A

  • リダイレクト元のURLの取得方法について

    現在、以下2つのphp5プログラム(+ PEAR::AUTH)で、なんちゃってフォーム認証するCGIを作成しています。 環境 Windows XP、Web SV IIS 5.1 (1) aaa.php  : PEAR:AUTHを使った、ログイン画面(フォーム認証CGI)。  : 機能 : MySQLに格納されたID/PWで認証する。認証OKだったら、bbb.phpが出力するDBレコードデータ参照ページへのリンク集を出力する。    リンク1)http://domain.jp/bbb.php?id=1001    リンク2)http://domain.jp/bbb.php?id=1002    リンクn)http://domain.jp/bbb.php?id=nnnn    ・・・といった感じで、DBに登録されたレコードを表示するCGIへのリンクをずらずら出します。 (2) bbb.php  : DBデータを整形し、多少見やすい形に加工したHTMLページを出力する。    この時、aaa.phpが認証OKの証?として出力したCookieが、    1.あったらHTMLページ出力し、     例1)http://domain.jp/bbb.php?id=1001 = 一意のキーid=1001の値で出力出来る、MySQL上のデータをHTML化したもの     例2)http://domain.jp/bbb.php?id=1002 = 一意のキーid=1002の値で出力出来る、MySQL上のデータをHTML化したもの     例n)http://domain.jp/bbb.php?id=nnnn = 一意のキーid=nnnnの値で出力出来る、MySQL上のデータをHTML化したもの    2.無かったら、     (a) http header 401を出力     (b) aaa.php(フォームログイン画面)にリダイレクトする。  一応、ここ迄はいいのですが、例えば、利用者が、上記例2のURLをブラウザ「お気に入り」で保存しておき、直接そのページをみたい、と言った時、リンク指定先のbbb.phpは、  ・ そのユーザがログインしていない場合(Cookieが無い場合)、aaa.phpのログインフォームへリダイレクトする  ・ aaa.phpは認証後、リンク集ページを出力する、  といった動作になってしまいます(てゆうかそうゆう作りなんで当たり前ですが・・・)。  そこで、aaa.phpの機能で、  ・ 「どのURLから、リンク(リダイレクト)されてきたかを判定するロジック」を入れ、もし、「bbb.php?id=xxxx」だったら、   ・ 認証OK後、直接、そのbbb.phpが出力するHTMLのURL(http://domain.jp/bbb.php?id=xxxx)に、再度リダイレクトする処理を入れれば良い?、   のかなーと短絡的に考えました。  で、問題となるのが、aaa.phpが表示された時、どこからリダイレクトされてきたか(リダイレクト元のURL)を知る方法です。  そこで、PHPの、$_SERVER[HTTP_REFERER]を入れてみた所、  ・ bbb.phpにリダイレクトされる前のURLが、$_SERVER[HTTP_REFERER]に入っている(多分、別のHTMLのbbb.php?id=~へのリンク集?)  ・ $_SERVER[HTTP_REFERER]の中が空(URL直接指定?)  という現象で詰まってしまいました。  ここから抜け出す為、何か良いアイディア(別の方法、関数等)があればお知恵拝借したいと考えています(書いてある事を理解して頂ける文章か今イチ不安ですが・・・)。  何卒よろしくお願いします。

    • ベストアンサー
    • PHP
  • javascriptからURLパラメータ値を送る

    使用言語はJSPです。 画面上のラジオボタンの値を取得しているjavascriptが以下です。 これでボタンが押下されたとき、この関数を呼び出しラジオボタンのVALUE値をアラートとして表示することはできています。 これをURLパラメータとして、JSPサーバ側に送りたいと思いますが、 NULL値となってしまいます。 取得は、request.getParameter("aaa"); としていますがNULL値です。 JAVASCRIPTからURLパラメータを送付・サーバ側から取得する方法を教えていただけますか。 function check(){ var aaa = document.getElementsByName("ラジオボタンの名前"); for(var i=0;i<arr.length;i++){ if(aaa[i].checked) var param = aaa[i].value; aaa.action = "./bbb.jsp?param="+param; aaa.submit(); return aaa[i].value; } }

  • パラメーター付きのURLをリダイレクトしたい

    お世話になります .htaccess でリダイレクトを行いたいのですが、パラメータ付きのURLの為かリダイレクトができません。 .htaccess内の記述↓ redirect 301 /aaa/bbb.php?N=1 http://www.aaa.com/index.html 「?=N1」の部分を取れば問題なくリダイレクトします パラメータ付きのURLはリダイレクト可能でしょうか? よろしくお願いいたします

  • [PHP]URLパラメータの受け取り方

    こんにちは。 PHPで下記のことを実装しようとしていますが、なかなかうまく行きません。 http://example.com/aaa というURLにアクセスがあった場合、「aaa」だけを抜き出して処理する、 ということを実装したいのですが、上記アドレスにアクセスするとNotFoundになってしまいます。 上記の場合、「aaaというファイルを探しにいく」という処理がされているためNotFoundになることは分かるのですが、どのようにすればindex.phpでaaaをパラメータとして受け取れるのでしょうか? ※システムの都合上、http://example.com/?id=aaaという風には出来ません。 大変恐縮ですがご教授いただけるとありがたいです。

    • ベストアンサー
    • PHP
  • リンク元のURLのパラメータでページ振り分け

    リンク元のurlが http://test.index.html?from=iphoneだったとき、「?from=iphone」の部分を取得して ◯マッチしたら、aaa.html へ遷移 ◯マッチしなかったらしたら、bbb.html  へ遷移 これをJSで実装するには、どのうような記述にすればよろしいでしょうか? 正規表現とか使うのでしょうか?  js初心者ですのでご教授いただけると大変助かります。

  • URLに付く [ ] を外したい

    現在稼働中のWebシステムの保守を担当しています。 先日、お客様から「URLに付いている [ ] を消して欲しい」との依頼がありましたが、 やり方が分からず、困っております。 現在、 xxx/aaa[]/1,2,3/bbb[]/1,2,3/ このようになっているURLを xxx/aaa/1,2,3/bbb/1,2,3/ に変更したいという依頼です。 現在、以下のようなフォームがあり <form action="xxx.php" method="GET"> <input type="checkbox" name="aaa[]" value="1"> <input type="checkbox" name="aaa[]" value="2"> <input type="checkbox" name="aaa[]" value="3"> <input type="checkbox" name="bbb[]" value="1"> <input type="checkbox" name="bbb[]" value="2"> <input type="checkbox" name="bbb[]" value="3"> </form> このフォームを送信するとURLは以下のようになりますが、 xxx.php?aaa[]=1,2,3&bbb[]=1,2,3 これを .htaccess で xxx/aaa[]/1,2,3/bbb[]/1,2,3/ というように書き換えています。 このURLを、 xxx/aaa/1,2,3/bbb/1,2,3/ に変更することはできますでしょうか? html、.htaccess、php、どの部分が改修になっても構いません。 [ ] を削除したいという理由としては、 インターネットの広告を出すときに、広告登録フォームでURLがエラーになるから、ということでした。 広告登録フォームでURLがエラーにならなければ良いのかと思い、 xxx/aaa%5b%5d/1,2,3/bbb%5b%5d/1,2,3/ というように [ ] の部分をURLエンコードする方法をお伝えしましたが、%が付くのもダメということでした。 xxx/aaa_0/1/aaa_1/2/aaa_2/3/bbb_0/1/bbb_1/2/bbb_2/3/ というように カンマ区切りじゃなくなるのも嫌だそうです。 あくまで xxx/aaa/1,2,3/bbb/1,2,3/ の形が良いとのことでした。

  • ASPで画面間のパラメタ受け渡し

    こんばんは。ASP初心者です。 ASPでWEBページの作成を行っています。画面遷移をResponse.Redirect()で行っているのですが、遷移前のページと遷移後のページでパラメタを受け渡したい場合はSession("hoge") = "hogehoge"のようにセッションに入れる以外、何か方法はないでしょうか。リクエスト間でパラメタ渡せればがいいので、セッションを通じて保持しておく必要がないのです。クエリを使用するとアドレス欄に変数の値が見えてしまうのでできれば使いたくありません。

  • URLのパラメータを取得しリンクに渡すには?

    Javascriptで、URLのパラメータを取得し、リンクにパラメータを渡したいです。 例えば、現在のURLが、 http://www.hogehoge.com/hoge.php?page=hoge1だとします。 そのページに、様々なリンクがあるとします。 <リンク例> http://www.hogehoge.com/moge/moge.php http://www.hogehoge.com/boge/boge.php http://www.yahoo.co.jp/auctionxx.html このうち、/moge/以下のページへのリンクにのみ、自動で現在のURLのパラメータを渡したリンクにしたいです。 つまり、 http://www.hogehoge.com/moge/moge.php ↓ http://www.hogehoge.com/moge/moge.php?page=hoge1 というリンクにしたいです。 当然現在のURLにパラメータが存在しない場合は、そのままのリンクになります。 また、他のディレクトリや他のドメインのサイトにはパラメータを渡さず、変更せずにそのままのURLのリンクにしたいです。 <リンク例> http://www.hogehoge.com/moge/moge.php ○変更 http://www.hogehoge.com/boge/boge.php ×変更なし http://www.yahoo.co.jp/auctionxx.html ×変更なし よろしくお願いします。

  • テキストリンクをPOST送信したい

    「自由に入力できる任意の値」ではなく、「常に固定な値」をPOST送信するにはどうすればよいでしょうか? ■現状 <a href="index.php?hoge=1">hoge</a> ・テキストリンク形式 ・このままだと、GET送信で、URLにパラメータが表示されてしまう。  ↓ ■やりたいこと ・URLにパラメータを表示させたくない ・クリックした時点で、常に「hoge=1」をパラメータとして送りたい ■知りたいこと ・遷移前(パラメータを送る側のページ)の書き方を教えてください

    • ベストアンサー
    • PHP
  • 動的URLを静的URLへリダイレクト

    サーバの移転にともない、古いURLから新しいURLへリダイレクトさせる作業を行っています。 旧:http://aaa.bbb.com/default.asp?year=yyyy&month=mm ↓ 新:http://mmm.nn.co.jp/yyyymm しかし上記のようにパラメータを持っているURLはうまくリダイレクトされません。 今回の場合、動的ページを静的ページに見せるのではなく、URL欄も表示も静的ページに遷移させます。 この作業にはISAPI_Rewriteを使っていますが、ISAPI_Rewriteで検索してもmod_rewriteで検索しても、静的URLから動的URLへのリダイレクト(URLは静的で表示が動的ページの内容)しかでてきません。 そもそも正規表現に「?」を入れるとリダイレクトできないのか(?がエスケープされていない気がします)、書き方が間違っているのなら正しい書き方を教えていただけると助かります。 [現在使っている記述] RewriteRule ^aaa/bbb.asp\?year=(.*)&month=(.*)$ http://one.case.com/ddd/$1$2 [R,L] よろしくお願いいたします。

専門家に質問してみよう