0

アドレスバーの内容をどれだけ変更しても、HTMLリンク(GETを使用)からすべての値を取得してページに出力するPHPプログラムが必要です。私が今持っているコードはこれです:

HTML:

<a href="test.php?a=value1&amp;b=value2& amp;c=value3">Link</a>

PHP:

<?php 

Echo "Value1: "; Echo $_GET["a"]; Echo "\n";
Echo "Value2: "; Echo $_GET["b"]; Echo "\n";
Echo "Value3: "; Echo $_GET ["c"];

?>

これらの値に対して意図したとおりに機能しますが、たとえば、アドレスバーに追加されている別の変数に対応することはできません。GET関数を介してすべての種類の変数を検索できるある種のPHP関数が必要です。

どんな助けでも大歓迎です!

4

8 に答える 8

2

ループを使用します(必要に応じて変更します):

foreach ($_GET as $num => $value)
{
    echo 'Value ' . $num . ': ' . htmlentities($value). "<br>" . PHP_EOL;
}

参照:

于 2013-01-20T17:47:17.587 に答える
1

print_r($GET) を使用してすべての $_GET 値を取得します ...

それ以外の場合は、このようなことができます

foreach(array_keys($_GET) as $key) {

echo htmlspecialchars($_GET[$key]);

}

後で編集:コメントで公開されたセキュリティの問題を考慮に入れました

このメソッドを使用すると、次のようなクールなことを行うことができる変数の種類がわかっているため、適切です。

if ($key == 'a') do this
if ($key == 'b' && $_GET[$key] == 'bar') do that
于 2013-01-20T17:47:39.307 に答える
1
<?php
    print_r($_GET);
?>
于 2013-01-20T17:48:12.613 に答える
1

このようなもの:

<?php
foreach ($_GET as $key => $value) {
  echo htmlspecialchars($key) . " - " . htmlspecialchars($value) . "<br>";
}
?>
于 2013-01-20T17:48:12.503 に答える
1

foreach ループを使用する

foreach ($_GET as $key => $val){
  echo htmlentities($key).": ".htmlentities($val)."<br />\n";
 }

または単に -

echo "<pre>".print_r($_GET,1)."</pre>";
于 2013-01-20T17:48:43.170 に答える
1

すべての値とそれに対応する名前を取得するには:

foreach($_GET as $key => $value)
{
     echo $key . ' - ' . $value;
}
于 2013-01-20T17:49:21.110 に答える
1
$my_get = array(); // store $_GET vars

if ('GET' == $_SERVER['REQUEST_METHOD']) // check that request method is "get"
    foreach ($_GET as $key => $val)
    {
        $my_get[$key] = $val; // store
    }

出力 $my_get:

array (
  'a' => 'value1',
  'b' => 'value2',
  'c' => 'value3',
)
于 2013-01-20T17:49:36.183 に答える
1

$_GET は配列にすぎないため、 for each ループを使用してその要素を取得できます。

于 2013-01-20T17:52:48.460 に答える