使用此会话变量时,浏览器变为空白

时间:2012-04-25 08:08:52

标签: php javascript jquery json

我有一个会话变量,它试图重新编写下面的所有图像文件名:

$_SESSION ['fileImage'][] ['name'] = $_FILES ['fileImage'] ['name'];.

但是如果我尝试将此会话代码放在下面的jsno.encode()函数中,那么浏览器会变成空白,为什么会这样,以及如何修复它以便浏览器不会变为空白?

var imagename = <?php echo json_encode(isset($_SESSION ['fileImage'][]) ? $_SESSION ['fileImage'] : null); ?>;

2 个答案:

答案 0 :(得分:0)

尝试;

设置器:

$_SESSION['fileImage'] = $_FILES['fileImage']['name'];

getter(Js):

var imagename = <?php echo json_encode(isset($_SESSION['fileImage']) ? $_SESSION['fileImage'] : NULL); ?>;

答案 1 :(得分:0)

这段代码对我来说似乎有问题:

(isset($_SESSION ['fileImage'][]) 

使用双方括号在数组中创建一个新条目。你应该给它一个这样的名字:

$_SESSION ['fileImage']['data']['name'] = ...

并检查是否使用名称设置:

(isset($_SESSION ['fileImage']['data']) 

虽然我认为创建这个子数组是没有意义的,但你可以像谢尔顿提出的那样省略它。