PHP-要替换的文本框值正在替换

时间:2018-08-20 16:40:40

标签: php arrays web

我正在尝试使用一个存储文本框值的数组,但是我的问题是,每当我运行代码时,当我添加另一个文本时,第一个文本总是会被替换,这个“另一个文本”将一直保留到我添加一个文本为止。第三文本。因此,此过程将重复并重复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>

2 个答案:

答案 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