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 :: Условие isset

 PHP.SU

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


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

> Без описания
amf1k
Отправлено: 12 Марта, 2015 - 14:49:22
Post Id


Гость


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


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

[+]


Помоги понять, почему не выполняется условие "//Если тема выбрана" ?
PHP:
скопировать код в буфер обмена
  1.  
  2. //Если кнопка "Начать тест" не нажата
  3. if(!isset($_POST['start'])){
  4.     echo '<form action="" method="POST"><button name="start">Начать тест</button></form>';
  5. }
  6. //Если кнопка "Начать тест" была нажата
  7. else{
  8.     //Если тема не выбрана
  9.     if(!isset($_GET['subject'])){
  10.         //Выводим ссылки на темы
  11.         foreach(getSubjects() as $subject){
  12.             echo '<a href="?subject='.$subject['id'].'">'.$subject['title'].'</a><br/>';
  13.         }
  14.     }
  15.     //Если тема выбрана
  16.     else{
  17.         echo 'Тема выбрана';
  18.     }
  19. }
  20.  

(Отредактировано автором: 12 Марта, 2015 - 14:51:07)

 
 Top
Tyoma5891
Отправлено: 12 Марта, 2015 - 14:58:45
Post Id


Частый посетитель


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


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




а что сейчас вообще выводит этот код?
 
 Top
amf1k
Отправлено: 12 Марта, 2015 - 15:01:44
Post Id


Гость


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


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

[+]


Tyoma5891 пишет:
а что сейчас вообще выводит этот код?


при нажатии на ссылку -> сбрасывает условие if(!isset($_POST['start'])){
наверное из за того, что я не передаю в форме subject

(Отредактировано автором: 12 Марта, 2015 - 15:03:01)

 
 Top
RickMan
Отправлено: 12 Марта, 2015 - 15:06:16
Post Id


Участник


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


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




Наверное. И вообще, если нужно проверить, есть ли в массиве эллемент, то лучше использовать array_key_exists(), а не isset
 
 Top
OrmaJever Модератор
Отправлено: 12 Марта, 2015 - 15:16:52
Post Id



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


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


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




насколько я знаю button не отправляет форму


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
Tyoma5891
Отправлено: 12 Марта, 2015 - 15:20:58
Post Id


Частый посетитель


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


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




amf1k пишет:


при нажатии на ссылку -> сбрасывает условие if(!isset($_POST['start'])){

правильно потому что когда Вы нажимаете на ссылку у Вас есть массив GET а поста в этот момент вообще нету)
 
 Top
amf1k
Отправлено: 12 Марта, 2015 - 15:23:10
Post Id


Гость


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


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

[+]


Tyoma5891 пишет:
amf1k пишет:


при нажатии на ссылку -> сбрасывает условие if(!isset($_POST['start'])){

правильно потому что когда Вы нажимаете на ссылку у Вас есть массив GET а поста в этот момент вообще нету)


Вы правы, только вот не пойму как реализовать это на моем примере:
при нажатии на кнопку "Выбрать тему" -> выводим темы в цикле -> при клике на ссылку (название темы) -> передаю GET['subject'] с идентификатором темы -> тема выбрана!
 
 Top
Sail
Отправлено: 12 Марта, 2015 - 16:15:52
Post Id



Участник


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


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




OrmaJever пишет:
насколько я знаю button не отправляет форму

Если не указать соответствующий атрибут
 
 Top
Tyoma5891
Отправлено: 12 Марта, 2015 - 16:27:07
Post Id


Частый посетитель


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


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




amf1k пишет:
Tyoma5891 пишет:
amf1k пишет:


при нажатии на ссылку -> сбрасывает условие if(!isset($_POST['start'])){

правильно потому что когда Вы нажимаете на ссылку у Вас есть массив GET а поста в этот момент вообще нету)


Вы правы, только вот не пойму как реализовать это на моем примере:
при нажатии на кнопку "Выбрать тему" -> выводим темы в цикле -> при клике на ссылку (название темы) -> передаю GET['subject'] с идентификатором темы -> тема выбрана!

мой Вам совет делать нажатие на кнопку постом через аякс...
 
 Top
amf1k
Отправлено: 12 Марта, 2015 - 16:35:16
Post Id


Гость


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


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

[+]


Tyoma5891 пишет:
amf1k пишет:
Tyoma5891 пишет:
amf1k пишет:


при нажатии на ссылку -> сбрасывает условие if(!isset($_POST['start'])){

правильно потому что когда Вы нажимаете на ссылку у Вас есть массив GET а поста в этот момент вообще нету)


Вы правы, только вот не пойму как реализовать это на моем примере:
при нажатии на кнопку "Выбрать тему" -> выводим темы в цикле -> при клике на ссылку (название темы) -> передаю GET['subject'] с идентификатором темы -> тема выбрана!

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

аякс -> Я с ним не знаком(
(Добавление)
Sail пишет:
OrmaJever пишет:
насколько я знаю button не отправляет форму

Если не указать соответствующий атрибут

да не в атрибуте дело(
 
 Top
Tyoma5891
Отправлено: 12 Марта, 2015 - 17:09:47
Post Id


Частый посетитель


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


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




при нажатии на кнопку "Выбрать тему" -> выводим темы в цикле -> при клике на ссылку (название темы) -> передаю GET['subject'] с идентификатором темы -> тема выбрана
PHP:
скопировать код в буфер обмена
  1. if (isset($_POST['start']))
  2. {
  3. foreach(getSubjects() as $subject){
  4.             echo '<a href="?subject='.$subject['id'].'">'.$subject['title'].'</a><br/>';
  5.         }
  6. }
  7. if(isset($_GET['subject']))
  8. {
  9.   $subject =  $_GET['subject'];
  10.   echo 'Тема выбрана';
  11. }
  12.  

так?
 
 Top
amf1k
Отправлено: 12 Марта, 2015 - 17:14:44
Post Id


Гость


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


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

[+]


Tyoma5891 пишет:
при нажатии на кнопку "Выбрать тему" -> выводим темы в цикле -> при клике на ссылку (название темы) -> передаю GET['subject'] с идентификатором темы -> тема выбрана
PHP:
скопировать код в буфер обмена
  1. if (isset($_POST['start']))
  2. {
  3. foreach(getSubjects() as $subject){
  4.             echo '<a href="?subject='.$subject['id'].'">'.$subject['title'].'</a><br/>';
  5.         }
  6. }
  7. if(isset($_GET['subject']))
  8. {
  9.   $subject =  $_GET['subject'];
  10.   echo 'Тема выбрана';
  11. }
  12.  
  13.  
  14.  

так?


нет, Вы просто скопировали мой код) у меня там условия вывода
 
 Top
Tyoma5891
Отправлено: 12 Марта, 2015 - 17:16:35
Post Id


Частый посетитель


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


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




я не просто скопировал Ваш код, а реализовал его по Ваше цепочке алгориитму которую вы указали в виде хитрых стрелочек))
 
 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