Tekcry
@Tekcry

Как записать значение выбранного input type="radio" в базу?

Есть форма. Данные из формы должны писаться в базу. Сейчас этого не происходит. Полагаю это связано с input type="radio"...
По сути 2 вопроса:
1. Правильно ли я делаю запись в базу?
2. Каким образом можно сделать запись в базу значение выбранного input type="radio"?

<div class="form-group">
    <label class="control-label" id="sorevn">В каком виде соревнований будет участвовать команда? <span class="red">*</span>:</label>
    <br/>
    <div class="radio">
        <label>
            <input type="radio" id="optionsRadios1" value="kegelring" name="optionsRadios">Кегельринг для начинающих
        </label>
    </div>
    <div class="radio">
        <label>
            <input type="radio" id="optionsRadios2" value="labirint" name="optionsRadios">Лабиринт для начинающих  
        </label>
    </div>
</div>


Подключение и запись в базу:
action.php

$mysqli = new mysqli ("localhost", "root", "123456789", "bigbr");
    $mysqli->query ("SET NAMES 'utf8'");
    $nameUch = $_POST['nameUch'];
    $addressUch = $_POST['addressUch'];
    $addressUch = $_POST['cityUch'];
    $areaUch = $_POST['areaUch'];
    $namePed = $_POST['namePed'];
    $familPed = $_POST['familPed'];
    $email = $_POST['email'];
    $number = $_POST['number'];
    $nameComand = $_POST['nameComand'];
    $nameUchenik = $_POST['nameUchenik'];
    $familUchenik = $_POST['familUchenik'];
    $ageUchenik = $_POST['ageUchenik'];
    $sorevn = $_POST['sorevn'];
    $pitanie = $_POST['pitanie'];
    $persObr = $_POST['persObr'];    
    $mysqli->query ("INSERT INTO `reg` (
          `id`,
          `nameUch`,
          `addressUch`,
          `cityUch`,
          `areaUch`,
          `namePed`,
          `familPed`,
          `email`,
          `number`,
          `nameComand`,
          `nameUchenik`,
          `familUchenik`,
          `ageUchenik`,
          `optionsRadios`,
          `pitanie`,
          `persObr`) VALUES (NULL,
          '$nameUch',
          '$addressUch',
          '$areaUch',
          '$namePed',
          '$familPed',
          '$email',
          '$number',
          '$nameComand',
          '$nameUchenik',
          '$ageUchenik',
          '$sorevn',
          '$pitanie',
          '$persObr')");
if ($mysqli == 'true'){
          echo "Запись добавлена успешно!";
       } else {
          echo "Запись не добавлена!";
      }
  • Вопрос задан
  • 1580 просмотров
Пригласить эксперта
Ответы на вопрос 3
@grinat
Тут две ошибки:
1. Убрать id из инсерта (поэтому не пишет в базу) - id не может быть null, это должно быть целое уникальное число, если его не указать в запросе, то тогда бд создаст его сама.
2. $sorevn = $_POST['optionsRadios']; (иначе значение radio будет записано как null)
Ответ написан
Комментировать
Kolyagrozamorey
@Kolyagrozamorey
инженер-электроник службы ИТ ХАЕС
А какую ошибку выдает? Почему решили что проблема в форме? Вижу в запросе для id устанавливается значение NULL, естественно что при этом будет ошибка
Ответ написан
@mayor-jojo
$sorevn = $_POST['sorevn'];

заменить на
$sorevn = $_POST['optionsRadios'];
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы