How to save multiple inputs with the same "name"?

7

I need to save multiple input that contains the same "name" , but the problem is that it only saves 1 single result for several. Example:

<form method="post" action="guardar.php">
    <input type="hidden" name="produto" value="teste1">
    <input type="hidden" name="produto" value="teste2">
    <input type="hidden" name="produto" value="teste3">
    <input type="hidden" name="produto" value="teste4">
    <input type="hidden" name="produto" value="teste5">
    <input type="submit" value="enviar">
    </form>

PHP:

$produtos = $_POST["produto"];
    mysql_query("INSERT INTO produtos (produtos) VALUES ("$produtos"") or die("Erro  query.<br>Mensagem do servidor: ".mysql_error());

But the bank only comes:

  

test1

How would I save all input values if they have the same name ?

Update:

The problem has been solved by adding [] as name of input , transforming it to a array and treating them with foreach .

    
asked by anonymous 30.03.2015 / 00:50

1 answer

11

Hello, as said in the comments, just turn them into an array:

HTML

<form method="post" action="guardar.php">
    <input type="hidden" name="produto[]" value="teste1">
    <input type="hidden" name="produto[]" value="teste2">
    <input type="hidden" name="produto[]" value="teste3">
    <input type="hidden" name="produto[]" value="teste4">
    <input type="hidden" name="produto[]" value="teste5">
    <input type="submit" value="enviar">
</form>

In PHP you put the inserts inside a loop that passes through the array fields:

PHP

foreach($_POST["produto"] as $produto) {
    mysql_query("INSERT INTO produtos (produtos) VALUES (".$produto.")") or die("Erro  query.<br>Mensagem do servidor: ".mysql_error());
}

I hope I have helped

    
30.03.2015 / 15:52