<html>
<body>
<form method="post" >
<h1> name</h1>
<input type=text name="excel">
</br>
<input type=submit name="submit">
</form><?php
session_start();
$_SESSION['people'] = array();
$var='';
if(isset($_POST['submit']))
{
$var=$_POST['excel'];
if (in_array($var, $_SESSION['people']))
{
echo "Already Exists.";
}
else
{
array_push($_SESSION['people'],$var);
}
print_r($_SESSION['people']);
}
else
{
session_destroy();
}
?>
</body>
</html>
在上面的代码中,我接受了人的名字,并希望将其存储在一个数组中。如果重复名称,则不能再将其添加到会话数组中。必须在会话数组的末尾添加连续的名称条目。
我希望输出为
Array ( [0] => Glenn) // when first form entry is Glenn.
Array ( [0] => Glenn [1] => Maggi) //when next form entry is Maggi.
已经存在。添加其他名称。 //当在表单字段中再次输入名称Glenn或Maggi时。
答案 0 :(得分:2)
您始终设置$_SESSION['people'] = array();
。这将清空每次提交的会话值。添加支票 -
if(!isset($_SESSION['people'])) { // Check if the array is not set (for the first time)
$_SESSION['people'] = array(); // Initialize the session value with empty array
}
并且始终尝试在页面开头添加session_start()
。