-2

私は本当のピッケルにいます:

ログイン スクリプトを作成していますが、何らかの理由で $_SESSION 変数がログイン チェックからページ全体に送信されません。

PHP Ver 5.2.12より前のバージョンでこれをテストしたところ、うまくいきました。以前にこの方法を使用したことがあります。ただ、今のところこの方法を使っているサイトは PHP Ver 5.2.12 です

SO 私が気づいた 2 つのバージョンの間には 2 つの違いがあります。

古いバージョンでは、

session.bug_compat_42 オン オン AND 新しい = session.bug_compat_42 オフ オフ

また

旧バージョン

session.use_trans_sid 0 0 AND NEW session.use_trans_sid 1 1

また、session.save_pathのパスはバージョンごとに異なります(これは問題ですか??)これは、ログインページの私のコードです:

ログインページ

<?php 
session_start();
$var_user = $_SESSION['US'];
//echo $var_user;//ouputs nothing =0
//if not logged in
if(!isset($_SESSION['US'])) {
header ('Location:index.php');
 die();
}else if(isset($_SESSION['US'])){   
include('connect.php');
//rest of script goes here
}

ifステートメント内にあるログインの詳細を確認するページの私のコード

ログインページから変数を確認するページ TOP OF PAGE

 <?php
 session_start();
 $var_pass =$_REQUEST['PW'] ; 
 $var_user =$_REQUEST['US'] ; 

ページの後半

$_SESSION["US"]= $var_user;
//echo "login success";
header ('Location:loggedin.php');

これは絶対に頭を悩ませているのですが、おそらく私が気付いていない小さなエラー、アイデアです。

前もって感謝します。

4

1 に答える 1

2

書く

session_start();

ログインページの上部にあります。

于 2012-05-12T04:25:25.113 に答える