Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Проблемы с авторизацией

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Flashbag
Отправлено: 13 Февраля, 2010 - 00:13:40
Post Id


Новичок


Покинул форум
Сообщений всего: 10
Дата рег-ции: Февр. 2010  


Помог: 0 раз(а)




Выделено в отдельную тему из темы "защита файлов по паролю(Админка)"
Мне вот тут нада открить страницу с подарком для девушки
И чтоби открила только она я решил защитить страницу паролем
Написал простенький скрипт чтоби при правильном пароле показивало страницу
а при неправильном - надпись "Неправильний пароль!!!"
Протестировал сначала на локалхосте но при любом значении
виводит надпись "Правильно", тоесть видает страницу
Залил скрипт на хостинг - та же фигня
Подскажите плиз ошибку
PHP:
скопировать код в буфер обмена
  1.  
  2. <?
  3. $pass=$_GET["pass"];
  4. $pass=htmlspecialchars($pass);
  5. if ($pass="hello")
  6.        {echo "Правильно";}
  7. ?>
  8.  


Отредактировано модератором: JustUserR, 13 Февраля, 2010 - 12:54:58
Пожалуйста не поднимайте старые темы тем более если они не ваши
 
 Top
SAD
Отправлено: 13 Февраля, 2010 - 00:34:08
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2508
Дата рег-ции: Май 2009  
Откуда: Днепропетровск, Украина


Помог: 75 раз(а)




Выделено в отдельную тему из темы "защита файлов по паролю(Админка)"
Ну вообще-то сравнение с двумя == делается ))
 
 Top
JustUserR
Отправлено: 13 Февраля, 2010 - 12:58:41
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




Flashbag пишет:
if ($pass="hello")
Данное выражение почти всегда позвращает true так как присвоение одной переменной значения другой происходит успешно - ведь данная конструкция проверяет именно это


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
valenok Модератор
Отправлено: 14 Февраля, 2010 - 10:28:14
Post Id



Здесь могла бы быть ваша реклама


Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006  
Откуда: Israel


Помог: 3 раз(а)




А в каких случаях возвращает false ?


-----
Truly yours, Sasha.
 
My status
 Top
Мелкий Супермодератор
Отправлено: 14 Февраля, 2010 - 10:52:53
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




А разве = вообще хоть что-то возвращает? Я всегда думал, что в такой конструкции проверяется новое значение переменной. Ведь while ($row = mysql_fetch_assoc($a)) {} если бы проверял факт приравнивания - никогда бы не закончился.


-----
PostgreSQL DBA
 
 Top
JustUserR
Отправлено: 14 Февраля, 2010 - 11:20:08
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




valenok пишет:
А в каких случаях возвращает false ?
Вроде бы как в конструкциях типа if($my_var=null) потому что присвоение null это то же самое что unset переменной то есть ее как бы больше нет


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
valenok Модератор
Отправлено: 14 Февраля, 2010 - 11:37:53
Post Id



Здесь могла бы быть ваша реклама


Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006  
Откуда: Israel


Помог: 3 раз(а)




Только ты проверяешь не знаечение переменной а результат выполнения выражения. А присовение пройдет успешно.


-----
Truly yours, Sasha.
 
My status
 Top
JustUserR
Отправлено: 14 Февраля, 2010 - 18:13:11
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




valenok пишет:
Только ты проверяешь не знаечение переменной а результат выполнения выражения. А присовение пройдет успешно.
Я прекрасно понимаю в чем суть данной операции а именно приведения операции присвоения к булевскому типу - но судт по тому что операция
Мелкий пишет:
while ($row = mysql_fetch_assoc($a)) {}
работает и причем достаточно успешно то учитывая то что данная функция при конце перебора возвращает null - то присвоение null трактуется как false


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Мелкий Супермодератор
Отправлено: 14 Февраля, 2010 - 18:37:39
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




JustUserR пишет:
данная функция при конце перебора возвращает null

Ошибаетесь, возвращает false.

И проверяется, что записалось в переменную, а не результат функции присваивания. Т.к. если бы присваивание могло учавствовать как полноправный участник условия - оно бы вернуло true, т.к. переменной-то новое значение присвоено успешно.

Или, докажите обратное. Что проверяется именно результат действия, а не значение, которое было присвоено.


-----
PostgreSQL DBA
 
 Top
JustUserR
Отправлено: 14 Февраля, 2010 - 19:12:56
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




Мелкий пишет:
Или, докажите обратное. Что проверяется именно результат действия, а не значение, которое было присвоено.
Ну похоже что все-таки так - я проверил $tr=(bool)($abc=0); и $tr=(bool)($abc=10); - действительно в первом случае false а во втором true


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB