セッションを使用してウェブサイトでログインシステムを使用しました。セッションを使用してページへのアクセスを制限する
これは
<?php
session_start();
ob_start();
include 'includes/db.php';
$idadm=$_POST['idadm'];
$passadm=$_POST['passadm'];
$idadm = stripslashes($idadm);
$passadm = stripslashes($passadm);
$idadm = mysql_real_escape_string($idadm);
$passadm = mysql_real_escape_string($passadm);
$sql="SELECT * FROM admin WHERE aid='$idadm' and password='$passadm'";
$result = $conn->query($sql);
$count = $result->num_rows;
if($count == 1) {
$_SESSION['idadm'] = $idadm;
$_SESSION['passadm'] = $passadm;
if ($_SESSION['idadm'] == 'admin') {
header("location:admin/index.php");
} else {
header("location:subadmin/index.php");
}
} else {
header("location:index.php");
}
ob_end_flush();
?>
をdb.phpは、データベースの資格情報を持っている、それがどのように見えるかです。
この
は<?php
session_start();
if (!isset($_SESSION['idadm'])) {
header('location:/index.php');
die;
}
?>
ログインスクリプトは、両方の管理者とsubadminページにアクセスできるユーザーでログインして、一つの問題を除いて正常に動作し、保護されたページの一番上にあるコードです。
管理者ユーザーは1人で、そのユーザーのデータベース内のIDは「admin」です。管理者は 'admin/index.php'にしかアクセスできず、他のユーザーは 'subadmin/index.php'にアクセスできるはずです。
これを行うためにスクリプトを変更するにはどうすればよいですか?