0

特定のセッションに変数を割り当てるスクリプトがあります。ローカルホストでは完全に機能しますが、オンラインでアップロードした後は、Web 上では機能しません。すなわち

$_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'];



}

加えて:

同じアプリケーションに対して、ローカルと Web の両方で完全に機能する別のセッションがあります。

This session is $_SESSION['member_id']

member_id セッションは、コースへの登録時にすべてのユーザーのログイン ID を処理します。コース ID を保持する pubc_cart を除いて、正常に動作しています。

私は本当に困惑しています。これとは異なるセッションに変数を割り当てる別の方法はありますか、それともローカルで別のスクリプトを作成してから Web 用に別のスクリプトを作成する必要がありますか? Pls 私はここで本当に混乱しています.. 助けていただければ幸いです。

4

1 に答える 1

0

別のサーバーでセッションの期限が切れるのが早すぎることが原因である可能性があります。セッション変数を正しく設定していることを確認することから始めます。セッションが有効になっていないか、サーバーの php.ini ファイルで正しく構成されていない可能性があります。

これをファイルの前に置いて、エラーを確認できます。エラーが表示されると、どこで問題が発生したかがわかります。

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