Моя форма переключателя PHP / HTML в цикле не работает. Почему?

0
<?php

   $_SESSION['ValueSelected'] = $_POST['subject'];

   $num=1;
   $opt = array();

    for($row=1; $row<=65; $row++)
         {
           if($Set_Details[0][$row - 1] == $userinID)    
        {
          echo '<input type="radio" name="subject" value="$opt[$num]"> ' . $Set_Details[1][$row-1] . ' - '. $Set_Details[3][$row-1] . '<br>';
              $num++;
       }
     }   
?>  

Позвольте мне объяснить мой код. $ Set_Details - это двумерный массив, и он работает без проблем. Основываясь на количестве предметов, которые есть у преподавателя, будет создано много радиокнопок. У каждого из них есть общее имя, но разные значения. Каждый из отображаемых объектов можно выбрать с помощью переключателя. Теперь я хочу отправить выбранный вариант на другую страницу. Как мне это сделать? Без:

$_SESSION['ValueSelected'] = $_POST['subject'];

Программа работает нормально. Только когда я помещаю эту строку, генерируются ошибки. В нем говорится:

Notice: Undefined index: subject in C:\xampp\htdocs\GradingPortal\FacultyIndex.php on line 98
  • 0
    Вам не хватает session_start(); сверху после <?php ?
Теги:
select
forms
radio

2 ответа

0

попробуй это

$_SESSION['ValueSelected'] = isset($_POST['subject']);

или попробуйте это

$_SESSION['ValueSelected'] = @$_POST['subject'];
  • 1
    isset возвращает bool так что это не будет работать.
  • 0
    Это только для того, чтобы избежать предупреждения.
0

Если вы запустите запрос с помощью запроса GET (т.е. просто загрузите страницу), вы получите сообщение об ошибке, потому что переменная $_POST не будет отправлена. Выполнение следующего приведет к удалению сообщения об отладке, но может не решить логические проблемы, которые могут возникнуть у вас

$_SESSION['ValueSelected'] = (isset($_POST['subject'])) ? $_POST['subject'] : null;

Ещё вопросы

Сообщество Overcoder
Наверх
Меню