php
  • variables
  • get
  • hyperlink
  • 2009-04-25 15 views 2 likes 
    2

    私は、その場でデータの動的テーブルを生成するいくつかのPHPコードを持っています。さまざまなリンクをクリックすることで、データテーブルを「絞り込む」ことができます。私が望むのは、現在のGET情報を保持して追加するためのリンクです。 IE:PHPリンク内のすべてのGET変数を保持するにはどうすればよいですか?

    $allPreviousVars = ???; // Could be 20+ vars 
    echo "<a href='".$allPreviousVars."&newVar=2'>Link</a>"; 
    

    私はループで$ _GETを反復処理することによってそれを行うための方法を考えることができますが、確かにこれを行うための迅速な方法はありますか?

    +0

    入力変数が消毒されていないことがわかりました。 – hbw

    +0

    "???"私の入力サニタイズ機能は実際には。 :P –

    答えて

    8

    $ _SERVER ["QUERY_STRING"]はどうですか?

    編集:あなたは私にこの回答のクレジットを与えるほど親切であったので、私は1つの事を追加する必要があります。出力する前に、上記の変数をhtmlspecialchars()にラップする必要があります。そうでなければ、誰かが">というURLを入力すると、あなたのリンクが壊れるでしょう。

    +0

    私は以前のようなものを見たことが分かりました。完璧、ありがとう。 –

    -1

    提案したように、$_GETの内容をループし、既存のクエリパラメータとオーバーライドされたビットの組み合わせからURLを構築することをお勧めします。

    1

    変更された配列からクエリ文字列を生成する必要がある場合は、http_build_query()を使用します。クエリー文字列を現在のページに送信するだけの場合は、$ _SERVER ["QUERY_STRING"]を使用してください。

    1

    私はおそらくこれだろう。既存の 'FOO' または 'foo2は' 鍵が交換されることを

    <?php echo http_build_query(array_merge($_GET, array('foo'=>'bar', 'foo2'=>'bar2')); ?> 
    

    注:

    $query = mySanitizeFunction($_GET); 
    $url = http_build_query($query) . '&newVar=2'; 
    
    +0

    $ _GETが空の場合、URLが破損します。 – pinkgothic

    2

    を次のように私はこれを行います。

    +0

    1年以上後、これは私が探していたものとまったく同じでした。ありがとう! –

    関連する問題