[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Авторизация
Evil_Google
Составил скрипт авторизаций по уроку
<?php
function
login ($username, $remember)
{
if ($username= 'bis')
return false;
$_SESSION ['username'] = $username;
if ($remember)
setcookie ('username', $username, time() + 3600*24*7);
return true;
}

function logkick()
{
setcookie ('username', '', time()-1);
unset ($_SESSION ['username']);
}

session_start();
$enter_site = false;
logkick();

if (count ($_POST)>0)
$enter_site = login ($_POST['username'], $_POST ['remember'] == 'on');
if ($enter_site)
{
header ("location: news.php");
exit();
}
?>
<html>
<
head>
<
title>Вход на сайт</title>
</
head>
<
body>
<
h1>Вход на сайт</h1>
<
form action="" method="post">
Введите имя:
<
br/>
<
input type="text" name="username" />
<
br/>
<
input type="checkbox" name="remember" /> Запоминть меня
<br/>
<
input type="submit" value="Войти" />
</
form>
</
body>
</
html>


Программа заработала, но авторизация не идет
Записал имя Bis на нажал на вход и нечего ;)




Спустя 17 минут, 11 секунд (29.09.2012 - 19:57) rooor написал(а):
if ($username= 'bis')
return false;

всегда true

Спустя 37 минут, 28 секунд (29.09.2012 - 20:35) Evil_Google написал(а):
Поставил TRUE и получилось так, что сайт стал авторизоваться под любым логином blink.gif

Спустя 5 минут, 4 секунды (29.09.2012 - 20:40) rooor написал(а):
я говорю, что проверка if ($username= 'bis') будет всегда true

Спустя 31 минута, 27 секунд (29.09.2012 - 21:11) Evil_Google написал(а):
Блин нечего не получается. Можешь мне подробно описать sad.gif

Спустя 1 час, 12 минут, 21 секунда (29.09.2012 - 22:24) kristall написал(а):
Между присваиванием и сравнением есть разница.
Покури про = , == и ===.

Спустя 14 секунд (29.09.2012 - 22:24) Shuriken написал(а):
"=" - это оператор присваивания, поэтому условие $username= 'bis' всегда будет верным, т.е. TRUE

Спустя 1 час, 59 минут, 31 секунда (30.09.2012 - 00:24) VladKamyshanov написал(а):
if ($username=== 'bis')
return false;

вот так надо

Спустя 16 часов, 44 секунды (30.09.2012 - 16:24) Evil_Google написал(а):
VladKamyshanov спасибо за подсказку, но получилось так, что когда я ввожу bis авторизация не идет, а в остальных случиях получаеться blink.gif

Спустя 19 минут, 48 секунд (30.09.2012 - 16:44) Shuriken написал(а):
Цитата (Evil_Google @ 30.09.2012 - 13:24)
VladKamyshanov спасибо за подсказку, но получилось так, что когда я ввожу bis авторизация не идет, а в остальных случиях получаеться  :blink:

if ($username== 'bis')
return false;

Спустя 1 час, 47 минут, 45 секунд (30.09.2012 - 18:32) Evil_Google написал(а):
Написал как вы показали
if ($username== 'bis')
return false;

и получилось так:

* Вел имя Bis. В резултате авторизация не произошло
user posted image

* Вел что угодно. В резултате авторизация произошло :blink:

user posted image

Может скрипт которой я написал не правильно :(

Спустя 45 минут, 10 секунд (30.09.2012 - 19:17) kristall написал(а):
Включи голову.

function login ($username, $remember)
{
if ($username== 'bis')
return false;

Функция login возвращает false если $username равно 'bis'.

$_SESSION ['username'] = $username;
if ($remember)
setcookie ('username', $username, time() + 3600*24*7);
return true;
}

Если же у юзера другое имя, ставит куку если была галка "Запомнить меня".
И возвращает true. То есть режет bis, а всех остальных пускает.

Все работает именно так, как запрограммировано.


_____________
Жадный.... жадный.... жадный кот
Быстрый ответ:

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