1

I need to create a dynamic form to register contacts, like a contact list. I created a little example for explanation:

    <html>
    <head><title>Test File</title></head>
    <body>
        <p>Dynamic Form:</p><br />
        <form action="save.php" method="POST">
                    Name: <input type="text" name="name[]" id="name" /> Age <input type="text" name="age[]" id="age" /> Address<input type="text" name="address[]" id="end" />
            <div id="loadHere">
            </div>
            <input type="button" id="plusButton" value="Add" />
            <input type="submit" value="Send" />
        </form>     
<script src="jQuery.js" type="text/javascript"></script>
<script>
    $('#plusButton').click(function(){
        $('#loadHere').append("Name: <input type=\"text\" name=\"name[]\" id=\"name\" /> Age <input type=\"text\" name=\"age[]\" id=\"age\" /> Address <input type=\"text\" name=\"address[]\" id=\"end\"><br />");
    });
</script>
</body>
</html>

I need to know what is the best form to read all the data from this form? I used a for loop: save.php with this content

    <?php
    $name = $_POST['name'];
    $age = $_POST['age'];
    $end = $_POST['address'];
    for($i = 0; $i < count($name); $i++)
    {
        echo "Name: $name[$i] -- Age: $age[$i] Address: $end[$i]<br>";
    }
    ?>

But this don't seems to be a good way... Exists another form to do this more "elegante"?

lwb
  • 379
  • 5
  • 17

1 Answers1

1

You can use either foreach or for loop.

 <?php
$name = $_POST['name'];
$age = $_POST['age'];
$end = $_POST['address'];
for($i = 0; $i < count($name); $i++)
{
    echo "Name: $name[$i] -- Age: $age[$i] Address: $end[$i]<br>";
}
?>

or

<?php
$name = $_POST['name'];
$age = $_POST['age'];
$end = $_POST['address'];

foreach($_POST['name'] as $key=>$value)
{
    echo "Name: $name[$key] -- Age: $age[$key] Address: $end[$key]<br>";
}
?>
RN Kushwaha
  • 2,081
  • 3
  • 29
  • 40