私のindex.phpにログインページがありますが、ログイン機能はうまくいきますが、問題はゲストと管理者の制限です。ユーザーまたは管理者としてログインすると、私はguest.phpまたはadmin.phpのURLを入力しようとすると、アクセスすることはできませんが、アクセスしないでください。ここで起こることは、ユーザーが同じゲストにアクセスできるゲストページ管理者として..アクセスレベルのリダイレクトが正常に機能しない
のindex.php
<?php
include_once 'db.php';
if($userlevel->is_loggedin()!=""){
$userlevel->redirect('guest.php');
}
if(isset($_POST['submit'])){
$uname = $_POST['user'];
$upass = $_POST['pass'];
if($userlevel->login($uname,$upass)){
switch($_SESSION['user_level']) {
case "0": $userlevel->redirect('guest.php');
break;
case "1": $userlevel->redirect('admin.php');
break;
}
}
}
guest.php
<?php
include_once 'db.php';
if(!$userlevel->is_loggedin()){
$userlevel->redirect('index.php');
}
$ID = $_SESSION['user_session'];
$stmt = $DB_con->prepare("SELECT * FROM survey_section WHERE ID=:ID");
$stmt->execute(array(":ID"=>$ID));
$userRow=$stmt->fetch(PDO::FETCH_ASSOC);
?>
admin.php
<?php
include_once 'db.php';
if(!$userlevel->is_loggedin()){
$userlevel->redirect('index.php');
}
$ID = $_SESSION['user_session'];
$stmt = $DB_con->prepare("SELECT * FROM survey_section WHERE ID=:ID");
$stmt->execute(array(":ID"=>$ID));
$userRow=$stmt->fetch(PDO::FETCH_ASSOC);
?>
私は私の問題の一つがここにあると思う:
if($userlevel->is_loggedin()!=""){
$userlevel->redirect('guest.php');
}
あなたはそれが唯一のguest.phpをリダイレクトすることができますので、としてではなく私はこれをどうにかして得る方法を知らない。
と同じ....それはですそれぞれにアクセスします。これは、あなたが尋ねた最後の4/5の質問とはどのように異なっていますか?それらはすべて同じ論理を適用します。 – Darren
@ダーレンこれは申し訳ありませんが、なぜ実際には動作していないのかわかりません。 – Trojan