如何在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&cat=...&subcat=...&srch=...
&sub
(属于&subcat
)被解释为&sub
是子集运算符的特殊HTML实体:
⊂ or ⊂ = 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:可以。浏览器会尽其所能(或最坏)试图弄明白你的意思。他们经常弄错。