我找不到错误。 我写了一个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
答案 0 :(得分:0)
<?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();
?>
稍后我会将数组存储在数据库中。