Проблема с авторизацией, help плиззз

Galeaf

Guest
Проблема с авторизацией, help плиззз

В общем, у меня такая проблема. У меня на сайте присутствует форма:Логин+Пароль.
Я делаю функцию для проверки введённых полей и вот, когда человек проходит проверку получает один из 2-х результатов либо:
1) Положительный, тогда он может настроить свою анкету и тд.
2) Отрицательный - он обламывается!
Так вот я всё делаю, но при положительном ответе user'а мне надо обьявить переменную, так что при проверки переменной она могла бы передаваться по ссылке и при проверке, например функцией "isset", переменная была бы положительной, то есть:
if(isset($login)){
echo "Ок!";
}
Но вот когда я пытаюсь сделать так: session_register("login");
Он всё равно переменную не регистрирует, тоесть при проверкии:
if(isset($login)){
echo "Ок!";
}
надписи "Ок!" не появляется! Как мне решить эту проблему?
:confused:
 

SiMM

Новичок
> register_global у меня включён!
Ну так выключи.
После этого обе ссылки Nimousа будут тем, что надо (с сессиями так уже никто не работает).
 

mozz

Новичок
Это должно быть в файле с которого ты авторизуешь, перед посылкой http заголовков
PHP:
<?
session_start();
if(isset($enter)){//переменная заполняемая при нажатии кнопки войти
	if(!login($id_pers,$pass)){//если не прорвались через функцию login
?>
<script language="Javascript">
window.alert('Неправильно введен пароль');
window.location="logout.php";
</script>
<?
}
}
функция login примерно такая:
PHP:
<?
function login($id_pers, $pass){
$SQL="SELECT * FROM pers WHERE (id_pers=$id_pers)AND(deleted=0)";
$result=mysql_query($SQL);
$row = mysql_fetch_array($result);
if($row['pass']==$pass){$passtr=1;} else {$passtr=0;}
$_SESSION['user'] = $id_pers;
$_SESSION['auto'] = $passtr;
if($passtr==1) {$_SESSION['fio']=$row['fio_pers'];$_SESSION['dol']=$row['dol_pers'];$_SESSION['idp']=$row['id_pers'];return TRUE;}
else return FALSE;
}
?>
что тебе не нужно - выброси. пользователи с паролями хранятся в базе mysql


logout.php:
PHP:
<?
include "ini.php";// ну тут у меня функции хранятся и переменные по умолчанию
session_start();
session_unset();
session_destroy();
_header("");
?>
<script language="Javascript">
window.location="index.php";
</script>
<?
_footer();
?>
любой файл в пределах авторизованного входа начинается с:
PHP:
<?
session_start();
if (($_SESSION['dol']!="менеджер")OR($verified!=1)){//здесь не обязательно тебе анализировать именно дожность, проанализируй например passtr, это у меня сделано что-бы одним показывать одно а другим другое
?>
<script language="Javascript">
window.location="index.php";
</script>
<?
}
У меня это прекрасно работает.
 

SiMM

Новичок
> session_unset();
[m]session_unset[/m]
PS: и, кстати, нет смысла использовать JS там, где нет смысла его использовать.
 

mozz

Новичок
SiMM
Я уже не помню в чем был глюк, но обойти его без JS мне не удалось...
А чем вам очистка всех переменных перед уничтожением сессии не понравилась?
 

SiMM

Новичок
mozz, а вы ман почитайте. Если уж и придерживаетесь какого-то стиля - то будьте последовательны и придерживайтесь его до конца.
 

mozz

Новичок
Всегда пожалуйста почему бы и не помочь человеку.
Заходи как-нибудь с непрозрачным пакетом :)
 
Сверху