버그를 찾을 수 없습니다. 배열로 채워진 폼을 생성하는 PHP 스크립트를 작성했습니다. 마지막 행은 새 항목을 배열에 추가하는 입력 필드입니다.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
불분명 함. '덮어 쓴다 '는게 무슨 뜻입니까? 새로운 값을 제출할 때마다 배열에 추가 될 것이라고 생각하십니까? –
PHP에서 브라우저 요청간에 변수가 기억되지 않습니다. 배열을 영구적 인 위치에 저장하지 않고 브라우저 전체로 다시 보내지 않으므로 단순히 삭제됩니다. 이 작업을하려면 세션에 저장하거나 모든 값을 다시 양식에 게시해야합니다. – Erik
아, 그 어리석은 질문에 대해 죄송합니다. 하지만 어떻게이 배열을 Session에 저장할 수 있습니까? 목록이 완성되면 데이터베이스에 저장합니다. – MichaBa