ログインスクリプトがユーザの信頼性をチェックし、ヘッダ機能を使用して受信ボックスページにリダイレクトするログインページのコードを次に示します。セッション変数が動作しないPHP
<?php
session_start();
include_once('config.php');
$user=htmlentities(stripslashes($_POST['username']));
$password=htmlentities(stripslashes($_POST['password']));
// Some query processing on database
if(($id_user_fetched<=$id_max_fetched) && ($id_user_fetched!=0)){
$_SESSION['loggedIn'] = 'yes';
header("Location:http://xyz/inbox.php?u=$id_user_fetched");
//echo 'Login Successful';
}else{
echo 'Invalid Login';
echo'<br /> <a href="index.html">Click here to try again</a>';
}
}else{
echo mysqli_error("Login Credentials Incorrect!");
}
?>
inbox.phpページは次のようになります。上記のコードで今すぐ
<?php
session_start();
echo 'SESSION ='.$_SESSION['loggedIn'];
if($_SESSION['loggedIn'] != 'yes'){
echo $message = 'you must log in to see this page.';
//header('location:login.php');
}
//REST OF THE CODE
?>
、inbox.phpは常に出力を示しています。 SESSION =あなたはこのページを参照してくださいするにはログインする必要があります。 これは、セッション変数が設定されていないか、またはinbox.phpがセッション変数を取得できないことを意味します。どこが間違っていますか?
「エコー」にする必要がありますログイン資格情報が正しくありません! ; 'not' echo mysqli_error( "Login Credentials Incorrect Incorrect!"); ' – undone
' if'文の条件が 'true'と評価されることをデバッグできますか? (つまり、真と偽のブロックのステートメントをエコーして、どちらが発射しているかを確認してください) – Crackertastic
1.両方のスクリプトを同じドメインから呼び出すのですか? 2.あなたはどんな種類のsession_name、session_id、session_set_cookieを使用しますか? 3. session_startが値を返します。それを確認しますか? –