我正在开发一个 PHP 应用程序,该应用程序具有对程序运行至关重要的一个(许多)数组。我需要在页面加载之间保持这个数组的内容完整。我知道这$_POST
可用于在页面加载时保留大多数数据类型,但是如何将数组...放入数组中?
该数组是一个简单的数组,但它的索引数量取决于用户输入——它的范围可以在 1 到 50 之间。
有什么方法可以在页面加载之间保留数组的数据$_POST
吗?
你的问题不是很清楚。在页面之间传递变量应该保存在一个$_SESSION
非$_POST
变量中。将数组存储在会话变量中与将任何变量保存到会话变量中相同。
$session_start();
$_SESSION['my_array'] = array('one', 'two', 'three');
foreach($_SESSION['my_array'] as $value) {
echo $value;
}
客户端/服务器开发中的规则 #1:永远不要信任客户端。
您最好将数组存储在 PHP 的会话状态中,或者将其序列化到磁盘。
幸运的是,这很容易:
$_SESSION['someKey]' = $myArray;
您将其存储在页面中的建议还有另一个问题:如果用户使用后退按钮并重新提交或以其他方式破坏您的页面排序会发生什么?通过在客户端上存储状态,您不能再依赖它了。