2012-01-09 134 views
1

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

任何帮助将是伟大的!谢谢。

1 PHP文件(发送$插入到$ _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文件

<?php 

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

?> 
+3

你是什么意思的“不会工作”,究竟是什么? – 2012-01-09 21:48:06

+1

发生了什么或没有发生什么? – 2012-01-09 21:48:07

+4

这两个页面都在同一个域上吗? – 2012-01-09 21:48:18

回答

1

(由$ _SESSION [ 'finalimage']接收$插入)首先要检查的是您的PHP安装如何支持会话。有两种可能的方法为“持续”的请求之间的会话ID:

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

如果使用饼干请检查您的服务器是否实际上向您的浏览器发送了一个cookie。

如果您使用的是URL重写,您将发送的将客户端浏览器重新路由到“snapshot_view.php”的位置标题将需要修改以包含会话标识。像这样:

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

这是我需要的,谢谢。 FireFox没有启用cookie以允许cookie方法工作。我无法弄清楚如何使用你给我的这个代码来用cookies来做同样的事情......任何明智的词汇? – Aaron 2012-01-09 22:59:55

+0

嗨亚伦 - 如果您使用cookie来在浏览器中保留会话ID,那么上面的代码就不必要了,因为Cookie会随着每个请求自动发送。 URL重写不依赖于Cookie支持,但它意味着每个URL都必须包含PHPSESSID值--PHP会自动为您提供**大部分**,但是在发送“位置”标题时,您必须手动执行此操作。 PS在你原来的代码你应该移到“页眉()”调用的代码的结束,以避免之前的图像文件已经提交到磁盘找回的请求。 – 2012-01-09 23:05:37

+0

谢谢你的帮助! – Aaron 2012-01-10 01:17:56

相关问题