2016-04-13 12 views
-1
<?php 
    session_start(); 
    if(!isset($_SESSION['myusername'])) { 
     header('location:kursna_login.php'); 
    } 
?> 

ユーザ名とパスがログインフォームで正しい場合、コードは常にkursna_login.phpにリダイレクトされます。これはコードの正しい宣言ですか?正しいログインに関係なくセッションチェックリダイレクト

+1

セッションが正しく開始されたことを 'display_errors'が確認できるようにして、' myusername'が実際に設定されていることを確認してください。 – Federkun

+0

$ _SESSION ['myusername']を設定していますか? – user2182349

+0

私は古いスクリプトをPHP 5に更新しようとしていますが、私はあまり期限が切れていません。上記のコードを削除すると、ページに正しくログインします。 $ _SESSION ['myusername'] = "myusername";私はこれがユーザー名を設定していると思います。 –

答えて

0

"kursna_login.php"にリダイレクトされてセッション変数が設定されていない場合、セッション変数にユーザー名を格納すると、たとえば、ユーザー名がpostメソッド のフォームから来ているとしますこれはあなたのキーとしてあなたのアプリでsettedすべてのセッション変数を与えるだろう、この

$username = $_POST['username']; 
$_SESSION['myusername'] = $username; 

ようIYを保存し、この後、あなたがこの

<?php 
    session_start(); 
    echo "<pre>"; 
    print_r($_SESSION); 
?> 

のような単純ますprint_r EITHセッション配列をcheckkする必要があります=>値を入力してからo名前が実際にセッションでグローバルに可変であるかどうかを確認する。

+1

@Gorastにsession_start()を追加するように思い出させる。上記のアクションページ –

+0

これは正解です。ファイルにはsession_start()がありませんでした。登録行の前にありがとう! –

関連する問題