сеанс входа обновлять страницу - PullRequest
0 голосов
/ 04 сентября 2018

Я делаю систему входа в систему для моей веб-страницы, когда я ввожу правильный логин и пароль, страница обновляется до страницы входа. Я все сделал правильно, но сеанс все портит, и я не знаю, где ошибка.

  • index.php

    session_start();
    
    if(!isset($_SESSION['loggedin'])){
    header("location:login.php");
    } 
    
  • server.php

    if(isset($_POST['login'])){
    $username = mysqli_real_escape_string($db,$_POST['Username']);
    $password = mysqli_real_escape_string($db,$_POST['password']);
    
    if (empty($username)){
        array_push($errors, "Username is required");
    }
    
    if (empty($password)){
        array_push($errors, "Password is required");
    }
    if(count($errors) == 0){
        $password = md5($password);
        $query = "SELECT * FROM register where username='$username' AND password = '$password'";
        $result = mysqli_query($db, $query);
    
    if(mysqli_num_rows($result) == 1){//user found      
    $logged_in_user = mysqli_fetch_assoc($result);
    if ($logged_in_user['type'] == 'admin') {
    
            $_SESSION['loggedin']  = true;
            $_SESSION['Username'] = $username;
            $_SESSION['id'] = $id;
            header('location: admin.php');  
    }
    else{
        $_SESSION['loggedin'] = true;
        $_SESSION['Username'] = $username;
        header('location: index.php');
    }
    
    }
    
    }
    }
    

1 Ответ

0 голосов
/ 04 сентября 2018

Обе страницы должны иметь session_start() вверху кода

например index.php

<?php
session_start();

server.php

<?php
session_start();

и т. Д.

Другое дело оффтоп. Предпочитаю использовать PDO вместо mysqli_ для доступа к базе данных

http://nl1.php.net/manual/pt_BR/book.pdo.php

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...