PHP用数组填充表

时间:2014-11-27 19:44:42

标签: php arrays forms

我找不到错误。 我写了一个PHP脚本,生成一个表格,填充数组。 最后一行是一个输入字段,用于向数组添加新项目。

我的问题是,当我添加新数组时,数组的最后一个条目会被覆盖。 这是代码:

<?php
$array = array("a");
function printForm($array)
{
    if(!isset($array)){
        $array = array();
    } 

    $out=" <form name='' action='".$_SERVER['PHP_SELF']."' method='POST'><table border='1'> <tr><th colspan='2'>Namen</th></tr>";
    $out = $out. "<input type='hidden' name='posted' value='yes' />";
    foreach ($array as $m) {
        $out = $out . "<tr><td> </td>";
        $out = $out . "<td>".$m["name"]."</td></tr>";
    }
    $out = $out.  "<tr><td> <input type='Submit' value='add' /></td>";
    $out = $out.  "<td><input type='text' name='name' value='' /></td>";
    $out = $out."</table></form>";
    echo $out;
}

if( $_POST['name']!=""){
    array_push($array, $_POST['name'] );
}
printForm($array);

?>

任何想法?

关心Michaba

1 个答案:

答案 0 :(得分:0)

感谢Erik将我指向会议。 这是适用于我的解决方案:

<?php
session_start();

if ( ! isset ( $_SESSION['myArray'] ) )
{
    $_SESSION['myArray'] = array();
}
function printForm()
{       
    $out=" <form name='' action='".$_SERVER['PHP_SELF']."' method='POST'><table border='1'><tr><th colspan='2'>Namen</th></tr>";
    $out .= "<input type='hidden' name='posted' value='yes' />";
    foreach ($_SESSION['myArray'] as $m) {
        $out .= "<tr><td> </td>";
        $out .= "<td>".$m["name"]."</td></tr>";
    }
    $out .=  "<tr><td> <input type='Submit' value='s' /></td>";
    $out .=  "<td><input type='text' name='name' value='' /></td>";

    $out .=  "</table></form>";
    echo $out;
}

if( $_POST['name']!="")
{
    array_push($_SESSION['myArray'], $_POST['name'] );      
}
printForm(); 
?>

稍后我会将数组存储在数据库中。