Здравствуйте! Заранее оговорюсь, в php нуб.
Хочу записать в сессию помимо имени и времени, еще дополнительные параметры, такие как ИД и Роль пользователя.
Хочу сделать разделение по правам доступа, чтобы ограничить части админки от пользователей.
Насколько я понимаю, сессия формируется в файле Логин.
// if user click Login button
if(isset($_POST['btnLogin'])){
// get username and password
$username = $_POST['username'];
$password = $_POST['password'];
// set time for session timeout
$currentTime = time() + 25200;
$expired = 3600;
// create array variable to handle error
$error = array();
// check whether $username is empty or not
if(empty($username)){
$error['username'] = "*Username should be filled.";
}
// check whether $password is empty or not
if(empty($password)){
$error['password'] = "*Password should be filled.";
}
// if username and password is not empty, check in database
if(!empty($username) && !empty($password)){
// change username to lowercase
$username = strtolower($username);
//encript password to sha256
$password = hash('sha256',$username.$password);
// get data from user table
$sql_query = "SELECT *
FROM tbl_user
WHERE username = ? AND password = ?";
$stmt = $connect->stmt_init();
if($stmt->prepare($sql_query)) {
// Bind your variables to replace the ?s
$stmt->bind_param('ss', $username, $password);
// Execute query
$stmt->execute();
/* store result */
$stmt->store_result();
$num = $stmt->num_rows;
// Close statement object
$stmt->close();
if($num == 1){
$_SESSION['user'] = $username;
$_SESSION['ID'] = $ID;
$_SESSION['Role'] = $Role;
$_SESSION['timeout'] = $currentTime + $expired;
header("location: dashboard.php");
}else{
$error['failed'] = "Invalid Username or Password!";
}
}
}
}
А как добавить ID и Role?
И если оно будет записываться, то как потом распределить показ ссылок в соответствии ролям??
Извините за тупые вопросы, сам просто уже не тяну... Заранее спасибо!