Авторизація на сесіях та куках, PHP MySQL v
Авторизація на сесіях та куках, PHP+MySQL v.2
Мабуть, варто почати з опису логіки. Як відомий час зберігання сесії 30 хвилин. Залізно збільшувати її в налаштуваннях сервера не варто, це підвищить навантаження на сервер і швидше за все призведе до втрати продуктивності. Так само ми можемо призначити свою папку для зберігання сесій, але тоді нам потрібно писати інструмент для її очищення - інакше ми зберігатимемо всі сесії які колись існували, а нам цього не потрібно. Це знову таки збільшить навантаження, знизить час відгуку, а якщо ви використовуєте маленький хостинг план, то у вас взагалі місце може закінчитися, за умови, що очищення цієї папки була написана з помилками.
Оптимальний варіант це комбінувати сесії з куками. Насамперед при зверненні до сторінки перевіряється існування сесії. Якщо сесії немає, то ми перевіряємо наявність куки.
Думаю що настав час приступати до коду. Для початку створимо дві таблички в MySQL:
CREATE TABLE IF NOT EXISTS `session` ( `id_user` INT(5) NOT NULL, `code_sess` VARCHAR(15) NOT NULL, `user_agent_sess` VARCHAR(255) NOT NULL>PRIMARY KEY ( `id_user` ) ) ENGINE = MyISAM DEFAULT CHARSET = utf8;
CREATE TABLE IF NOT EXISTS `users` ( `id_user` INT(5) NOT NULL AUTO_INCREMENT, `login_user` VARCHAR(60) NOT NULL, `passwd_user` VARCHAR(255) NOT NU 5> `mail_user` VARCHAR (255) NOT NULL, PRIMARY KEY ( `id_user`) ) ENGINE = MyISAM DEFAULT CHARSET = utf8 AUTO_INCREMENT = 1;