在localhost上工作的会话,而不是在Web上工作

时间:2013-02-06 15:04:29

标签: php session

我有一个脚本可以将varibale分配给特定的会话。它在localhost上完美运行,但在线上传后,它就无法在网络上运行。即

这是通过$ _GET将变量发送到脚本

的链接
<a href="user_entry_chk.php?pubc_req&amp;c_id=<?php echo $course_details['id']; ?>">Register for this course</a>

这是用于将变量分配给会话的脚本

if (isset($_REQUEST['pubc_req'])) {



$c_id = $_GET['c_id'];

session_name("pubc_cart");
session_start();

$pubc_cart = $_SESSION[pubc_cart];
if ($pubc_cart) {

//$get_pub_arr[] = array();
$pubc_cart = $_SESSION[pubc_cart];

$get_pubc_arr[] = array();
$get_pubc_arr = $_SESSION[pubc_cart];

if(in_array($c_id, $get_pubc_arr)){ 

//$_SESSION['inh_cart'] = array();

?>
    <script language="javascript">
    window.location = "user_allc_booking.php?ex_pub_cid=<?php echo $c_id; ?>";
    </script>
<?php

}
else {

//$_SESSION['pubc_cart'] = array();
$_SESSION[pubc_cart][] = $c_id;
//$pubc_cart[] = array();
//$pubc_cart = $_SESSION['pubc_cart'];

}

} else {
$_SESSION[pubc_cart][] = $c_id;
//$pubc_cart[] = array();
//$pubc_cart = $_SESSION['pubc_cart'];
}
//$_SESSION['pubc_cart'] = $pubc_cart;


?>
    <script language="javascript">
    window.location = "user_allc_booking.php";
    </script>
<?php



$pub_query_course_info = @mysql_query("select * from public_courses where id='".$c_id."'");
$pub_course_det = array();
$pub_course_det = @mysql_fetch_assoc($pub_query_course_info);   
$pub_course_title = $pub_course_det['title'];



}

另外:

另一个会话在本地和网络上都可以完美地用于同一个应用程序。

This session is $_SESSION['member_id']

member_id会话在注册课程时处理所有用户的登录ID。除了保存课程ID的pubc_cart之外,它工作正常。

我真的很困惑。是否有另一种方法可以将变量分配给与此不同的会话,或者您是否必须在本地编写不同的脚本,然后为Web添加另一个脚本... 请到这里我真的很困惑..很乐意得到帮助。

1 个答案:

答案 0 :(得分:0)

这可能是由于您的会话在另一台服务器上过期的原因。首先确保正确设置会话变量。可能在服务器上的php.ini文件中未启用或未正确配置会话。

您可以尝试将其放在文件前面以查看错误。当您看到错误时,您可以找出出错的地方。

error_reporting(E_ALL);
ini_set('display_errors', 1);