私はPHPでかなりnoobですが、私は運動しようとしています。昨日以来、私は私も理解できない問題によ、私は自分のコードが正しいと思ったが、それは唯一のログに記録されましたが、ログに記録されたユーザーのページにアクセスできませんか?
のfunctions.phpログインしているユーザーのためのページを許可するように私の関数であるので、ここで
間違っているようです
function logged_only()
{
if(session_status() == PHP_SESSION_NONE)
{
session_start();
}
if(!isset($_SESSION['auth']))
{
$_SESSION['flash']['danger'] = "You can't enter this page - not logged in";
header('Location: login/login.php');
exit();
}
}
だから、私がログインしていないよ場合はログインページに私をリダイレクトするようになっています、シンプル
login.php
elseif(password_verify($_POST['password'], $user->password)){
$_SESSION['auth'] = $user;
$_SESSION['flash']['success'] = 'You're now connected';
header('Location: ../profile.php'); // user's homepage
exit();
これ以上のコードがありますが、かなりうまくいきます。
この場合、スクリプトは$ _SESSIONにユーザーの情報を挿入する必要がありますが、login.phpで私をリダイレクトするだけです。また、「profile.php」には「logged_only();」のみが含まれています。 (私は$ _SESSIONを経由してメッセージを送信していたように)「あなたは、このページにアクセスすることはできません」何もなく、を示していない$ _SESSIONのとしますprint_r(私はlogin.phpへのリダイレクトを削除する場合)、
誰か私を導く?おかげ
http://php.net/manual/en/function.error-reporting.php –
置き 'のsession_start (); 'セッションの使用を条件とするスクリプトの先頭に、またはセッションを使用する可能性があります。 – Marcus