2015-11-06 52 views
1

我正在开发一个HTML/PHP的商店网站,为了让人们检查他们想要购买的物品,我在每个产品中放置了一个复选框,名称为“Order_(产品)”。事情是,当我需要检查该复选框是否被选中时,它永远不会。我不确定我做错了什么。下面的代码生成的复选框:PHP复选框与变量名称从未检查

while ($i < $num_linhas) { 
     $row = pg_fetch_row($result, $i); 
      echo "<div class='product'> 
        <h3>".$row[2]."</h3> 
        <img src='common/images/".$tipo_produto."/".$row[1].".jpg' alt='".$row[1]."'> 

      <br>"; 
      if($_SESSION['tipo'] == "cliente") 
       { 
        echo '<form method="POST"><input type="checkbox" name="encomendar_'.$row[0].'"></form>Encomendar'; 
       } 



      $i++; 
      echo "</div>"; 

    } 

和代码来检查,如果他们被选中(不同的脚本):

while($i < $num_linhas) 
    { 
     $row = pg_fetch_row($result_1, $i); 

     if(isset($_POST['encomendar_'.$row[0].''])) 
     { 
      echo $row[0]; 
      $query = "SELECT * from biofood.encomenda"; 
      $result_2 = pg_exec($conn, $query); 
      $num_linhas = pg_num_rows($result_2); 
      $j = $num_linhas + 1; 
      $t = time(); 
      $data = date('y-m-d'); 
      $hour = date('H:i'); 
      $id_cliente = $_SESSION['id']; 

      $query = "Insert into biofood.encomenda(id,data,hora,id_cliente,id_produto,estado) VALUES('".$j."','".$data."','".$hour."','".$id_cliente."','".$row[0]."','Não tratada')"; 
      $result_3 = pg_exec($conn, $query); 

     } 
     $i++; 
    } 
+0

检查http://stackoverflow.com/questions/4997252/get-post-from-multiple-checkboxes出来的更容易的工作方式.. – Naruto

回答

0

不要使用值检查时需要

echo '<form method="POST"><input type="checkbox" 
    name="encomendar_'.$row[0].'" checked ></form>Encomendar'; 
      } 
0

您必须为您的输入添加值

echo '<form method="POST"><input type="checkbox" name="encomendar_'.$row[0].'" value="$row[0]"></form>Encomendar'; 
例如,

之后,你如果设定就可以检查:

while($i < $num_linhas) 
{ 
    $row = pg_fetch_row($result_1, $i); 

    if(isset($_POST['encomendar_'.$row[0]])) 
    { 
     echo $row[0]; 
     $query = "SELECT * from biofood.encomenda"; 
     $result_2 = pg_exec($conn, $query); 
     $num_linhas = pg_num_rows($result_2); 
     $j = $num_linhas + 1; 
     $t = time(); 
     $data = date('y-m-d'); 
     $hour = date('H:i'); 
     $id_cliente = $_SESSION['id']; 

     $query = "Insert into biofood.encomenda(id,data,hora,id_cliente,id_produto,estado) VALUES('".$j."','".$data."','".$hour."','".$id_cliente."','".$row[0]."','Não tratada')"; 
     $result_3 = pg_exec($conn, $query); 

    } 
    $i++; 
} 
+0

我试过这个,它仍然不工作:C任何其他建议? –

+0

我也在你的行[0]后删除了你的concatanated引号。我今晚会考虑这件事。 :) –