嘿伙计们,这是我正在使用的代码
$ch="s1";
$_SESSION[$ch] = array();
$_SESSION[$ch][] = $_POST['t0'];
$_SESSION[$ch][] = $_POST['t1'];
$_SESSION[$ch][] = $_POST['t2'];
$_SESSION[$ch][] = $_POST['t3'];
$_SESSION[$ch][] = $_POST['t4'];
$_SESSION[$ch][] = $_POST['t5'];
$_SESSION[$ch][] = $_POST['t6'];
但是当我在屏幕上打印会话数据时,$_SESSION['s1'][0]
拥有所有其他索引的所有数据,$_SESSION['s1'][1]
到$_SESSION['s1'][6]
都没有显示任何内容。
这是var_dump($_SESSION)
的结果;
's1' => array (size=7)
0 => string 'All Purpose Horn Anvil A-1t1=Shipping Weight: 900gmst2=Price: € 5.00t3=Quantity: t4= t5=56t6=All Purpose Horn Anvil A-1 Shipping Weight: 900gms Price: € 5.00 Quantity: 56' (length=192)
1 => null
2 => null
3 => null
4 => null
5 => null
6 => null
由于某种原因,POST 索引(即 t0 到 t6)显示在 s1 中。
您可能在
其他地方覆盖该数据,或者只是在打印中出错。
$ch="s1";
$_SESSION[$ch] = array();
$_SESSION[$ch][] = mt_rand(1,200);
$_SESSION[$ch][] = mt_rand(1,200);
$_SESSION[$ch][] = mt_rand(1,200);
$_SESSION[$ch][] = mt_rand(1,200);
$_SESSION[$ch][] = mt_rand(1,200);
$_SESSION[$ch][] = mt_rand(1,200);
$_SESSION[$ch][] = mt_rand(1,200);
print_r( $_SESSION );
输出:
数组 ( [s1] => 数组 ( [0] => 158 [1] => 145 [2] => 110 [3] => 139 [4] => 153 [5] => 183 [6] => 51 ) )
将数据
传递到 POST 是一个错误。在Jquery中,我在变量之间没有"&"的情况下使用它,这导致了问题。
var dataString = 't0=' + txt[0]+ '&t1='+ txt[1] + '&t2='+ txt[2] + '&t3='+ txt[3] + '&t4='+ txt[4] + '&t5='+ txt[5] + '&t6='+ temp;
尝试在等于之前添加一个点:
$ch="s1";
$_SESSION[$ch] = array();
$_SESSION[$ch][] .= $_POST['t0'];
$_SESSION[$ch][] .= $_POST['t1'];
$_SESSION[$ch][] .= $_POST['t2'];
$_SESSION[$ch][] .= $_POST['t3'];
$_SESSION[$ch][] .= $_POST['t4'];
$_SESSION[$ch][] .= $_POST['t5'];
$_SESSION[$ch][] .= $_POST['t6'];
您可以看到此代码在此链接 (3v4l.org/8ZDi9) 上工作:
<?php
$ch="s1";
$_SESSION[$ch] = array();
$_SESSION[$ch][] .= 11;
$_SESSION[$ch][] .= 22;
var_dump($_SESSION);
$ch="s1";
$_SESSION[$ch] = array();
$_SESSION[$ch][0] = $_POST['t0'];
$_SESSION[$ch][1] = $_POST['t1'];
$_SESSION[$ch][2] = $_POST['t2'];
$_SESSION[$ch][3] = $_POST['t3'];
$_SESSION[$ch][4] = $_POST['t4'];
$_SESSION[$ch][6] = $_POST['t5'];
$_SESSION[$ch][7] = $_POST['t6'];
或更好
$ch="s1";
$_SESSION[$ch] = array();
for ($i=0; $i<=6; $i++)
{
$_SESSION[$ch][$i] = $_POST['t'.$i];
}