-4

重複の可能性:
php-エコー文字列に変数を挿入します

クリックすると次のページを呼び出し、2つの変数をページに渡す必要があるというリンクがあります。最初の変数はマヌで、2番目の変数はfuel_typeです。

問題は、変数を識別するコードを取得できないようで、代わりにドル記号と変数名を渡し、値を渡さないことです。

コードは以下のとおりです。私はこれをいくつかの異なる方法で書いてみましたが、アイデアが足りなくなっています。

 .'<a href=\act/manufacturer.php?manufacturer=$manu&fuel_type=$fuel_type>'.$manu.'</a>'.
4

5 に答える 5

4

まず、変数に(スーパーグローバルGET変数からの)必要なものが含まれていることを確認します。

$manu = $_GET['manu'];
$fuel_type = $_GET['fuel_type'];

次に、2つのオプションがあります。

  1. 一重引用符"の代わりに二重引用符を使用すると、引用符内の変数が展開されます

    "My dog is named $dog_name, and is $dog_age years old";
    
  2. 一重引用符で囲まれた文字列を変数と連結します。

    'My dog is named ' . $dog_name . ', and is ' . $dog_age . ' years old.';
    

ただし、変数を使用したりブラウザに表示したりする前に、変数をサニタイズすることを絶対に忘れないでください。少なくとも、HTML / JSコードを削除してから、結果が期待するタイプと長さであることを確認するためのチェックが必要です。これを行う方法を議論するSOにはかなりの数の質問があります。 [php]sanitizeGET変数をすばやく検索すると、それらが見つかります。

于 2012-11-05T01:24:52.850 に答える
2

一重引用符は変数を解析しませんが、二重引用符は解析します。引用符を変更すると、リンクが正しく機能するはずです。

例:

."<a href=\act/manufacturer.php?manufacturer=$manu&fuel_type=$fuel_type>".$manu.'</a>'.
于 2012-11-05T01:13:11.763 に答える
2

'の外に変数を挿入する必要があります

このような:

.'<a href=\act/manufacturer.php?manufacturer='.$manu.'&fuel_type='.$fuel_type.'>'.$manu.'</a>'.
于 2012-11-05T01:13:53.670 に答える
2

一重引用符は変数の解析を許可しませんが、二重引用符は許可します。したがって、次のようなことをしたほうがよいでしょう。

"<a href=\act/manufacturer.php?manufacturer=$manu&fuel_type=$fuel_type>$manu</a>";

-またはあなたの場合-

'<a href=\act/manufacturer.php?manufacturer='.$manu.'&fuel_type='.$fuel_type.'>'.$manu.'</a>'
于 2012-11-05T01:15:10.140 に答える
-1

変数を中括弧で囲んで、変数式をエスケープできます。

'<a href=\act/manufacturer.php?manufacturer={$manu}&fuel_type={$fuel_type}>'.$manu.'</a>'.
于 2012-11-05T01:16:34.267 に答える