У меня проблема с кодом, когда нажимаю кнопку добавить тарифный план - пишет, что не все поля заполнены
<?php
if(isset($_POST['addplan'])){
if (empty($name) || empty($description) || empty($price) || empty($mbt) || empty($conc) || empty($length) || empty($unit) || empty($vip)){
echo $design->alert('danger', 'Error', 'Пожалуйста, заполните все поля!');
} else {
$SQLinsert = $odb->prepare("INSERT INTO `plans` VALUES(NULL, :name, :mbt, :unit, :length, :price, :conc, :description, :vip)");
$SQLinsert->execute(array(':name' => $name, ':mbt' => $mbt, ':unit' => $unit, ':length' => $length, ':price' => $price, ':conc' => $conc, ':description' => $description, ':vip' => $vip));
echo $design->alert('success', 'Success', 'Тарифный план успешно создан!');
}
}
?>
Посмею пованговать
Вероятно, у вас инпуты в форме имеют имена типа name="addplan[name]" или addplan это отдельный инпут, по которому код понимает, что нужно делать sql запрос. Однако, в условии вы указываете обычные не _POST переменные типа $name, $description ..., а ведь все данные, присылаемые формой, хранятся в постоянном массиве в зависимости от метода отправки данных, в данном случае в массиве $_POST
if (empty($name) || empty($description) || empty($price) || empty($mbt) || empty($conc) || empty($length) || empty($unit) || empty($vip)){
Вот эти переменные Вам нужно либо явно указать до проверки, либо изменить само условие на
if (empty($_POST['name']) || ... || empty($_POST['vip'])){
Либо на (зависит от того, как называются ваши инпуты
if (empty($_POST['addplan']['name']) || ... || empty($_POST['addplan']['vip'])){
Если Вы приведете пример html кода формы, то все встанет на свои места
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости