#1 25.02.06 21:36
Вопрос по php
Вопрос касается авторизации пользователя.
Авторизация возможна на любой страничке, данные передаются в файл где происходит проверка, как можно вернуть зарегистрированного пользователя/или незарегистрированного на страничку где он заполнял форму авторизации после проверки?
Offline
#3 25.02.06 23:00
Re: Вопрос по php
у меня в каждом файле есть include "auth.php", при условии что сессии нет выводиться форма для ввода данных иначе меню пользователя, данные отправляются из формы в login.php где проверяются, создаётся сессия если данные верны, нужно вернуться на страницу где был пользователь.
можно мне это на пальцах объяснить?)))
на определённую, например на index.php, я возвращаю и всё работает использую
print "<META HTTP-EQUIV='Refresh' CONTENT='0; URL=index.php'>";
Offline
#7 26.02.06 00:57
Re: Вопрос по php
Вот как я делаю
Код: php:
<?php /* * login.php * обрабатывает данные из формы... */ include(ROOT.'_conf/config.php'); include(ROOT.'actions/auth.php'); header("Location: ".$_SERVER['HTTP_REFERER']); exit(); ?> <?php /* * auth.php * сосдаёт сессию */ include_once(ROOT.'_conf/config.php'); include_once(ROOT.'_conf/functions.php'); $name = htmlspecialchars($_POST['name']); if(!empty($name)){ $pass = htmlspecialchars($_POST['pass']); // тут короче запросы, условия... // если всё ништяк, то создаём сессию $_SESSION['name']=$row['name']; $_SESSION['user_id']=$row['id']; $_SESSION['priv']=$row['priv']; $_SESSION['url']=''; $_SESSION['title']=''; $_SESSION['ip']=$_SERVER["REMOTE_ADDR"]; ?>
фишка в том, что файл auth.php я подгружаю ещё в обработчике введённых данных с форума, тоесть если юзер на форуме не был залогинен, то введя в форме (на форуме) логин и пароль, для него откроется сессия... Пример работы: http://splean.hostel.nstu.ru/
Offline

