是否可以将 $_SESSION 变量保存到数组中?
Is it possible to save $_SESSION variables to an array?
我是 PHP 的新手,但知道 $_SESSION 本身是一个数组。
我有一个带有一些单选按钮的表单。该按钮将一些数据发送到新的 .php 文件。在一些脚本之后,它会跳回到第一个 .php 页面,其中包含 html 表单。
这就是问题所在:如果再次单击该按钮,新数据将覆盖第一次的数据。但我想保存所有选择的数据 - 如果用户多次使用按钮。
我需要使用 $_SESSION,因为我想在第一页上打印值。
还是使用(这么多)$_SESSION 变量是错误的?
首先,$_SESSION
是 PHP superglobals 之一。但是,就您的目的而言,它实际上与任何其他变量相同 e.g. $randomVariable
。关键区别在于 $_SESSION
在页面加载之间保持不变。
既然如此,我们可以将其设为如下数组:
$_SESSION["dataForms"] = [];
然后我们可以添加 子数组 像:
$_SESSION["dataForms"][] = [
$_POST["formButton1"],
$_POST["formButton2"],
$_POST["formButton3"]
];
如果您以这种方式添加多个(例如三种形式),那么您将得到:
print_r($_SESSION);
/*
Array
(
[dataForms] => Array
(
[0] => Array
(
[0] => button1Value
[1] => button2Value
[2] => button3Value
[3] => button4Value
[4] => button5Value
[5] => button6Value
)
[1] => Array
(
[0] => button1Value
[1] => button2Value
[2] => button3Value
[3] => button4Value
[4] => button5Value
[5] => button6Value
)
[2] => Array
(
[0] => button1Value
[1] => button2Value
[2] => button3Value
[3] => button4Value
[4] => button5Value
[5] => button6Value
)
)
)
*/
我是 PHP 的新手,但知道 $_SESSION 本身是一个数组。
我有一个带有一些单选按钮的表单。该按钮将一些数据发送到新的 .php 文件。在一些脚本之后,它会跳回到第一个 .php 页面,其中包含 html 表单。 这就是问题所在:如果再次单击该按钮,新数据将覆盖第一次的数据。但我想保存所有选择的数据 - 如果用户多次使用按钮。
我需要使用 $_SESSION,因为我想在第一页上打印值。
还是使用(这么多)$_SESSION 变量是错误的?
首先,$_SESSION
是 PHP superglobals 之一。但是,就您的目的而言,它实际上与任何其他变量相同 e.g. $randomVariable
。关键区别在于 $_SESSION
在页面加载之间保持不变。
既然如此,我们可以将其设为如下数组:
$_SESSION["dataForms"] = [];
然后我们可以添加 子数组 像:
$_SESSION["dataForms"][] = [
$_POST["formButton1"],
$_POST["formButton2"],
$_POST["formButton3"]
];
如果您以这种方式添加多个(例如三种形式),那么您将得到:
print_r($_SESSION);
/*
Array
(
[dataForms] => Array
(
[0] => Array
(
[0] => button1Value
[1] => button2Value
[2] => button3Value
[3] => button4Value
[4] => button5Value
[5] => button6Value
)
[1] => Array
(
[0] => button1Value
[1] => button2Value
[2] => button3Value
[3] => button4Value
[4] => button5Value
[5] => button6Value
)
[2] => Array
(
[0] => button1Value
[1] => button2Value
[2] => button3Value
[3] => button4Value
[4] => button5Value
[5] => button6Value
)
)
)
*/