Hello! I will try to explain my purpose in the best way possible. I started studying PHP a short time ago, I'm doing a system of registration and purchase of products only for learning, however I'm facing a small problem. I have my products registered with their proper keys in a datatable . I manipulate these products, logically, through a connection to the database. Next I have the productos.php page that aims to display the products in the database and allow the logged in user to add them to their shopping cart. The problem is: I'm not getting the quantity entered in the input for the requested product. Here is my file productos.php :
$sql = "SELECT id_produto, nome_produto, preco_produto FROM produtos ORDER BY id_produto";
$stmt = $conexao->prepare($sql);
$stmt->execute();
$num = $stmt->rowCount();
if($num>0)
{
echo "<table>";
echo " <tr>";
echo " <th>NOME</th>";
echo " <th>PREÇO</th>";
echo " <th>QUANTIDADE</th>";
echo " </tr>";
while ($row = $stmt->fetch(PDO::FETCH_ASSOC))
{
extract($row);
$preco_produto_reajustado = number_format($preco_produto, 2, ",", ".");
echo " <tr>";
echo " <td><div class='id-produto' style='display: none'>{$id_produto}</div>";
echo " <div class='nome-produto'>{$nome_produto}</div></td>";
echo " <td>R${$preco_produto_reajustado}</td>";
echo " <td>";
echo " <form class='adicionar'>";
echo " <input type='number' name='quantidade' value='1' min='1' max='20'/>";
echo " <button type='submit'>Adicionar</button>";
echo " </form>";
echo " </td>";
echo " </tr>";
}
echo "</table>";
}
else
{
echo "Sem produtos.";
}
As you might have noticed, the add link points to the add.php file. In this file I create a SESSION and store the arrays I got from the previously selected row in productos.php . In this way, the product in question is stored in SESSION along with its details. Here's my add.php file:
<?php
require_once("detectar-erros.php");
session_start();
$id_produto = isset($_GET['id_produto']) ? $_GET['id_produto'] : "";
$nome_produto = isset($_GET['nome_produto']) ? $_GET['nome_produto'] : "";
$quantidade = isset($_GET['quantidade']) ? $_GET['quantidade'] : "";
if(!isset($_SESSION['carrinho']))
{
$_SESSION['carrinho'] = array();
}
if(array_key_exists($id_produto, $_SESSION['carrinho'])){
header('Location: produtos.php?acao=existe&id_produto' . $id_produto . '&nome_produto=' . $nome_produto);
}
else
{
$_SESSION['carrinho'][$id_produto]=$nome_produto;
header('Location: produtos.php?acao=adicionado&id_produto' . $id_produto . '&nome_produto=' . $nome_produto);
}
?>
I'm not sure how to set the input value for the variable $quantidade
.
How to proceed? Thanks in advance for any help and I apologize for any errors!