2012-03-31 13 views
1

クライアントのログインシステムで作業していますが、修正方法が不明な問題が発生しました。ユーザーが特定のディレクトリのindex.phpにアクセスしようとすると、ログインする必要があるように設定しました。私はこれをやっているコードは次のとおりです。Login_admin.phpページPHPログインスクリプト - セッションエラーが発生する可能性があります

<?php 
    session_start(); 
    if(!$_SESSION['myusername']){ 
     header("location:Login_admin.php"); 
    } 
?> 

、=「checklogin.php」アクションのあるフォームがあります。それがデータベースに接続すると、それはユーザ名を格納し、セッションを開始しますのはここです:

if($count==1){ 
    session_start(); 
    // Register $myusername, $mypassword and redirect to file "login_success.php" 
    $_SESSION['myusername']; 
    $_SESSION['mypassword']; 
    header("location:index.php"); 
} 

もともと上記のコードは(のsession_startを持っていなかった)ので、私は私の問題を解決するための試みでと付け加えました。

実際の問題は、セッションが登録されていないことです。私がディレクターの他のページの1つに行くと(それらのすべてが最初のコードセグメントを持っています)、ログインするとindex.phpに送られますが、そのページに戻ろうとするとそれは私に再びログインさせます。ある時点で私はインデックスページの最初のコードセグメントを持っていましたが、正しいログインでもログインページに戻ってきました。

私はこのスクリプトを友人に示しましたが、実際にはあまり変わっていません。もともとスクリプトは持っていた:

session_register("myusername"); 

しかし、いくつかのデバッグ後

が、私はそれを変更:

$_SESSION['myusername']; 

最後の注意点を、私は生活のための問題は、おそらく愚かな過ちと考えられている専門家ではありませんよ私のことは分かりません。

ありがとうございます!

+0

以下の両方の回答が問題の解決に役立ちました。みんなありがとう! –

答えて

1

$_SESSION['myusername']; 

ラインは、値が変数に代入されている割り当て
セッション変数に通常の方法にあなたが持っているセッション変数に値を代入する
絶対に何もしませんPHPの場合

+0

ああ、私はそれを試してみましょう –

+0

正しい方法は次のようになります:$ _SESSION ['myusername'] = $ myusername; ? –

1

各セッション変数に値を指定する必要があります

$_SESSION['myusername'] = 'thename'; 
$_SESSION['password'] = '*******'; 
関連する問題