Где найти простой скрипт авторизации PHP7+MySQL+SESSION+COOKIES?

Всем привет.
Весь интернет перерыл в поисках простейшей авторизации на PHP7 и MySQL с сессиями и куками - либо старьё одно под 5.6, то авторы лишних библиотек напихают.

Может у кого на личном блоге есть урок/пример? Или в проекте недавно писали?
Спасибо.
  • Вопрос задан
  • 421 просмотр
Решения вопроса 1
Пригласить эксперта
Ответы на вопрос 5
firedragon
@firedragon
Senior .NET developer
1. считать супермассив пост и сравнить поля username и password со значениями в БД (пароль шифровать md5)
2. запустить сессию и поставить куку
3. по желанию перенаправить пользователя дальше.
Ответ написан
@FanatPHP
Простой скрипт авторизации MySQL+SESSION на 7 ничем не отличается от 5.6
Со времен 5.6 в этой области вообще ничего не изменилось.

Так что если скрипт действительно на 5.6 то можно смело брать и пользоваться.
Другое дело, что в онлайн туториалах обычно суют код от РНР 4, как например в видео из ответа ниже.
Надо мне конечно самому заняться, но когда еще руки доайдут

Если говорить про совсемпростейший вариант, и нарисовать хтмл форму ты можешь самостоятельно, то вот так
<?php
if (empty($_POST['email']) || empty($_POST['pass'])) {
    die ("Enter credentials");
}
require 'pdo.php';
$stmt = $pdo->prepare("SELECT * FROM users WHERE email = ?");
$stmt->execute([$_POST['email']]);
$user = $stmt->fetch();

if ($user && password_verify($_POST['pass'], $user['pass']))
{
    session_start();
    $_SESSION['user'] = $user;
    header("Location: /dashboard.php");
    exit;
} else {
    die ("Wrong credentials");
}
Ответ написан
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
Весь интернет перерыл в поисках простейшей авторизации на PHP7 и MySQL с сессиями и куками
Ну, для начала, писать "скрипт" на 7 пыхе - явно изврат, ибо как то уже совсем уныло писать на лапшекоде и без архитектуры, ибо нормально это должно быть что-то типа:
class UserController extend BaseController 
{
....
public function loginAction(){
    $user = $this->currentUser();
    $user->login($this->params->post('login'),$this->params->post('pass'));
    if($user->isLoggedIn()){
        redirect($someURL);
    }
    else{
         doErrorStuff();
    }
}
}
Ответ написан
profesor08
@profesor08
Где-то в начале index.php написать session_start();

Где-то в другом месте, где должен находиться скрип авторизации, написать функцию, которая будет вызываться в index.php, примерное содержание функции:
function Auth()
  {
    $user = Util::alphaNum(Request::post("user"));
    $password = Util::alphaNum(Request::post("password"));

    $sql = Server::connect();

    $user = $sql->fetchOne("SELECT id FROM user WHERE user = :user AND password = :password", [
      "user" => $user,
      "password" => $password,
    ]);

    if (is_null($user)) {
      throw new \UserAuthWrongLoginException();
    }

    $_SESSION["user"] = $user->id;
  }
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
АКМЭ сервис Санкт-Петербург
от 100 000 руб.
SaveTime Москва
от 100 000 руб.
Teamlead Ставрополь
от 25 000 до 50 000 руб.
08 дек. 2019, в 10:14
10000 руб./за проект
08 дек. 2019, в 06:49
3000 руб./за проект
08 дек. 2019, в 05:56
2000 руб./за проект