0

我有一个将变量分配给特定会话的脚本。它在本地主机上完美运行,但在线上传后,它无法在网络上运行。IE

这是通过 $_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 之外,它工作正常。

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

4

1 回答 1

0

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

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

error_reporting(E_ALL);
ini_set('display_errors', 1);
于 2013-02-06T15:06:34.170 回答