1

次のコードがありますが、戻り時に完全な変数値を取得できません。

<?php
$no7="Girls pink";
$no8="All Categories";
$aw="2";

echo'<table width="auto" border="0">
  <tr>
        <td width="auto" class="s">'; echo "<a href=search.php?search_name=".$no7."&mydropdown=".$no8."&pno=".$aw.">".$aw."</a>"; echo'</td>
  </tr>
</table>';
?>

助けてくれてありがとう

4

4 に答える 4

3

href値に引用符を追加します。

echo "<a href='search.php?search_name=".$no7."&mydropdown=".$no8."&pno=".$aw."'>".$aw."</a>";
//            ^--------------------------- quotes ----------------------------^
于 2012-07-24T14:41:00.827 に答える
1

urlencodehtmlspecialcharsを使用します:

echo "<a href='search.php?search_name=" . urlencode($no7) . "&amp;mydropdown=" . urlencode($no8) . "&amp;pno=" . urlencode($aw) . "'>" . htmlspecialchars($aw) . "</a>";

また、URL を引用符で囲み、HTML 構文を改善&するために に置き換えます。&amp;

于 2012-07-24T14:39:46.230 に答える
0

恐ろしいフォーマット/レイアウトをクリーンアップし、ヒアドキュメントを使用します。

echo <<<EOL
<table width="auto" border="0">
<tr>
    <td width="auto" class="s"><a href="search.php?search_name={$no7}&mydropdown={$no8}&pno={$aw}">{$aw}</a></td>
</tr>
</table>
EOL;

HEREDOCがこれらすべての個別のエコーの必要性を排除し、文字列への可変補間を可能にし(「連結するために文字列から抜け出す」ことはもうありません)、HTMLコードの適切なフォーマット/インデントを可能にすることに注意してください。

于 2012-07-24T14:45:20.350 に答える
0

問題は、変数内のスペースです。ブラウザーが href タグの末尾にスペースを挿入することは、より大きな問題です。前に提案したようにurlencode、変数内のスペースを使用または変換して、+

于 2012-07-24T14:46:36.457 に答える