Capture Array Values from Dynamic input Fields using PHP
Well in my previous post, you were able to add multiple dynamic fields using jQuery. In this tutorial, we will collect values from those dynamically generated input fields, which can be displayed on user browser or store in MySql database. Let's assume you have a HTML form with multiple input fields like example shown below. This fields are generated by jQuery code in my previous post.HTML
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
<form method="post" action="collect_vals.php">
<div class="input_fields_wrap">
<button class="add_field_button">Add More Fields</button>
<div><input type="text" name="mytext[]"></div>
<div><input type="text" name="mytext[]"></div>
<div><input type="text" name="mytext[]"></div>
<div><input type="text" name="mytext[]"></div>
<div><input type="text" name="mytext[]"></div>
</div>
</form>
Capture Array Values using PHP
Collecting values from above input fields is pretty simple, take a look at example below. Once the value is captured from input fields, you can output it on the browser.We can directly access array values using index number, but this will cause error if indexed value doesn't exist in array.PHP
- 1
- 2
echo $_POST["mytext"][0];
echo $_POST["mytext"][1];
PHP
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
if(isset($_POST["mytext"]) && is_array($_POST["mytext"])){
$subject = implode(", ", $_POST["mytext"]);
echo $text;
}
/*
returns
value1, value2, value3
*/
PHP
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
<?php
if(isset($_POST["mytext"]) && is_array($_POST["mytext"])){
$capture_field_vals ="";
foreach($_POST["mytext"] as $key => $text_field){
$capture_field_vals .= $text_field .", ";
}
echo $capture_field_vals;
}
/*
returns
value1, value2, value3
*/
?>
PHP
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
<?php
if(isset($_POST["mytext"]) && is_array($_POST["mytext"])){
echo json_encode($_POST["mytext"]);
}
/*
returns
["value1","value2","value3"]
*/
?>
Save values into Database
Save strings on your database using MySqli.PHP
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
<?php
//Open a new connection to the MySQL server
$mysqli = new mysqli('host','username','password','database_name');
//Output any connection error
if ($mysqli->connect_error) {
die('Error : ('. $mysqli->connect_errno .') '. $mysqli->connect_error);
}
$capture_field_vals ="";
if(isset($_POST["mytext"]) && is_array($_POST["mytext"])){
$capture_field_vals = implode(",", $_POST["mytext"]);
}
//MySqli Insert Query
$insert_row = $mysqli->query("INSERT INTO table ( captured_fields ) VALUES( $capture_field_vals )");
if($insert_row){
print 'Success! ID of last inserted record is : ' .$mysqli->insert_id .'<br />';
}
?>