我正在尝试使用一个存储文本框值的数组,但是我的问题是,每当我运行代码时,当我添加另一个文本时,第一个文本总是会被替换,这个“另一个文本”将一直保留到我添加一个文本为止。第三文本。因此,此过程将重复并重复annndd重复。
请告诉我我失踪了。
<body>
<?php
$server_name="localhost";
$username="root";
$password="";
$database="mabangis";
$connection=mysqli_connect($server_name,$username,$password,$database) or die('not connect');
$final_value1="";
if(isset($_POST['insert'])) {
$arraytextbox_value=$_POST['array'];
foreach($arraytextbox_value as $final_value)
{
$final_value1="$final_value<br>";
}
echo "$final_value1";
}
?>
<form method="POST" action="Prac-1.php">
Name: <input type="text" name="array[]">
<button type="add" name="insert">Add</button>
<button type="save">Save</button>
</form>
</body>
答案 0 :(得分:0)
您可以添加更多这样的表单字段
<form method="POST" action="Prac-1.php">
First Name: <input type="text" name="array[]">
Second Name: <input type="text" name="array[]">
<button type="add" name="insert">Add</button>
<button type="save">Save</button>
</form>
并像这样更改php代码
$names = array();
if(isset($_POST['insert'])) {
$arraytextbox_value=$_POST['array'];
foreach($arraytextbox_value as $final_value)
{
$names[]="$final_value";
}
print_r($names);
}
答案 1 :(得分:0)
您错过了concatenating:
<?php
$_POST['insert'] = 'save';
$_POST['array'] = ['apple','orange'];
$final_value1="";
if(isset($_POST['insert'])) {
$arraytextbox_value=$_POST['array'];
foreach($arraytextbox_value as $final_value)
{
// concatenating assignment operator to join the strings
$final_value1 .= "$final_value<br>";
}
echo "$final_value1";
}
或者,您可以使用implode()
if(isset($_POST['insert'])) {
echo $final_value1 = implode('<br>', $_POST['array']);
}
输出:"apple<br>orange"
演示:
http://sandbox.onlinephpfunctions.com/code/985b7c68d5cdfe86d6cfe8d6768e05d051c958c2