• ベストアンサー

GET変数の区切り文字について

GET変数で/test.php&a=1&id=2?param=1 などのように&が先で?が後にあっても ブラウザがIE6では問題なく引数が受け取れています。 &や?が順不同でも問題ないでしょうか?

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

  • ベストアンサー
  • php504
  • ベストアンサー率42% (926/2160)
回答No.3

私のテスト環境では404エラーでした The requested URL /php/info.php&a=1&id=2 was not found on this server. Apache2.0.54(Win32)

php4
質問者

お礼

やはり危ないので必ず?を先頭につけるようにします。 ありがとうございます。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

  • TT414
  • ベストアンサー率18% (72/384)
回答No.2

a="1" id="2?param=1" と処理されていませんか? こちらなら正常です。

全文を見る
すると、全ての回答が全文表示されます。
  • entree
  • ベストアンサー率55% (405/735)
回答No.1

/test.php?a=1&id=2&param=1 が正しいように思いますが・・・ もし、/test.php&a=1&id=2?param=1で上記と同様の動作をするのなら、むしろIEのバグです。IEにはこういう類のバグが多数あります。

php4
質問者

お礼

やはり?がURLと引数の区切りなんですね。 ありがとうございます。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 変数など厳密なプログラムが書きたいのですが、どうすればよいでしょうか?

    PHPで関数の引数に渡すとき、以下のように$aaを$aとしてしまった場合に 関数内の$idは値がありませんが、関数内でこれを検出することができるのでしょうか? Perlなら use strict;とし、my等で定義されていない変数はすべて警告表示されますが、PHPはスルーです。 変数など厳密なプログラムが書きたいのですが、どうすればよいでしょうか? $aa = 1; test($a) function test($id){ ... }

    • ベストアンサー
    • PHP
  • GETメソッドで文字列として+を送信したい

    test.php <?php $id=$_GET["id"]; echo $id; ?> として、同ディレクトリ中のindex.html内にある、 <a href="./test.php?id=+あいうえお -かきくけこ +さしすせそ ">リンク</a> をクリックすると、test.phpでは 「あいうえお -かきくけこ さしすせそ」 と表示されてしまいます。 半角の+も文字列としてGETメソッドで一緒に送りたいのですが、この場合、a要素にはどのようなURLを記せばいいのでしょうか。

    • ベストアンサー
    • PHP
  • GETでの変数の受け渡しについて

    PHP+MYSQLでサイトを作っているのですが、 よい方法が思い浮かばないので、助けてください。 トップページ以外は、 a.php?id=001&mod=view ・・・・・(1) のようにして表示させています。 (1)のページを見ていて、入力画面に入り、入力後に(1)のページにもどるような設定にしたいと思っています。 入力画面でも input.php?prm=015&return_url=a.php"・・・・・(2) のように$_GETを使ってフローを制御するようにしています。 このとき、(2)のように戻り先をa.phpまでは指定できるのですが、(1)の?id=001&mod=viewの部分を1つの文字列として一緒にわたしたいのですが、なにかよい方法はないでしょうか? 以上、よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • 引数を変数で渡す方法

    いつもお世話になります・。 function tst(a,b){  alert("a="+a+" b="+b) } として、 tst(1,'bbb'); とすれば a=1  b=bbb となります。 ところが、 Param="1,'bbbb'"; tst(Param); とすると、 a=1,bbb b=undefined となってしまいます。 また、 tst(eval(Param)); とすると、 a=bbb b=undefined と、なってしまいます。 また、 var Param=new array(1,'bbbb') tst(Param); とすると、何も表示されません。 引数 1,'bbb' を変数として関数に渡すにはどうしたらよいのでしょうか。 目的は、JSONで引数文字列を取得して関数に渡したいのです。 JSONで、関数に渡す引数をどのように定義したらよいものかと いうことでの質問です。 が、JSONの記載が長くなるので、 ここで質問した方法がわかれば何とか後は自分でできると思うのですが、 よろしくご教示お願いいたします。

  • jQuery.getの引数dataで動的にするには

    お世話になります。 jQuery.get()の第二引数dataによって、動的にJSONを取得したいです。 第一引数urlがhttp://test.com 第二引数が{id:1,name:tanaka}としてgetした場合 http://text.com?id=1&name=tanaka とリクエストしてると考えてよいのでしょうか。 ある大手サイトでget()時、dataによって取得できるJSONが違うのですが、 そのURLの最後に拡張子がありません。 JSONは拡張子が無くても良いというのを知りましたが これはJSONの形式でそのように動的に発行しているのでしょうか。 もしくはサーブレットあたりが動いて動的にさせてるのでしょうか。 たぶんPHPとかではないですよね。 上の例でいくと http://text.com?id=2 http://text.com?id=5 http://text.com?id=15 これで取得できるのが違います。 どうなってるのかさっぱり判りません。 すみません、よろしくお願いいたします。

  • GETで渡した値の受け取り方

    <a href="xxx.cgi?id=hogehoge">リンク先</a> この"hogehoge"をリンク先のperlのソースで受け取るにはどうすれば良いのでしょうか? PHPでいう $id=$_GET['id']; のようなことをCGIでもやりたいのですが、どなたかご教授下さい。

    • ベストアンサー
    • Perl
  • html込みの文字列をPHPの変数にしたい

    お世話になります。 WordPress内で、記事タイトルのリンクをhtml込みで変数にしたいと思っています。なにも考えずに書くと、 <?php $hoge = <a href="get_permalink();">the_title();</a> ?> となりますが、当然真っ白です。上記の考え方で正常に変数として取り込める書き方があれば教えて下さい。よろしくお願いします。

    • ベストアンサー
    • PHP
  • GET変数をディレクトリのように表示する方法

    お世話になります。 phpでのお話ですが、通常GETで変数を持たせる場合は http://www.hoge.com/index.php?a=1&b=2 http://www.hoge.com/?a=1&b=2  というURLになるかと思います。 これをディレクトリの一部のように 下記のように表示している場合がありますが、 http://www.hoge.com/1/2/ これはどのようにすればできるのでしょうか? よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • Ajax・jQueryでGET時にIEで文字化け

    Ajax・jQueryで日本語をGETするとき、IEで文字化けします。 (Firefox,chromeでは文字化けは起こりません。IE6/7/8で確認すると文字化けします) どのようにしたら文字化けが起こらなくなるか教えていただければと思います。 環境 PHP:5.1.6 サーバー・HTMLの文字コードはUTF-8 下記のようなリンクを作り、「jquery.url.js」でパラメータを取得しています。 <a href="./test.php?keyword=テスト&cate=1"> (実際には下記のソースに示しますが、テストの文字はurlencordしています。) 【javascript部分】 <script type="text/javascript" src="jquery.url.js"></script> <script type="text/javascript"> $().ready ( function() { $('#sample-get').find('a').click ( function() { var url = $.url ( $(this).attr('href') ); $.ajax ({ type: 'GET', url: 'send.php', cache: false, data: url.attr ( 'query' ), success: function ( data, dataType ) { $('#test').html ( data ); }, error: function ( XMLHttpRequest, textStatus, errorThrown ) { this; alert('Error : ' + errorThrown); } }); return false; }); 【HTML(PHP)部分】 $keyword='テスト'; $keyword=urlencord($keyword);//urlエンコード echo<<<EOF <div id="sample-get"> <a href="./test.php?keyword=$keyword&cate=1"><img src="images/sample1.png" alt="sample1" height="200" width="200"></a> </div> EOF; 【PHP部分(send.php)】 <?php echo $_GET['keyword']; echo urldecord($_GET['keyword']); echo $_GET['cate']; ?>

    • ベストアンサー
    • AJAX
  • phpのincludeで表示を変化させたい

    includeでHTMLの表示を変えられるように したいのですが、どうもうまくいきません。 (ブラウザ表示が真っ白になる。) 以下のようなソースを書いてみました。(php4.3.11,apache) (1) test01.php <?php $param = $_GET['param']; include ("./includes/datapack01.php"); ?> <HTML> <HEAD> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=EUC-JP"> <TITLE>COMPANY A - <?php echo $title; ?></TITLE> </HEAD> <BODY> <span> test </span> </BODY> </HTML> (2) datapack01.php <? if($param == "8") { $title = "お問い合わせ : オーダー申し込み"; } ?> 意図としては、http://hoge.com/test01.php?param=8 とアクセスすれば、ブラウザのタイトル欄に 「COMPANY A お問い合わせ : オーダー申し込み」 と表示させたいところですが、 実際は、ブラウザ表示は真っ白となってしまいます。 http://hoge.com/test01.php とすれば、「test」とのみ表示されるのですが・・・

    • ベストアンサー
    • PHP
このQ&Aのポイント
  • ある女子大学生が他大学のインカレサークルで気になる異性に出会う。
  • 帰り道に二人きりで帰り、LINEも交換し、次に会う予定を立てる。
  • お互いに恋人はいないが、異性との関係が進展中。次に会う時に気をつけることはあるか。
回答を見る