2

hrefリンクを使用して複数の値を別のページに送信したい。しかし、私が取得するのは最初の2つの値のみで、残りは未定義のインデックスのエラーを示しています。

私のコードは次のとおりです。

<?php 

echo "<a href='index.php?choice=search&cat=".$cat."&subcat=".$subcat."&srch=".$srch."&page=".$next."'> Next </a>";

?>

「choice」と「cat」の値のみを取得します。上記のコードの何が問題なのか教えてください。

4

2 に答える 2

4

文字列に特殊文字があるかのようにurlencodeを使用してみてください。これは、クエリ文字列全体に影響を与える可能性があります。

echo "<a href='index.php?choice=search&cat=".urlencode($cat)."&subcat=".urlencode($subcat)."&srch=".urlencode($srch)."&page=".urlencode($next)."'> Next </a>";

さらに、srchとpageの間にスペースがあり、問題が発生している可能性があります。

于 2012-07-29T09:27:35.340 に答える
3

これらのアンパサンドを適切にHTMLエスケープする必要があります。

?coice=search&amp;cat=...&amp;subcat=...&amp;srch=...

&sub(of )は、サブセット演算子の特別なHTMLエンティティであると&subcat解釈されます。&sub;

&sub; or &#8834; = subset of ⊂

また、XSSを防ぐために、変数を適切にエスケープするようにしてください。

于 2012-07-29T09:26:00.470 に答える