Спойлер (Отобразить)
PHP:
скопировать код в буфер обмена
скопировать код в буфер обмена
- <?
- if (!isset($_SESSION['user_id'])) {$title = "Авторизация!";} else {$title = "Вы уже авторизованы!";}
- include 'dop/mysql.php'; ?>
- </head>
- <body>
- <?
- {
- echo"Вы вышли :(";
- exit;
- }
- {
- // юзер уже залогинен, перекидываем его отсюда на закрытую страницу
- echo "Вы уже авторизованы! <a href='/'>На главную</a><br><a href='/newop.php'>Добавить битву</a>";
- exit;
- }
- {
- $query = "SELECT `salt`
- FROM `user`
- WHERE `login`='{$login}'
- LIMIT 1";
- {
- // итак, вот она соль, соответствующая этому логину:
- $salt = $row['salt'];
- // теперь хешируем введенный пароль как надо и повторям шаги, которые были описаны выше:
- // и пошло поехало...
- // делаем запрос к БД
- // и ищем юзера с таким логином и паролем
- $query = "SELECT `id`
- FROM `user`
- WHERE `login`='{$login}' AND `password`='{$password}'
- LIMIT 1";
- // если такой пользователь нашелся
- {
- // то мы ставим об этом метку в сессии (допустим мы будем ставить ID пользователя)
- $_SESSION['user_id'] = $row['id'];
- // если пользователь решил "запомнить себя"
- // то ставим ему в куку логин с хешем пароля
- $time = 86400; // ставим куку на 24 часа
- {
- }
- // и перекидываем его на закрытую страницу
- echo "Вы успешно авторизованы! <a href='/'>На главную</a><br><a href='/newop.php'>Добавить битву</a>";
- exit;
- // не забываем, что для работы с сессионными данными, у нас в каждом скрипте должно присутствовать session_start();
- }
- else
- {
- die('Такой логин с паролем не найдены в базе данных. И даём ссылку на повторную авторизацию. — <a href="login.php">Авторизоваться</a>');
- }
- }
- else
- {
- die('пользователь с таким логином не найден, даём ссылку на повторную авторизацию. — <a href="login.php">Авторизоваться</a>');
- }
- }
- <form action="login.php" method="post">
- <table>
- <tr>
- <td>Логин:</td>
- <td><input type="text" name="login" /></td>
- </tr>
- <tr>
- <td>Пароль:</td>
- <td><input type="password" name="password" /></td>
- </tr>
- <tr>
- <td>Запомнить:</td>
- <td><input type="checkbox" name="remember" /></td>
- </tr>
- <tr>
- <td></td>
- <td><input type="submit" value="Авторизоваться" /></td>
- </tr>
- </table>
- </form>
- ';} else {}
- ?>