我tryng通过在URL参数,但我收到此错误: *破灭():在*如何通过在URL参数数组 - PHP
传递的参数无效我知道,原因是我传递一个字符串作为参数,而不是一个数组,但我怎么能直接传递数组?
我的代码:
$all_prod_cat="SELECT * FROM products GROUP BY product_category";
$run_all_prod_cat = mysqli_query($con,$all_prod_cat);
$sql= "SELECT * FROM products";
if(isset($_GET['product_category']) && $_GET['product_category']!="")
{
$risperpag = 16;
$limit = $risperpag * $_GET['p'] - $risperpag;
$prod_cat = $_GET['product_category'];
$sql.=",categories WHERE product_category IN ('".implode("','",$prod_cat)."') AND product_category = cat_id LIMIT $limit,$risperpag";
$get_cat_pro_total = "SELECT * FROM products,categories WHERE product_category IN ('".implode("','",$prod_cat)."') AND product_category = cat_id";
$run_cat_pro_total = mysqli_query($con,$get_cat_pro_total);
$num_cat_pro_total = mysqli_num_rows($run_cat_pro_total);
$npag = ceil($num_cat_pro_total/$risperpag);
$p = $_GET['p'];
echo "<ul>";
if($p!=1)
{
echo '<li class="numPagine"><a href="lista_prodotti.php?sort_price=&product_category='.urlencode($stringa).'&p='.($p-1).'">← Indietro</a></li>';
}
for($i=1;$i<=$npag;$i++){
if($p==$i)
{
echo '<li class="numPagine pagina_attuale">'.$i.'</li>';
}
else
{
echo '<li class="numPagine"><a href="lista_prodotti.php?sort_price=&product_category='.urlencode($stringa).'&p='.$i.'">'.$i.'</a></li>';
}
}
if($p!=$npag)
{
echo '<li class="numPagine"><a href="lista_prodotti.php?sort_price=&product_category='.urlencode($stringa).'&p='.($p+1).'">Avanti →</a></li>';
}
echo "</ul>";
}
问题是,当我设置的参数进行urlencode,我试图序列,但我得到一个其它的错误。我想我应该反序列化,但我不知道确切的一点。
在此先感谢。
您的网址现在如何显示? – nowaja
'url?product_category [] = 1&product_category [] = 2'将在PHP中给出一个数组,但您需要添加检查来查看** untrustable **用户输入是否实际上是一个数组, –
[passing数组作为url参数](http://stackoverflow.com/questions/1763508/passing-arrays-as-url-parameter) –