Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Из формы обратной связи через раз приходят пустые поля
Форумы портала PHP.SU » PHP » Программирование на PHP » Из формы обратной связи через раз приходят пустые поля

Страниц (1): [1]
 

1. MaxiteMall - 22 Мая, 2016 - 12:41:53 - перейти к сообщению
Добрый день, уважаемые знатоки ! К сожалению я не сильно разбираюсь в программировании и очень прошу, помогите.
У меня на сайте есть форма обратной связи, ajax + php, так же я добавил занесение введенных значений в SQL базу, но иногда значения приходят пустыми, хотя все поля required, в SQL базе так же иногда появляются пустые записи

Вот мой код

HTML
CODE (html):
скопировать код в буфер обмена
  1.  
  2. <form action="javascript:void(null);" id="form" class="form" name="FORM">
  3.      <input type="text" name="contact" required="required" id="input1" class="input" placeholder="E-mail или телефон" maxlength="30">
  4.      <textarea type="text" name="question" required="required" id="input2" class="input" placeholder="Напишите Ваш вопрос" maxlength="300"></textarea>
  5.      <input type="submit" class="btn btn-success" value="Отправить">
  6.     </form>
  7.  



JS
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2.         $(document).ready(function () {
  3.                 $("#form").submit(function () { //устанавливаем событие отправки для формы с id=form
  4.                     var form_data = $(this).serialize(); //собераем все данные из формы
  5.                     $.ajax({
  6.                         type: "POST", //Метод отправки
  7.                         url: "php/mail.php", //путь до php фаила отправителя
  8.                         data: form_data,
  9.                         success: function () {
  10.                             //код в этом блоке выполняется при успешной отправке сообщения
  11.                             alert("Спасибо! Ответим, как только сможем :)");
  12.                             show('none');
  13.                         },
  14.                         error: function (xhr, str) {
  15.                             alert('Error: ' + xhr.responseCode);
  16.        
  17.                         }
  18.                     });
  19.                 });
  20.             });
  21.  


PHP
PHP:
скопировать код в буфер обмена
  1.  
  2. <?
  3. require 'c.php';
  4. var_dump($_POST);
  5. { //Проверка отправилось ли наше поля
  6.         $to = 'example@mail.ru'; //Почта получателя, через запятую можно указать сколько угодно адресов
  7.         $subject = 'Обратный звонок'; //Загаловок сообщения
  8.         $message = '
  9.                <html>
  10.                    <head><meta http-equiv="Content-Type" content="text/html; charset=utf8">
  11.                        <title>'.$subject.'</title>
  12.                    </head>
  13.                    <body>
  14.                        <p>'.$_POST['contact'].'</p>
  15.                        <p>'.$_POST['question'].'</p>                        
  16.                    </body>
  17.                </html>'; //Текст нащего сообщения можно использовать HTML теги
  18.         $headers  = "Content-type: text/html; charset=utf8 \r\n"; //Кодировка письма
  19.         $headers .= "From: domain <contact@domain.ru>\r\n"; //Для примера
  20.         mail($to, $subject, $message, $headers); //Отправка письма с помощью функции mail
  21. };
  22. //соединение с базой
  23. $result = "INSERT INTO clients (mail) values('$contact')";
  24. mysql_query($result);
  25. mysql_close($mysql);
  26. ?>
  27.  


Приложу два примера, что ИНОГДА приходит на почту и заносится в SQL базу. Затер адреса от недоброжелателей Улыбка
2. 3d_killer - 22 Мая, 2016 - 13:35:53 - перейти к сообщению
думаю что в текст сообщения проходят какие то не желательные символы которые поганят текст и он отправляется пустым и пишется в базу пустым кавычки апострофы или еще че, у вас же никаких проверок что пришло то ушло никакой обработки
3. MaxiteMall - 22 Мая, 2016 - 14:19:50 - перейти к сообщению
3d_killer пишет:
думаю что в текст сообщения проходят какие то не желательные символы которые поганят текст и он отправляется пустым и пишется в базу пустым кавычки апострофы или еще че, у вас же никаких проверок что пришло то ушло никакой обработки


Скажите пожалуйста, как мне можно это исправить ? Я тоже на это думал, но ведь в sql тоже идут пустые записи
4. 3d_killer - 22 Мая, 2016 - 14:42:59 - перейти к сообщению
в коде не видно что находится тут $contact
5. MaxiteMall - 22 Мая, 2016 - 16:38:40 - перейти к сообщению
'.$_POST['contact'].' - это $contact, в базу значение заносится и на почту приходит без проблем, но иногда приходят пустые сообщения Недовольство, огорчение
6. 3d_killer - 22 Мая, 2016 - 16:48:21 - перейти к сообщению
то есть любые инъекции через поля формы строчи и все пройдет, прикольно

 

Powered by ExBB FM 1.0 RC1