2016-04-04 2 views
1

カタログ(配列)に新しい項目を追加するスクリプトを作成しています。送信するたびに新しい配列が作成され、古いレコードはなくなります。私は配列キーとして数字を使用しているので、彼らはdublicateしてお互いを上書きすることはありませんが、それでも動作しません。 私が欲しいのは、すべてのレコードを配列に保存することです。PHPとHTMLをサブミットした後に値を配列に保持する

<!DOCTYPE HTML> 
<html> 
<body> 
<?php 
if(isset($_POST['Submit'])){ 
$catalog[$_POST['number']]=array("name" => $_POST['name'], "price" => $_POST['price'], "make" => $_POST['make']); 
foreach 
($catalog as $var) { 
    echo "\n", "<b>Name:</b> ", $var['name'], "\t\t", " // <b>Price:</b> ", $var['price'], "\t\t", " // <b>Make:</b> ", $var['make']; 
} 
} 
?> 
<form action="<?php echo $_SERVER['PHP_SELF'];?>" method="post"> 
    Number:<br> 
    <input type="text" name="number" value="<?php 
end($catalog); 
$key = key($catalog); 
echo $key+1; 
?>"><br> 
    Name:<br> 
    <input type="text" name="name"><br> 
    Price:<br> 
    <input type="text" name="price"><br> 
    Make:<br> 
    <input type="text" name="make"><br><br> 
    <input type="submit" value="Submit" name="Submit"> 
</form> 

</body> 
</html> 
+0

使用セッションはデータ私はPHPに新たなんだ –

+0

@AvinashSinhaを保存するために、あなたは私にそれがどのように見えるべきかの例を与えることができますか?ありがとう。 –

+0

セッションを使用する必要はありません。提出するたびにその配列をデータとともに投稿してください。私はあなたが何を言いたいのかと思っています:) thanks –

答えて

0
<?php 
error_reporting(0); 
session_start(); 
$catalog=array(); 
$catalog=$_SESSION['catalog']; 
if(isset($_POST['Submit'])){ 
$catalog[$_POST['number']]=array("name" => $_POST['name'], "price" => $_POST['price'], "make" => $_POST['make']); 
$_SESSION['catalog'][]=$catalog[$_POST['number']]; 
} 
echo "<pre>"; print_r($_SESSION); echo "</pre>"; 
?> 
<!DOCTYPE HTML> 
<html> 
<body> 
<form action="<?php echo $_SERVER['PHP_SELF'];?>" method="post"> 
Number:<br> 
<input type="text" name="number" value="<?php echo count($catalog)+1 ?>"><br> 
Name:<br> 
<input type="text" name="name"><br> 
Price:<br> 
<input type="text" name="price"><br> 
Make:<br> 
<input type="text" name="make"><br><br> 
<input type="submit" value="Submit" name="Submit"> 
</form> 

</body> 
</html> 
関連する問題