Как сделать личный кабинет со статистикой и т.д

ウェンストニー
Участник
Статус
Оффлайн
Регистрация
6 Дек 2017
Сообщения
909
Реакции[?]
201
Поинты[?]
0
Товары в продаже
2
Как сделать личный кабинет со статистикой и т.д
Самое простое чтобы при заходе на сайт, нужно было прописать пароль указанный в базе данный
 
Администратор
Администратор
Статус
Оффлайн
Регистрация
18 Авг 2017
Сообщения
2,330
Реакции[?]
1,569
Поинты[?]
66K
Как сделать личный кабинет со статистикой и т.д
Самое простое чтобы при заходе на сайт, нужно было прописать пароль указанный в базе данный
Побольше дайте подробностей, статистикой чего?
 
ウェンストニー
Участник
Статус
Оффлайн
Регистрация
6 Дек 2017
Сообщения
909
Реакции[?]
201
Поинты[?]
0
Товары в продаже
2
Пользователь
Статус
Оффлайн
Регистрация
25 Янв 2017
Сообщения
340
Реакции[?]
107
Поинты[?]
1K
Начинающий
Статус
Оффлайн
Регистрация
7 Янв 2018
Сообщения
25
Реакции[?]
3
Поинты[?]
0
Воспользуйся session_start(); - нужно для авторизации и т.д.
На первой странице, сделай Input логин и пароль и пост запросам принимай данные и сверяй с бд
На второй странице выводи данные с MySQL, держи кусочек кода, может поможет


Код:
global $mysqlHost, $mysqlUser, $mysqlPass, $mysqlBase;
        $connect = mysql_connect($mysqlHost, $mysqlUser, $mysqlPass);
mysql_select_db($mysqlBase, $connect);
            $query = "SELECT * FROM `accounts` WHERE `uid` = '".$user_id."'";
            $request = mysql_query($query, $connect);
            $a = mysql_fetch_array($request);
В запросе ищешь нужную тебе запись по ID или как там тебе удобно, в перменной $a уже храняться данные, к примеру: $a["name"]

Если разобраться, поймешь...
 
Пользователь
Статус
Оффлайн
Регистрация
3 Авг 2016
Сообщения
129
Реакции[?]
33
Поинты[?]
0
Воспользуйся session_start(); - нужно для авторизации и т.д.
На первой странице, сделай Input логин и пароль и пост запросам принимай данные и сверяй с бд
На второй странице выводи данные с MySQL, держи кусочек кода, может поможет


Код:
global $mysqlHost, $mysqlUser, $mysqlPass, $mysqlBase;
        $connect = mysql_connect($mysqlHost, $mysqlUser, $mysqlPass);
mysql_select_db($mysqlBase, $connect);
            $query = "SELECT * FROM `accounts` WHERE `uid` = '".$user_id."'";
            $request = mysql_query($query, $connect);
            $a = mysql_fetch_array($request);
В запросе ищешь нужную тебе запись по ID или как там тебе удобно, в перменной $a уже храняться данные, к примеру: $a["name"]

Если разобраться, поймешь...
Лучше использовать mysqli т. к. mysql устарел
пример:
PHP:
$a = mysqli_fetch_array($request);
 
Эксперт
Статус
Оффлайн
Регистрация
31 Мар 2017
Сообщения
997
Реакции[?]
652
Поинты[?]
0
Воспользуйся session_start(); - нужно для авторизации и т.д.
Если объяснять, так объяснять понятно.

session_start(); Нужно подключать в самое начало файла, чтобы до него ничего не выводилось, ни html ни php echo/print_r , в самый верх.

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

А есть и COOKIE , их не нужно подключать или ещё что-то . Их можно поставить на промежутки времени, от 1 минуты, до 10 лет и более. Но менее безопасны в отличии от сессии, если взломщик заберёт ваши КУКИ (со стиллера / вируса), он сможет авторизоваться везде где вы только заходили, если у вас остались эти куки.

Остановлюсь на COOKIE , так как они проще и немного даже удобнее.


держи кусочек кода, может поможет
MySQL устарел, необходимо использовать MySQLi


Если разобраться, поймешь...
Он просил помочь, а не дать пинка под зад, чтобы он сам понимал всё это.

Пример крайне не понятен и вообще не несёт смысловой нагрузки.


Как сделать личный кабинет со статистикой и т.д
Самое простое чтобы при заходе на сайт, нужно было прописать пароль указанный в базе данный
Создаёшь файл login.php

Вставляешь код:

Код:
<?php

    $login = isset($_GET['login']) ? $_GET['login'] : null;
    $password = isset($_GET['password']) ? $_GET['password'] : null;

    if($login != null && $password != null){

        $CheckUser = CheckUser($login, $password);

        if($CheckUser != false){
            
            setcookie("login", $login, time() + 60 * 60 * 24, "/");
            setcookie("password", $password, time() + 60 * 60 * 24, "/");
            // Создаёт куки логин и пароль, для всей дериктории на сайте, на 1 день (60 секунд * 60 минут * 24 часа), время можно ставить любое.
            
            return header('Location: /admin.php');//После выполнения, возвращаемся на страницу с админкой.

        }else{
            print_r("Неверные данные.");
        }       
    }

    //Сама функция CheckUser();

    $db = mysqli_connect('127.0.0.1', 'root', '', 'dbname'); // Свои данные подставь.
    
    function CheckUser($login, $password){
        global $db; // Делает видимой переменную для функции.

        $login = htmlspecialchars(mysqli_escape_string($login));//Экранирует все HTML и SQL инъекции/код
        $password = htmlspecialchars(mysqli_escape_string($password));

        $query = "SELECT * FROM `users` WHERE `login` = '{$login}' and `password` = '{$password}' LIMIT 1";
        //Запрос , который возьмёт человека с этими данными. Советую хранить пароль, хотя бы в md5. И потом этот мд5 сравнивать.

        $result = mysqli_query($db, $query);
        // Запрос.

        $row = mysqli_fetch_assoc($result);
        // Массив
        
        if($row == null){
            return false;
        }
        // Если ничего не найдено, просто возвращаем FALSE
        
        return $row;
    }
    
?>
<!DOCTYPE html>
<html lang="ru" dir="ltr">
    <head>
        <meta charset="utf-8">
        <title>AUTHORIZATION</title>
    </head>
    <body>
        <form action="" method="post">
            <input type="text" name="login">
            <input type="password" name="password">
            <input type="submit" value="Войти">
        </form>
    </body>
</html>
Создаёшь файл admin.php
Вставляешь код:

Код:
<?php

    $CheckUser = CheckUser($_COOKIE['login'], $_COOKIE['password']);
    // Опять проверяем данные, но теперь уже берём их из $_COOKIE
    // Чтобы просмотреть COOKIE , в любом удобном месте вставь код print_r($_COOKIE);
    
    if($CheckUser == false){
        return header('Location: /login.php?status=Ошибка авторизации');
    }
    // Если данные не верны, не найдено совпадений, вернёт FALSE, возвращаемся на страницу авторизации с ошибкой.

    //Остальной код.

    function CheckUser($login, $password){
        global $db; // Делает видимой переменную для функции.

        $login = htmlspecialchars(mysqli_escape_string($login));//Экранирует все HTML и SQL инъекции/код
        $password = htmlspecialchars(mysqli_escape_string($password));

        $query = "SELECT * FROM `users` WHERE `login` = '{$login}' and `password` = '{$password}' LIMIT 1";
        //Запрос , который возьмёт человека с этими данными. Советую хранить пароль, хотя бы в md5. И потом этот мд5 сравнивать.

        $result = mysqli_query($db, $query);
        // Запрос.

        $row = mysqli_fetch_assoc($result);
        // Массив
        
        if($row == null){
            return false;
        }
        // Если ничего не найдено, просто возвращаем FALSE
        
        return $row;
    }

    // Функцию советую вынести в отдельный файл и подключать черезе include_once('file.php');

?>
В бд создай таблицу users, создай четыре столбца.

id
login
password
privilege

И делай ещё одну проверку

if($CheckUser['privilege'] != 'admin'){
return header('Location: /login.php?status=Нет доступа.');
}
 
Сверху Снизу