[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Совет по авторизацыи
niks
Уважаемые форумчане практикуюсь с авторизацыей, посмотрите, оцените...
Может где-то потправите, буду рад любым замичаниям...

Есть 3 файла...
index.php

<html>
<head>
<title>
АВТОРИЗАЦИЯ</title>
</head>
<body>
<form
action="authorize.php" method="post">
Логин:<input type="text" name="login"><br>
Пароль:<input type="password" name="user_pass"><br>
<input
type="submit" name="Submit" value="Войти">
</form>
</body>
</html>





authorize.php

<?php
$dblocation = "localhost";

$dbname = "имя";

$dbuser = "пользователь";

$dbpasswd = "пароль";



$dbcnx = @mysql_connect($dblocation,$dbuser,$dbpasswd);

if (!$dbcnx) {

exit( "<P>В настоящий момент сервер базы данных не доступен, поэтому корректное отображение страницы невозможно.</P>" );

}



if (! @mysql_select_db($dbname,$dbcnx) ) {

exit( "<P>В настоящий момент база данных не доступна, поэтому корректное отображение страницы невозможно.</P>" );
}



session_start();


$SERVER_ROOT = "http://domen.com";



$query = "SELECT password FROM users WHERE login='".$_POST['login']."'";
$nme = mysql_query($query);
if(!$nme)
{
echo "Ошибка выполнения запроса";
exit();
}

if(mysql_num_rows($nme) > 0)
{

$password = mysql_result($nme,0);



if(eregi("^$SERVER_ROOT",$_SERVER['HTTP_REFERER'])){

if($_POST['Submit']){
if(($_POST['user_pass']==$password)){
$login = $_POST['login'];

session_register("login");

header("Location: secretplace.php");
exit;
}
}
}
}


?>
<html><body>
Вы ввели неверный пароль!
</
body></html>




secretplace.php

<?php
unset($_SESSION['login']);
session_start();
session_register($login);


if(!isset($_SESSION['login'])){
header("Location: index.php");
exit;
}
?>
<html>
<
body>
Привет, <?php echo $_SESSION['login']; ?>, ты на секретной странице!!!
</
body>
</
html>




Спустя 15 минут, 13 секунд (30.08.2010 - 01:11) Dingo написал(а):
жутко huh.gif , но для начинающего неплохо. Но скажу одно лучше делать все в одном файле используя switch-case для определения действия и в зависимости от указанного действия подключать файл

Спустя 5 часов, 29 минут (30.08.2010 - 06:40) Basili4 написал(а):
Замени

$dbcnx = @mysql_connect($dblocation,$dbuser,$dbpasswd);

if (!$dbcnx) {

exit( "<P>В настоящий момент сервер базы данных не доступен, поэтому корректное отображение страницы невозможно.</P>" );

}


на

$dbcnx = mysql_connect($dblocation,$dbuser,$dbpasswd) or die("<P>В настоящий момент сервер базы данных не доступен, поэтому корректное отображение страницы невозможно.</P>" );


по смыслу тоже самое только кошернее

Спустя 1 час, 32 минуты, 20 секунд (30.08.2010 - 08:12) linker написал(а):
eregi() - деприкейтед, надо использовать preg_match()
unset($_SESSION['login']);
session_start();
session_register($login);


if(!isset($_SESSION['login'])){
header("Location: index.php");
exit;
}
Какой смысл в этом? Зачем тут же unset(), а потом сразу же session_register()? Вижу у вас доисторический PHP, да еще с включенным register_globals. Как минимум должно быть так
session_start();
if(!isset($_SESSION['login']))
{
header("Location: index.php");
exit;
}
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.