|
|
|
| прошу помощи у специалистов.
говорю сразу я в этом несилен я вобщето сисадмин, просто директор поставил вопрос рубо или делаю я ему сайт на пхп или буду искать новую работу.
Суть проблемы такова!
нужно написать стартовую страницу авторизации "login.php"
я нашол код прошу мне помочь в нем разобраться.
вот он сам:
<?php
@session_start();
session_register("usermame");
session_register("password");
session_register ("secure");
if (isset($susername) and (!isset($clearsecure))
{
$username=$susername;
$password=$spassword;
}
else
{
$secure="";
$password = md5($password);
}
if (!isset($username))
die("Необходимо войти в систему;");
$username=check_param($usernaine);
$secure=check_param($secure);
if ($secure!="")
{
$query=DBQuery("SELECT * FROM UsersTable WHERE (user_naine='Susername')";
$users=mysql_num_rows ($query);
if (!$users)
die("Ошибка авторизации");
$user_data = mysql_fetch_array($query);
if (($password == $user_data [password_field])($secure == $user_data[secure_field]))
{
$secure = md5 (rand(l, 1000000));
DBQuery("UPDATE UsersTable SET secure_field = '$såcure' WHERE user_name = '$username'");
setcookie("ssecure", $secure, mktime(O,0,0,1,1,2010));
}
else
{
setcookie("spassword", "", 0) ;
setcookie("ssecure", "", 0);
}
}
if (($username) and ($såcure==""))
{
$query = DBQuery ("SELECT * FROM UsersTable WHERE (user_name = '$username'");
$users = mysql_num_rows($query) ;
if (!$users)
die("Ошибка авторизации");
$user_data = mysql_fetch_array($guery);
if ($password = $userd[password_field]))
{
$secure = md5(rand(l, 1000000));
DBQuery("UPDATE UsersTable SET secure_field = '$secure' WHERE user_name = '$username'") ;
setcookie("susername", $usematne, mktime(0, 0, 0,1,1,2010)) ; setcookie("spassword", $password, mktime(0,0,0,1,1,2010)); setcookie("ssecure", $secure, mktime(0,0,0,1,1,2010)); print("Добро пожаловать $ldata[0]");
}
else
{
print("Ошибка входа");
}
}
?>
<form action="index.php" method="post">
<b> Вход в систему</b>
Имя: <input name="username" size="2D">
Пароль: <input type="ðàçsword" name="password" size="20"><br/>
<input type="hidden" name="clearsecure" value="l">
<input type="submit" value="Вход"> </form>
какую мне нужно создать базу данных с какими полями и где хранится пороль с логином? | |
|
|
|
|
|
|
|
для: Sajmon_root
(19.11.2007 в 12:43)
| | Возможно вас заинтересует тема по ссылке http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=80 (там покрайней мере имеется дамп базы данных). | |
|
|
|
|
|
|
|
для: cheops
(19.11.2007 в 12:46)
| | А вы мне можите сказать что такое cookies и session и зачем они нужны | |
|
|
|
|
|
|
|
для: Sajmon_root
(19.11.2007 в 16:05)
| | cookies и session, если грубо... это механизм идентификации компьютера пользовотеля.
cookies это фактически файл на компьютере пользовотеля, который устанавливается скриптом (должна быть включена опция принимать cookies на компьютере пользовотеля). session работает, часто, тоже через cookies, но если cookies невозможно установить, то используется альтернативный способ хранения данных. Файл располагается на сервере и хранит в себе параметры браузера и прочую фигню, включая переменные сесси.
@session_start(); // запускает сессию, нужно делать на каждой странице, где используются переменные сессии
session_register("usermame"); // устанавливает в сессию переменную username... есть массив сессий лучше использовать его... тогда будет так $_SESSION['username'] = null;
session_register("password"); // аналогично
session_register ("secure");
все эти переменные сессии являются глобальными тоесть теперь можно писать $username для обращения к сессии, но для определенности рекомендую через массив $_SESSION | |
|
|
|
|
|
|
|
для: Indrikozver
(19.11.2007 в 17:18)
| | все эти переменные сессии являются глобальными тоесть теперь можно писать $username для обращения к сессии, но для определенности рекомендую через массив $_SESSION
register globals on, что не рекомендуется | |
|
|
|
|
|
|
|
для: Sajmon_root
(19.11.2007 в 16:05)
| | Эти механизмы предназначены для того, чтобы сервер "помнил" посетителя - изначально протокол HTTP этого не поддерживал и каждое обращение к серверу воспринималось как обращение нового посетителя. Механиз сессий и cookie был введён, чтобы исправить ситуацию. Cookie - это небольшие файлы, которые хранятся на жёстком диске (или в оперативной памяти) посетителя. Сессии - те же файлы, только хранятся они на сервере. | |
|
|
|