Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.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 如何将一个输入值多次放入数组并记住它?_Php_Arrays_Forms_Session_Post - Fatal编程技术网

Php 如何将一个输入值多次放入数组并记住它?

Php 如何将一个输入值多次放入数组并记住它?,php,arrays,forms,session,post,Php,Arrays,Forms,Session,Post,有什么解决办法吗?对不起,我没解释清楚 当我在$\u POST['name']中放入一些值并提交表单时,我想将该值放入数组($arr),当我第二次在$\u POST['name']中放入一些不同的值并提交表单时,我想将该值放入数组($arr)。现在该数组应该有两个元素(第一个值和第二个值来自$\u POST['name']) 我启动了会话,检查表单是否已提交,字段是否为空。 我尝试使用值为$token=rand()的隐藏输入;而且它不起作用 这应该很容易,但我有一些麻烦来解决它。Tnx PH

有什么解决办法吗?对不起,我没解释清楚

当我在$\u POST['name']中放入一些值并提交表单时,我想将该值放入数组($arr),当我第二次在$\u POST['name']中放入一些不同的值并提交表单时,我想将该值放入数组($arr)。现在该数组应该有两个元素(第一个值和第二个值来自$\u POST['name'])


我启动了会话,检查表单是否已提交,字段是否为空。 我尝试使用值为$token=rand()的隐藏输入;而且它不起作用


这应该很容易,但我有一些麻烦来解决它。Tnx

PHP是一种无状态语言,不存储从一个页面加载到另一个页面加载的变量。每次提交表单时,
$arr
变量将在处理页面时从内存中销毁

如果要在页面加载期间保留信息,则需要将其作为键值对存储在超级全局变量
$\u SESSION

如果使用下面修改的代码,则当表单发布到两级多维数组中时,它将存储键入名称输入的值,该数组可以使用
$\u SESSION['name']
和数字索引访问

<?php

session_start();
if(isset($_SESSION['name']) && !is_array($_SESSION['name']))
{
    $_SESSION['name'] = array();
}

if(isset($_POST['submit']) && trim($_POST['name']) != '') {
    $_SESSION['name'][] = $_POST['name'];
}    
print_r($_SESSION); 

?>

<form action="" method="post">
<input type="text" name="name" value="" />
<input type="submit"  name="submit" value="Submit" />
</form>


你发布的代码与
$token=rand()
有什么关系???你希望这些代码做什么?在你的问题中包括所有相关的代码?阅读ithttps://stackoverflow.com/help/how-to-askI 尝试使用S_会话['token']=$\u POST['hidden'],adn$\u POST['hidden']在您每次提交表单或刷新页面以及刷新时清除输入字段时都是不同的。不,这只是此代码。这是练习。
<?php

session_start();
if(isset($_SESSION['name']) && !is_array($_SESSION['name']))
{
    $_SESSION['name'] = array();
}

if(isset($_POST['submit']) && trim($_POST['name']) != '') {
    $_SESSION['name'][] = $_POST['name'];
}    
print_r($_SESSION); 

?>

<form action="" method="post">
<input type="text" name="name" value="" />
<input type="submit"  name="submit" value="Submit" />
</form>