Этот вопрос закрыт для ответов, так как повторяет вопрос Не добавляется тарифный план в бд,в чём проблема?
@eSCphr

Не делает запрос какой пакет, в чём проблема?

Здравствуйте, не могу понять где у меня ошибка... Код создаётся но не получает id пакета с таблицы "packages"
<?php
        if(isset($_POST['createnewCard']))
		{
		$plan = $_POST['plan'];
		$errors = array();

        if(empty($plan))
		{

         $errors[] = 'Такого тарифного плана не существует!';

        }
		if(empty($errors))
		{
			 /// Генератор кода
			$code = substr(base_convert(sha1(uniqid(mt_rand())), 16, 36), 0, 10);
			
			 /// Вход в базу данных
			$SQLinsert = $odb -> prepare("INSERT INTO `giftcards` VALUES(NULL, :code, :planID, 0, 0, UNIX_TIMESTAMP())");
			$SQLinsert -> execute(array(':code' => $code, ':planID' => $plan));	
            echo $design->alert('success', 'Success', 'Создана новая подарочная карта. Code: '.$code.'');
			} else {

                                                    echo '<div class="alert alert-danger alert-dismissable">Ошибка!</br>';

                                                    foreach($errors as $error){

                                                        echo ' - '.$error.'';

                                                    }

                                                    echo ' </div>';
		}	
	}
	?>


<select class="form-control" name="plan[]">
									<?php
									$GetPackages = $odb -> query("SELECT * FROM `packages`");
                                    while($getInfo = $GetPackages -> fetch(PDO::FETCH_ASSOC))
									{
									$ID = $getInfo['ID'];
									$name = $getInfo['name'];
									echo '<option value="'.$ID.'">'.$name.'</option>';
									}
									?>
								</select>


Где ошибка в коде?
  • Вопрос задан
  • 77 просмотров
Решения вопроса 1
OKyJIucT
@OKyJIucT
Sunshine reggae
У вас в $_POST['plan'] массив идёт, а вы его вставляете как число.
Вместо name="plan[]" в форме напишите name="plan"
Ответ написан
Ваш ответ на вопрос

Вопрос закрыт для ответов и комментариев

Потому что уже есть похожий вопрос.
Похожие вопросы