2012-01-22 60 views
0

我的PHP会话在本地正常工作(使用MAMP),但不是当我将PHP文件上传到它们托管的位置时(GoDaddy主机)。PHP会话在本地主机(MAMP)上工作,但不在远程服务器上(GoDaddy托管)

session_test.php

<?php 
session_start(); 
$_SESSION['blah']=$blah; 
$blah = "Blah"; 
?> 

<html> 
<a href="session_test2.php">Test PHP Session</a> 
</html> 

session_test2.php

<?php 
session_start(); 
$blah = $_SESSION['blah']; 
echo $blah; 
?> 

在我的本地服务器上,当我查看session_test.php,然后单击“测试PHP会话“,浏览器显示”Blah“。当我将这些页面上传到远程服务器并执行相同操作时,session_test2.php为空。

我已经通过互联网搜索了2个小时,发现会话往往在一台服务器上工作,但没有另一台服务器,但我似乎无法确定需要做出哪些实际更改才能解决我的讨论问题。

为什么我的会话不能正常工作?

+0

看来你需要检查引用和值PHP之间的区别。您可能还想检查您的托管公司。当我听到GoDaddy时,我是唯一一个c one不理的人吗? –

+0

@PhpMyCoder感谢您的提示。我是PHP的新手,所以我试图找出一切,因为我编码:) – AnnaBlabber

回答

3

您没有按正确的顺序设置会话变量。

$_SESSION['blah']=$blah; // $blah doesn't have a value here yet... 
$blah = "Blah"; // Since you're defining it on the next line. 

所以,当你点击到session_test2页,“空”的值已经给会话变量,不会被回显。交换这两条线,你应该没问题。

+0

工作。你是我最好的朋友:) – AnnaBlabber

+0

顺便说一句,我是新来的stackoverflow,所以我想弄清楚如何投票给你或给你pointz。 – AnnaBlabber

+0

@AnnaBlabber很高兴听到它的工作。欢迎来到SO。 – Oldskool

相关问题