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]   

> Описание: Не работает условие, не пойму в чём ошибка
alex.red
Отправлено: 02 Января, 2019 - 15:00:32
Post Id


Новичок


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


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




Добрый день!
Хочу чтобы при вводе правильного кода человек попадал на страницу с персональными акциями, а в ином случае возвращался на предыдущую страницу!
Этот код почему-то не работает.
Заранее спасибо!

<?php
$b=$_POST["promo"];
if ($b = "santa"){
header( "Location: http://podarok.ru/promo.html" );
}
else{
echo "Промокод введён неверно";
header( "Location: http://podarok.ru/");
}
?>
 
 Top
VadiKO
Отправлено: 02 Января, 2019 - 20:27:57
Post Id


Новичок


Покинул форум
Сообщений всего: 39
Дата рег-ции: Март 2016  


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




index.php

PHP:
скопировать код в буфер обмена
  1. <?
  2. echo '<form name="login" action="/index.php" method="post">
  3.         <div><input type="promo" name="promo" style="width:180px;" required /></div>
  4.         <input type="submit" value="ввод" name="enter">
  5.        
  6.         </form>';
  7.  
  8. if(isset($_POST['enter']))
  9. {
  10. $b=$_POST["promo"];
  11.  
  12. if ($b = "santa"){
  13.  
  14. echo 'ok';
  15. }
  16.  
  17. else{
  18.        
  19. echo 'error';
  20.  
  21. }
  22. }      
  23.  
  24. ?>
 
 Top
Мелкий Супермодератор
Отправлено: 02 Января, 2019 - 20:41:12
Post Id



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


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


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




alex.red пишет:
if ($b = "santa"){

Операторы сравнения в PHP - == или ===
А у вас написан оператор присваивания.
В этой строке вы сделали буквально следующее:

Так очевидно, почему условие всегда срабатывает?


-----
PostgreSQL DBA
 
 Top
LIME
Отправлено: 06 Января, 2019 - 16:24:22
Post Id


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


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


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





привычка писать литералы в начале сравнения помогает выработать привычку обращать внимание на этот нюанс Не понял

(Отредактировано автором: 06 Января, 2019 - 16:25:45)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB