Официальный сайт студ.городка НГТУ
Программирование и БД » Вопрос по php 

#1  25.02.06 21:36

Вопрос по php

Вопрос касается авторизации пользователя.
Авторизация возможна на любой страничке, данные передаются в файл где происходит проверка, как можно вернуть зарегистрированного пользователя/или незарегистрированного на страничку где он заполнял форму авторизации после проверки?

Offline

#2  25.02.06 22:09

Re: Вопрос по php

редирект посредством header("Location: login.php"); exit; например

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

#4  25.02.06 23:03

Re: Вопрос по php

<?php
header("Location: index.php");
exit;
?>

не проще?

Offline

#5  25.02.06 23:12

Re: Вопрос по php

проще, только вместо index.php нужна страница на которой пользователь решил авторищоваться

Offline

#6  25.02.06 23:17

Re: Вопрос по php

Передавай на auth.php ее в $_GET или $_POST массиве... как $_SERVER['PHP_SELF'] - так вроде

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

#8  26.02.06 01:25

Re: Вопрос по php

Спасибо, работает)

Offline

#9  27.02.06 03:16

Re: Вопрос по php

Незачто :)

Offline

Программирование и БД » Вопрос по php 

ФутЕр:)

© Hostel Web Group, 2002-2025.   Сообщить об ошибке

Сгенерировано за 0.091 сек.
Выполнено 14 запросов.