Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/253.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
提交PHP和HTML后将值保留在数组中_Php_Html_Arrays - Fatal编程技术网

提交PHP和HTML后将值保留在数组中

提交PHP和HTML后将值保留在数组中,php,html,arrays,Php,Html,Arrays,我正在创建一个脚本,将新项添加到目录(数组)中。每次我推送submit时,它都会创建新的数组,而旧的记录也会消失。我使用数字作为数组键,这样它们就不会相互复制和覆盖,但仍然不起作用。 我想要的是:保存数组中的每条记录 <!DOCTYPE HTML> <html> <body> <?php if(isset($_POST['Submit'])){ $catalog[$_POST['number']]=array("name" => $_POST[

我正在创建一个脚本,将新项添加到目录(数组)中。每次我推送submit时,它都会创建新的数组,而旧的记录也会消失。我使用数字作为数组键,这样它们就不会相互复制和覆盖,但仍然不起作用。 我想要的是:保存数组中的每条记录

<!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>



使用会话来存储data@AvinashSinha我是php新手,你能给我举个例子看看它应该是什么样子吗?谢谢。无需使用会话,只要在每次提交时将该数组和数据一起发布,我希望您能理解我想说的:)谢谢您的数据不会保存在任何地方。在请求结束后,无论您是否使用它们,它们都会消失。我建议使用数据库或保存到文件,永久存储发布的数据。你们能给我举个例子吗?:)
<?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>