Как проверить сессию в php? - PullRequest
0 голосов
/ 11 апреля 2019

Я хочу, чтобы некоторые пользователи могли получить доступ к странице, а другие - нет, но я, например, не знаю, как проверить переменную сеанса в моем индексе. Как мне добраться до верхней части моей страницы index.php, чтобы убедиться, что только некоторые пользователи могут видеть эту страницу?

Это процесс для моего логина

<?php

session_start();
include 'db.php';

if(isset($_POST['btn_entrar']))
{
    $user=$_POST['usuario'];
    $password=$_POST['contraseña']; 
    $admin='Administrador';
    $vendedor='Vendedor';

    $query_admin = $mysqli->query("SELECT * FROM empleado WHERE usuario='$user' 
              AND contra='$password' AND cargo='$admin'") or die($mysqli->error());


    $query_ven = $mysqli->query("SELECT * FROM empleado WHERE usuario='$user' 
              AND contra='$password' AND cargo='$vendedor'") or die($mysqli->error());

    if(mysqli_num_rows($query_admin)==1)
    {
        $row = $query_admin->fetch_array();
        $_SESSION['user_id'] = $row['id_empleado'];
        header("location: index.php");
    }
    else if(mysqli_num_rows($query_ven)==1)
    {
        header("location: index_empleados.php");
    }
    else
    {
        echo "<script>alert('Usuario o contraseña son incorrectos')</script>";
        header("location: login.php");
    }
}

1 Ответ

1 голос
/ 11 апреля 2019

Во-первых, нет причин делать два запроса. Просто сделайте один запрос, чтобы проверить имя пользователя и пароль. Затем вы можете проверить $row['cargo'], чтобы определить, какой он пользователь.

Итак, если запрос имени пользователя и пароля найден, вы можете сделать что-то вроде:

$_SESSION['cargo'] = $row['cargo'];

Затем в верхней части страниц, которые должны быть видны только администраторам, вы можете сделать:

<?php
session_start();

if ($_SESSION['cargo'] != "Administrador") {
    header("Location: index_empleados.php");
    exit;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...