从未检查过具有名称变量的PHP复选框

时间:2015-11-06 15:22:57

标签: php html checkbox

我正在开发一个HTML / PHP商店网站,为了让人们检查他们想要购买的商品,我在每个产品中都放了一个复选框,名称为" Order_(产品)&#34 ;.问题是,当我需要检查是否选中了该复选框时,它永远不会。我不确定我做错了什么。以下是生成复选框的代码:

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++;
    }

2 个答案:

答案 0 :(得分:0)

您在需要时不会使用值

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

答案 1 :(得分: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++;
}