gpt4 book ai didi

php - 每次发送表单时,如何将 $_POST 变量附加到 $_SESSION 数组?

转载 作者:行者123 更新时间:2023-12-05 04:18:23 24 4
gpt4 key购买 nike

我在这个问题上苦苦挣扎了大约 2 个小时。我想将我的 $_POST 变量插入到 $_SESSION 数组中,并将从表单发送的每个新数据附加到 session 变量。现在,当我将 session 变量定义为数组时,我是这样说的吗?
$_SESSION['姓名'];
或者像这样
$_SESSION['名称'] = array();

我有两个 POST 变量,我想将每一个都插入到 session 数组中。

这是表格:

<form action="action.php" method="POST" >
<label>Moovie name: <input type="text" name="name" /></label><br />
<label>Price: <input type="text" name="price" /></label><br />
<input type="submit" value="Send" />
</form>

这里是 action.php

<?php

session_start();

$_SESSION['name'] = array();
$_SESSION['price'] = array();

$name = $_POST['name'];
$price = $_POST['price'];

array_push($_SESSION['name'], $name);
array_push($_SESSION['price'], $price);

print_r($_SESSION['name']);
echo "<br>";
print_r($_SESSION['price']);

?>

注意:如果我说

$_SESSION['name']; instead of $_SESSION['name'] = array();

我收到警告:array_push() 期望参数 1 为数组,action.php 中给出的为空
再说一次,$_SESSION['name'] 一开始就是数组吗?

最佳答案

每次运行此脚本时,您都在清空 session 数组。

为避免这种情况,请检查数组是否已存在于 session 中:

<?php

session_start();


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


$name = $_POST['name'];
$price = $_POST['price'];

array_push($_SESSION['name'], $name);
array_push($_SESSION['price'], $price);

print_r($_SESSION['name']);
echo "<br>";
print_r($_SESSION['price']);

?>

关于php - 每次发送表单时,如何将 $_POST 变量附加到 $_SESSION 数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15460269/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com