使用$ _SESSION将变量从PHP传递到另一个PHP

时间:2012-01-09 21:46:15

标签: php session

我在将变量从一个PHP文件传递到另一个PHP文件时遇到问题。我正在尝试将varialbe $ insert发送到另一个只显示它的PHP文件。对于我的生活,我无法弄清楚为什么它不起作用。

任何帮助都会很棒!感谢。

第一个PHP文件(将$ insert发送到$ _SESSION ['finalimage'])

<?php

 session_start();
 $insert = rand(5, 1500);
 $_SESSION['finalimage'] = $insert;

 header("Location: http://www.shmoggo.com/snapshot/snapshot_view.php");

 echo base64_decode($_POST["image"]);

 $final = base64_decode($_POST["image"]);


 $newpath = "uploads/" . $insert . ".jpg"; 
 file_put_contents($newpath, $final);

 ?>

第二个PHP文件(从$ _SESSION ['finalimage']接收$ insert)

 <?php

 session_start();
 $insert = $_SESSION['finalimage'];
 echo "Image Number = ". $insert;

 ?>

1 个答案:

答案 0 :(得分:1)

首先要检查的是PHP安装如何支持会话。在请求之间“持久化”会话ID有两种可能的方法:

1)使用cookies或 2)使用“URL重写”(即每个URL传递一个sessionid值)

如果您使用Cookie,请检查您的服务器是否实际上是向您的浏览器发送Cookie。

如果您正在使用url-rewriting,那么您要发送的Location头将客户端浏览器重新路由到“snapshot_view.php”,需要修改它以包含会话ID。像这样:

$reroute = 'Location: http://www.shmoggo.com/snapshot/snapshot_view.php?PHPSESSID=' . session_id();
header($reroute);