На нашем сайте мы используем cookie для сбора информации технического характера и обрабатываем IP-адрес вашего местоположения. Продолжая использовать этот сайт, вы даете согласие на использование файлов cookies. Здесь вы можете узнать, как мы пользуемся файлами cookies.
Я согласен
логотип upread.ru

Быстрая помощь по сайту, или заполнение всех полей


Редко у кого получается с первого раз создать сайт без дальнейших исправлений. Даже если все согласовано с дизайнером, верстальщик натянул дизайн на кмс, программист все сделал внутри и со скриптами, но проходит какое-то время, и вы понимаете, что можно сделать и лучше. Где-то что-то поправить в верстке, сделать адаптивным, изменить меню, добавить эффектов и анимации, поставить защиту от спама, перевести на защищенный протокол – да мало ли что может придти в голову владельцу сайта?

Например, понадобилось одному заказчику сделать так, чтобы письма с формы обратной связи приходили, если только заполнены все поля. Имя, телефон, адрес и так далее – чтобы выдавало предупреждение посетителю (потенциальному заказчику), что он не всю необходимую информацию оставил.

Смотрим внутренности сайта. Самописный движок непонятной системы. Однако, это нас не смущает. Находим файл, который отвечает за вывод формы и отправку письма (contacts.php – они так часто называются) и ищем в нем, где идет обработка после отправки запроса.

Ага, натыкаемся на такой код:

if (isset($_GET["post"])) {
	$captcha1=$_POST["captcha"] ? $_POST["captcha"] : 'bnn65mb';
	$orgname=isset($_POST["orgname"]) ? trim($_POST["orgname"]) : null;
	$adres=isset($_POST["adres"]) ? trim($_POST["adres"]) : null;
	$phones=isset($_POST["phones"]) ? trim($_POST["phones"]) : null;
	$mailfrom=isset($_POST["mailfrom"]) ? trim($_POST["mailfrom"]) : null;
	$username=isset($_POST["username"]) ? trim($_POST["username"]) : null;
	$question=isset($_POST["question"]) ? trim($_POST["question"]) : null;
Все понятно. В этих переменных и хранятся значения полей формы. Все, что нам надо сделать, это и отправлять или не отправлять письмо, в зависимости от результата. Самый простой способ сделать это так:

if (($orgname!="") &&  ($adres!="") &&  ($phones!="") &&  ($mailfrom!="") &&  ($username!="") &&  ($question!="")) {
//отправляем письмо
}

else {
echo 'Надо заполнить все поля!';
}	
Если какое-то поле формы не заполнено, то просто игнорируем отправку и пишем, что надо заполнить все поля.



Если ваш сайт на CMS WP, Joomla, OpenCart, phBB, ModX, то смело пишите мне. Мне нравится разбираться во внутренностях данных движков. В принципе я могу разобраться и с другими, в том числе и самописными, но по времени и, соответственно, по деньгам, это выйдет дороже.




тегизаметки, сайтостроение, php





Отправляя сообщение я подтверждаю, что ознакомлен и согласен с политикой конфиденциальности данного сайта.




Отзывы
Как банки внедряют и используют технологии искусственного интеллекта


© upread.ru 2013-2019
При перепечатке активная ссылка на сайт обязательна.
Задать вопрос
письмо
Здравствуйте! Вы можете задать мне любой вопрос. Если не получается отправить сообщение через эту форму, то пишите на почу up777up@yandex.ru
Отправляя сообщение я подтверждаю, что ознакомлен и согласен с политикой конфиденциальности данного сайта.