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

0

Когда я добавляю сессию в форме редактирования, я не смог получить выбранные значения в выпадающем меню. Я использую bootstrap framework. Когда я удаляю сеанс с того же начала, он работает.

Файл edit.php

<?php
  session_start();
  $car=$_POST['car']
?> 
<form method="post" action="">
<div class=from-group>
  <label for="exampleInputEmail1>Car</label>
    <select class="form-group" name="car" id="car" value="<?php echo $car; selected?>">
      <option value=<?php echo $car?> selected>
         <?php cars()?>
      </option>
</div>
</form>

Я создал функцию "cars", в которой я получаю значения всех автомобилей из базы данных.

function cars(){
   $link = new mysqli("", "", "", "");
   $link = set_charset("utf8);

   $sql = mysqli_query($link, "SELECT * FROM db_cars ORDER BY CarId")
   echo '<option value=""> Choose car </option>'
   while ($record = mysqli_fetch_array($sql)) {
       echo '<option value = "'.$record['CarId']'"> . $record['CarName'].' </option>
   }
}

Любая помощь или совет приветствуются.

  • 0
    У вас есть <form> ? <label> и mysqli_query( не закрыты. Пожалуйста, проверьте ваш код.
  • 0
    Да. Я забыл опубликовать это
Показать ещё 2 комментария
Теги:

2 ответа

0

Элемент select не имеет атрибута name, поэтому он не может быть успешным элементом управления (т.е. передавать любые данные).

Форма не имеет кнопки отправки, поэтому нет очевидного способа запуска отправки формы. (Вы должны отправить форму в новый HTTP-запрос на сервер, чтобы запустить PHP и получить данные от пользователя).

  • 0
    Мне непонятно, удаляю ли я seession_start, это работает. как только я добавлю это, это не
0

Во-первых, добавьте точки с запятой после каждой строки, когда вы используете PHP. Это может вызвать массу проблем.

Во-вторых, некоторые атрибуты имеют только один ("), как и метка в HTML.

В-третьих, вы добавляете "что-то", называемое selected после эхо-ответа $car.

В функции cars() вы эхом отдаете без точки с запятой (;) и сразу после выполнения цикла while().

Проверьте все, вам не хватает очень важных и важных вещей

Кроме того, я собираюсь угадать, что это не "копировать-вставить" из вашего кода, но если это так, вам также не хватает </select>

  • 0
    Это не копирование. Все, что вы упомянули, написано в моем коде. Спасибо за ответ. Но мне интересно, если я не использую session_start (), это работает. Как только я добавляю эту строку в то же начало кода, он не работает
  • 0
    Вы включаете некоторые другие страницы, которые также содержат session_start(); ?
Показать ещё 3 комментария

Ещё вопросы

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