|
|
|
| Авторизация осуществяется с помощью сессионных переменных:
<?php
if(!$_POST['name']) echo "<HTML><HEAD>
<META HTTP-EQUIV='Refresh' CONTENT='0; URL=http://bla.ua/online/registr_ukr/vhod.php'>
</HEAD></HTML>";
if(!$_POST['password']) echo "<HTML><HEAD>
<META HTTP-EQUIV='Refresh' CONTENT='0; URL=http://bla.ua/online/registr_ukr/vhod.php'>
</HEAD></HTML>";
$name = $_POST['name'];
$pswrd = $_POST['password'];
$user="name";
$query = "SELECT * FROM users
WHERE login = '$name'";
$ath = mysql_query($query);
if($ath)
{
$auth = mysql_fetch_array($ath);
if($auth['password'] != $pswrd)
{
echo "<HTML><HEAD>
<META HTTP-EQUIV='Refresh' CONTENT='0; URL=http://bla.ua/online/registr_ukr/vhod.php?error=1'>
</HEAD></HTML>";
}
else
{
session_start();
$_SESSION["metka"]=1;
$_SESSION["imja"]=$name;
$_SESSION["password"]=$password;
$idy = session_id();
setcookie('idy', $idy) ;
echo "<HTML><HEAD>
<META HTTP-EQUIV='Refresh' CONTENT='0; URL=http://bla.ua/online/ukraina.php'>
</HEAD></HTML>";
}
}
?>
|
Бывают случаии, что приходится дважды вводить логин и пароль (такое происходит всегда при первом открытии браузера). Почему такое происходит? И как это исправить? | |
|
|
|
|
|
|
|
для: inga
(25.09.2007 в 12:28)
| | кэш? | |
|
|
|
|
|
|
|
для: bronenos
(25.09.2007 в 13:21)
| | я не могу ответить на этот вопрос. что за кеш? | |
|
|
|
|
|
|
|
для: inga
(25.09.2007 в 12:28)
| | Наверное потому что изначально $_SESSION["metka"], $_SESSION["imja"], $_SESSION["password"] не только пусты, но и вообще не существуют. Проверять видимо надо, нет - форма ввода, есть - ОК, а у вас этого нет. | |
|
|
|
|
|
|
|
для: sim5
(25.09.2007 в 13:35)
| | ни че не поняла. конечно же при заходе появляется форма ввода из нее в выше представленный кусок кода передаются логин и пароль, а тут уже если совпадают, создается сессионные пременные. так что же не так у меня? | |
|
|
|
|
|
|
|
для: inga
(25.09.2007 в 15:04)
| | Если у вас $_SESSION["metka"] - это признак получения и совпадения идентификации, то проверяйте, установлена ли она еще до отправки формы пользователю, естественно стартуя сессию до этого. Если не установлена - значит форма, если да, то переход через хидер, либо... После этого ну никак не должно лишнего появиться, я так думаю. ) | |
|
|
|