Forum Webscript.Ru
Программирование => PHP => Тема начата: Abram от 16 Мая 2004, 16:22:31
-
Есть у меня следующий скрипт авторизации(я его взял на єтом форуме, т.к. свой пока не могу написать)
auth.php
$error = array();
$_SESSION[\'username\'] = "";
$_SESSION[\'userpass\'] = "";
if (@$_POST["logon"])
{
$login = trim(@$_POST["user"]);
$password = trim(@$_POST["pass"]);
if ($login=="") { $error[]="Не заполнено поле \\"Имя\\""; }
if ($password=="") { $error[]="Не заполнено поле \\"Пароль\\""; }
$sql="select * from zakazu where login=\'$login\' and password=\'$password\'";
$res=db_select($sql);
$id=mysql_result($res, \'id\');
$n=mysql_num_rows($res);
if($n<=0)
{
$error[]="Неправильний пароль або логін";
}
if (!count($error))
{
$_SESSION[\'username\'] = $id;
$_SESSION[\'userpass\'] = $password;
}
}
if (count($error))
{
echo "Ошибка";
foreach ($error as $value) { echo "- $value
"; }
}
if (!$_SESSION[\'username\']){
?>
}
Еще есть страница index.php с такой структурой:
session_start();
top
left
content
right
bottom
В left я пишу
include(\'auth.php\');
if($username)
{
if($do==\'upd\')
{ UPDATE }
Форма где пользователь может редактировать свою информацию
-
Abram
ты же при каждом запросе страницы перед проверкой, пошел ли юзер авторизацию очищаешь $_SESSION[\'username\'] :)
Abram:
$_SESSION[\'username\'] = "";
$_SESSION[\'userpass\'] = "";
То есть ты его очищаешь, а потом проверяешь :
if (!$_SESSION[\'username\']){
ИМХО эти 2 строки
$_SESSION[\'username\'] = "";
$_SESSION[\'userpass\'] = "";
вообще не нужны если ты не забываешь делать session_start()
-
офигенная идея-брать скрипты на форуме, то есть там,куда, люди приходят с проблемами, там, где ЗАВЕДОМО кривой код