Помощь в проверке данных в форме отправки данных.

devproject

Новичок
Добрый вечер уважаемые форумчане!
Я начинающий программист, столкнулся с такой проблемой, нужно дописать проверку вводимых данных для формы, код ниже. Пробовал делать по урокам, ничего не получилось. Форма перестает работать вообще. Быть может кому-то не сложно будет мне помочь здесь?

Код:
<?php
$sendto = "[email protected]";
$sendto = "[email protected]";
$name = $_POST['name1'];
$phone  = $_POST['phone1'];

$korobka1  = $_POST['korobka1'];
$model1  = $_POST['model1'];
$year1  = $_POST['year1'];
$probeg1  = $_POST['probeg1'];
$privod1  = $_POST['privod1'];
$engine1  = $_POST['engine1'];

// Формирование заголовка письма
$subject  = "Заявка Авто";
$headers  = "From: " . strip_tags($usermail) . "\r\n";
$headers .= "Reply-To: ". strip_tags($usermail) . "\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html;charset=utf-8 \r\n";
// Формирование тела письма
$msg  = "<html><body style='font-family:Arial,sans-serif;'>";
$msg .= "<h2 style='font-weight:bold;border-bottom:1px dotted #ccc;'>Заявка Авто</h2>\r\n";
$msg .= "<p><strong>Имя:</strong> ".$name."</p>\r\n";
$msg .= "<p><strong>Коробка:</strong> ".$korobka1."</p>\r\n";
$msg .= "<p><strong>Телефон:</strong> ".$phone."</p>\r\n";

$msg .= "<p><strong>Модель:</strong> ".$model1."</p>\r\n";
$msg .= "<p><strong>Год выпуска:</strong> ".$year1."</p>\r\n";
$msg .= "<p><strong>Пробег:</strong> ".$probeg1."</p>\r\n";
$msg .= "<p><strong>Привод:</strong> ".$privod1."</p>\r\n";
$msg .= "<p><strong>Двигатель:</strong> ".$engine1."</p>\r\n";
$msg .= "</body></html>";
// отправка сообщения
if(@mail($sendto, $subject, $msg, $headers)) {
    echo "true";
} else {
    echo "false";
}

?>
 

niko42

Новичок
Добрый вечер уважаемые форумчане!
Я начинающий программист, столкнулся с такой проблемой, нужно дописать проверку вводимых данных для формы, код ниже. Пробовал делать по урокам, ничего не получилось. Форма перестает работать вообще. Быть может кому-то не сложно будет мне помочь здесь?

Код:
<?php
$sendto = "[email protected]";
$sendto = "[email protected]";
$name = $_POST['name1'];
$phone  = $_POST['phone1'];

$korobka1  = $_POST['korobka1'];
$model1  = $_POST['model1'];
$year1  = $_POST['year1'];
$probeg1  = $_POST['probeg1'];
$privod1  = $_POST['privod1'];
$engine1  = $_POST['engine1'];

// Формирование заголовка письма
$subject  = "Заявка Авто";
$headers  = "From: " . strip_tags($usermail) . "\r\n";
$headers .= "Reply-To: ". strip_tags($usermail) . "\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html;charset=utf-8 \r\n";
// Формирование тела письма
$msg  = "<html><body style='font-family:Arial,sans-serif;'>";
$msg .= "<h2 style='font-weight:bold;border-bottom:1px dotted #ccc;'>Заявка Авто</h2>\r\n";
$msg .= "<p><strong>Имя:</strong> ".$name."</p>\r\n";
$msg .= "<p><strong>Коробка:</strong> ".$korobka1."</p>\r\n";
$msg .= "<p><strong>Телефон:</strong> ".$phone."</p>\r\n";

$msg .= "<p><strong>Модель:</strong> ".$model1."</p>\r\n";
$msg .= "<p><strong>Год выпуска:</strong> ".$year1."</p>\r\n";
$msg .= "<p><strong>Пробег:</strong> ".$probeg1."</p>\r\n";
$msg .= "<p><strong>Привод:</strong> ".$privod1."</p>\r\n";
$msg .= "<p><strong>Двигатель:</strong> ".$engine1."</p>\r\n";
$msg .= "</body></html>";
// отправка сообщения
if(@mail($sendto, $subject, $msg, $headers)) {
    echo "true";
} else {
    echo "false";
}

?>
А на какой емл хотите отправить ?=))
$sendto = "[email protected]";
$sendto = "[email protected]";
 

devproject

Новичок
На оба приходят, форма работает, а вот дописываю какой-нибудь из вариантов проверки вводимых данных, форма перестает работать. Я доделываю сайт, все сделал как нужно. Но нужна проверка на введенные данные, например если где то не ввели данные, форма не отправляется и вообще ровным счетом ничего не происходит, нужно куда-то вписать функцию проверки ячеек, чтобы если ячейка $korobka1 пустая, показывает сообщение введите данные в ячейку коробка. и далее по аналогии все ячеечки проверяет, если где-то не заполнено, выдает надпись а если все поля введены, то отправляет сообщение.
 

niko42

Новичок
if(!filter_var($sendto, FILTER_VALIDATE_EMAIL)){
echo "не корректный e-mail!";
exit;
}
elseif(empty($name)){
echo "Вы не ввели имя !!";
exit;
}

ну и т.д.
 

niko42

Новичок
На оба приходят, форма работает, а вот дописываю какой-нибудь из вариантов проверки вводимых данных, форма перестает работать. Я доделываю сайт, все сделал как нужно. Но нужна проверка на введенные данные, например если где то не ввели данные, форма не отправляется и вообще ровным счетом ничего не происходит, нужно куда-то вписать функцию проверки ячеек, чтобы если ячейка $korobka1 пустая, показывает сообщение введите данные в ячейку коробка. и далее по аналогии все ячеечки проверяет, если где-то не заполнено, выдает надпись а если все поля введены, то отправляет сообщение.
Вы точно уверены, что письма приходят на оба ЕМЛа ?????
$sendto = "[email protected]";
$sendto = "[email protected]";

Мне вот кажется, что у Вас приходят письмо только на
$sendto = "[email protected]";

http://www.php.net/manual/ru/language.variables.variable.php
 

devproject

Новичок
Вы правы.
Приходит на 1 емейл, но не в этом суть....может быть вы знаете как организовать такую проверку введенных данных?
 

devproject

Новичок
nikola42, правильно говоришь) именно это и нужно. находил только какие-то супер сложные многострочные проверки, которые у меня не работают основанные на if, then, else
 

niko42

Новичок
nikola42, правильно говоришь) именно это и нужно. находил только какие-то супер сложные многострочные проверки, которые у меня не работают основанные на if, then, else
Я тебе уже привел пример в 4 посте: empty(value) - проверка на пустоту значения
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба

devproject

Новичок
if(!filter_var($sendto, FILTER_VALIDATE_EMAIL)){
echo "не корректный e-mail!";
exit;
}
elseif(empty($name)){
echo "Вы не ввели имя !!";
exit;
}

попробую сейчас. одну минутку
 

devproject

Новичок
Хорошее предложение, знание свет, но вот понимаете, не работает оно..я не знаю куда правильно вставить нужно текст...читал я и про if then else
Код:
<?php
$sendto = "[email protected]";
$name = $_POST['name1'];
$phone  = $_POST['phone1'];

$korobka1  = $_POST['korobka1'];
$model1  = $_POST['model1'];
$year1  = $_POST['year1'];
$probeg1  = $_POST['probeg1'];
$privod1  = $_POST['privod1'];
$engine1  = $_POST['engine1'];

// Формирование заголовка письма
$subject  = "Заявка Авто";
$headers  = "From: " . strip_tags($usermail) . "\r\n";
$headers .= "Reply-To: ". strip_tags($usermail) . "\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html;charset=utf-8 \r\n";
// Формирование тела письма
$msg  = "<html><body style='font-family:Arial,sans-serif;'>";
$msg .= "<h2 style='font-weight:bold;border-bottom:1px dotted #ccc;'>Заявка Авто</h2>\r\n";
$msg .= "<p><strong>Имя:</strong> ".$name."</p>\r\n";
$msg .= "<p><strong>Коробка:</strong> ".$korobka1."</p>\r\n";
$msg .= "<p><strong>Телефон:</strong> ".$phone."</p>\r\n";

$msg .= "<p><strong>Модель:</strong> ".$model1."</p>\r\n";
$msg .= "<p><strong>Год выпуска:</strong> ".$year1."</p>\r\n";
$msg .= "<p><strong>Пробег:</strong> ".$probeg1."</p>\r\n";
$msg .= "<p><strong>Привод:</strong> ".$privod1."</p>\r\n";
$msg .= "<p><strong>Двигатель:</strong> ".$engine1."</p>\r\n";
$msg .= "</body></html>";

//Проверка
if(empty($_POST["probeg1"]))
echo "Заполните все поля";


// отправка сообщения
if(@mail($sendto, $subject, $msg, $headers)) {
    echo "true";
} else {
    echo "false";
}

?>
Вроде ведь все просто должно быть..пойду снова листать уроки.
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
devproject, значит то, что тебе надо сделать - пойти и купить книгу по php. Не курсы дебильные смотреть, а читать и разбираться. Понимание того, что делает программа обязательно, без него - результат не более чем шаманство.

Да и почему было принято решение, что не работает?
 

devproject

Новичок
Решение было принято, потому что я вставил скрипт, не заполнил поле, нажал кнопку отправить и ровным счетом ничего не произошло, а ведь должно выводиться ведь
echo "Заполните все поля";
Кстати хотел купить книгу по php, но как то стоят они от 1600р, полные руководства. Мне не жалко, я много читаю, но лишних нет. А в интернете вы правы, как раз таки куча статей не описывающих ничего, кроме танца с бубном вокруг скрипта, не понятно куда его вставлять, а потом понимаешь еще что нужно подправить под себя, ничего страшного, тратишь времени пол дня возле этих уроков, тестируя варианты, идешь на форум программистов в поиске помощи, натыкаешься опять на ссылки на учебное пособие, ага, скопировал я, прочитал кстати..И что? Да все тоже, не работает. Там нужно ведь знать что куда писать. Просто так же не вставишь в верху новый код и он вуаля заработал. Я кучу времени потратил на верстку, на дизайн и прочее. А вот такую мелочь не знаю, самоучка я, да, не бездырь, работаю в поте лица и свободного времени у меня ровно 2 часа в день если повезет. Но я хочу понять как ее сделать эту форму и понять бы так, чтобы смог реализовать. Если есть ссылка конкретно на хорошую книгу, поделитесь, я почитаю ее, быть может так будет быстрее, чем кто-то поделиться здесь действующим способом под мой вопрос.
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
devproject, код в файле выполняется построчно, чтобы у тебя вывелась надпись поле с именем probeg1 должно быть пустым. Остальные поля тут ты не проверяешь.

Чтобы проверить все поля, надо и проверок написать несколько. Сложить их в условии оператором OR, то есть или.

if(empty(field1) or empty(field2)) заполните все поля.

Вариантов написания этой проверки может быть много. Это самая простая.
 
Сверху