如何在PHP中的href链接中发送多个值?

如何在PHP中的href链接中发送多个值?,php,Php,我想使用href链接将多个值发送到不同的页面。但我检索的只是前2个值,其余显示了未定义索引的错误 我的代码是: <?php echo "<a href='index.php?choice=search&cat=".$cat."&subcat=".$subcat."&srch=".$srch."&page=".$next."'> Next </a>"; ?> 我只得到“选择”和“猫”的值。 请告诉我上面的代码出了什么问

我想使用
href
链接将多个值发送到不同的页面。但我检索的只是前2个值,其余显示了未定义索引的错误

我的代码是:

<?php 

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

?>

我只得到“选择”和“猫”的值。
请告诉我上面的代码出了什么问题。

您必须正确地对这些符号进行HTML转义:

?coice=search&amp;cat=...&amp;subcat=...&amp;srch=...
&sub
(属于
&subcat
)被解释为
&sub
是子集运算符的特殊HTML实体:

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

还要确保正确转义变量以防止XSS。

尝试使用urlencode,因为如果字符串中有任何特殊字符,它可能会对整个查询字符串产生影响

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

另外,您在srch和page之间有一个空格,这可能会导致问题。

必须同时转义和号。是的,这一点很好@Sahil,请参阅knittl关于转义Ampersandsy
htmlspecialchars(http_build_查询(数组('choice'=>'search','cat'=>$cat',subcat'=>$subcat',srch'=>$srch',page'=>$next))
以生成格式良好的查询字符串。@Sahil:可以。浏览器会尽其所能(或最坏)试图弄明白你的意思。他们经常弄错。