0

2回目のクリックまでユーザーがSESSIONにログインしていると設定されないという奇妙な問題があります(ログインしているにもかかわらず)

したがって、次のようなログイン ドロップダウンがあります。

ここに画像の説明を入力

ユーザーを ACCOUNT-SELECTOR に送ります。ビジネスまたは個人のアカウントに基づいて適切な検証を決定するための PHP:

if (isset($_POST['loginAccountType']) && $_POST['loginAccountType'] == 'individual') {       
     include('ind_login.php');;
} elseif (isset($_POST['loginAccountType']) && $_POST['loginAccountType'] == 'business') {
     include('bus_login.php');
} else {
     include('error_login.php');
}

session_start();のページだけでなく、私のaccount-selector.phpページにもありind_login.phpます。そして、どちらもページの一番上にあります (何よりも前に)。

ログインすると、これが私の見解です。

ここに画像の説明を入力

ご覧のとおり$_SESSION['Ind_ID']、ページ上でを設定して返すことができind_login.php、VIEW YOUR PROFILE が機能します (SESSION ID にリンクされています)。

ただし、コードでこのボタンを display:none に設定する必要があると指定されている場合でも、ナビゲーションに [ログイン] ボタンが表示されます。

if(isset($_SESSION['Ind_ID'])) {
     $accIndStyle = "visibility: visible;"; 
} else {
     $accIndStyle = "display:none;";
}

ボタンが display: none になるので、これが正しいコードであることはわかっています。ただし、2 回目にログインするか、セッション (開始) で別のページに移動すると、サイトは$_SESSION['Ind_ID']設定どおりに読み込まれ、[ログイン] ボタンが非表示になり、[ログアウト] ボタンに置​​き換えられます。

どんな助けでも大歓迎です。

4

2 に答える 2

1

session_start() を index.php ファイル (他のファイルを含むファイル) の一番上に置きます。

于 2013-02-05T12:56:12.350 に答える
0

ページを更新する必要があるように見えるか、セッションに応じてボタンの値を更新するために ajax 呼び出しをスローするだけです。

于 2013-02-05T12:54:19.013 に答える