В одной форме не помогло. Две формы были связанны одним кодом. Почему могло не сработать? HTML: <div class="contact"> <div class="wrapper"> <div class="contact-title" id="about">Оставьте заявку сейчас и получите бесплатную консультацию!</div> <form id="mainform" method="post" action="form.php"> <input type="text" placeholder="Ваше имя" id="title" name="name" value="<?=$name?>" /> <input type="email" placeholder="Ваша почта" id="mail" name="email" value="<?=$email?>" /> <input type="text" placeholder="Ваш Skype" name="skype" value="<?=$skype?>" /> <textarea name="sms" cols="30" rows="10" placeholder="Ваше сообщение" value="<?=$sms?>"></textarea> <div> <button type="submit" id="sbmmain">Оставить заявку</button> </div> </form> </div> </div>
Вы были правы, и я подключил файл к другой странице формы...И теперь всё стало наоборот. Теперь в модальном окне формы ошибка, а у формы на странице, нет!
Наверное он не хочет читать то что вы ему советуете, как и я не хотел хотя я читал. Он хочет чтобы все было легко иногда надо и потрудится чтобы все работало как надо. Мой совет почитай мануал, а еще пробей эту ошибку в интернете и посмотри как ее решают.
Послушайте! Я её наизусть знаю! По этому вопросу я не одну тему уже писал. И не на одном форуме. 2 два уже обсуждаем. Не говорите того, чего не знаете!
Что там можно обсуждать 2 дня? Ошибка решается за 5 минут... вам уже всё рассказали, что нужно сделать.
Показываю код файла v_index.php, чтобы вы видели, что я сделал так, как вы говорили. P.S. Код обработчика формы находиться в form.php Этот файл подключён в коде ниже. HTML: <?php include_once('functions.php'); include_once('form.php'); ?> <!DOCTYPE html> <html lang="ru"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width"> <title><?=$title?></title> <link rel="stylesheet" href="css/styles.css"> <script src="https://use.fontawesome.com/62a9cb8dab.js"></script> </head> <body class="site"> <div class="modal"></div> <div class="overlay"></div> <div class="popupcontact"> <div class="wrapper"> <div class="popupcontacttitle" id="about">Оставьте заявку сейчас и получите бесплатную консультацию!</div> <form id="form" method="post" action="form.php" class="popupform"> <input type="text" placeholder="Ваше имя" id="name" name="name" value="<?=$name?>" /> <input type="email" placeholder="Ваша почта" id="email" name="email" value="<?=$email?>" /> <input type="text" placeholder="Ваш Skype" name="skype" value="<?=$skype?>" /> <textarea name="sms" cols="5" rows="10" placeholder="Ваше сообщение" value="<?=$sms?>"></textarea> <div> <button type="submit" id="sbm">Оставьте заявку</button> </div> </form> </div> </div> Результат: --- Добавлено --- Это сейчас, если я столкнусь, я решу за минуту. Потому что, уже понимаю ошибку. Просто на локальном, у меня не было этих ошибок. Выявились, когда залил на хост...
Даю процентов 90, что на локалке тоже были эти ошибки, просто они у вас были отключены. Вот скиньте все 3 файла, ради интереса сам проверю как они работают.
v_index.php HTML: <?php include_once('functions.php'); include_once('form.php'); ?> <!DOCTYPE html> <html lang="ru"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width"> <title><?=$title?></title> <link rel="stylesheet" href="css/styles.css"> <script src="https://use.fontawesome.com/62a9cb8dab.js"></script> </head> <body class="site"> <div class="modal"></div> <div class="overlay"></div> <div class="popupcontact"> <div class="wrapper"> <div class="popupcontacttitle" id="about">Оставьте заявку сейчас и получите бесплатную консультацию!</div> <form id="form" method="post" action="form.php" class="popupform"> <input type="text" placeholder="Ваше имя" id="name" name="name" value="<?=$name?>" /> <input type="email" placeholder="Ваша почта" id="email" name="email" value="<?=$email?>" /> <input type="text" placeholder="Ваш Skype" name="skype" value="<?=$skype?>" /> <textarea name="sms" cols="5" rows="10" placeholder="Ваше сообщение" value="<?=$sms?>"></textarea> <div> <button type="submit" id="sbm">Оставьте заявку</button> </div> </form> </div> </div> v_main.php HTML: <?php include_once('functions.php'); include_once('form.php'); ?> <div class="contact"> <div class="wrapper"> <div class="contact-title" id="about">Оставьте заявку сейчас и получите бесплатную консультацию!</div> <form id="mainform" method="post" action="form.php"> <input type="text" placeholder="Ваше имя" id="title" name="name" value="<?=$name?>" /> <input type="email" placeholder="Ваша почта" id="mail" name="email" value="<?=$email?>" /> <input type="text" placeholder="Ваш Skype" name="skype" value="<?=$skype?>" /> <textarea name="sms" cols="30" rows="10" placeholder="Ваше сообщение" value="<?=$sms?>"></textarea> <div> <button type="submit" id="sbmmain">Оставить заявку</button> </div> </form> </div> </div> index.php HTML: <?php include_once('functions.php'); ?> <?php $inner = template('./inner/v_main.php', array()); echo template('./outer/v_index.php', array('title' => 'Главная', 'content' => $inner)); functions.php PHP: <?php function template($filename, $vars = array()){ extract($vars); ob_start(); include($filename); return ob_get_clean(); }
Забыл) Скидываю! form.php HTML: <?php include_once('functions.php'); /* ФИЛТРАЦИЯ ! ! ! */ $to = 'a.kov@gmail.com'; $tema = 'Новое сообщение'; $name = ''; $email = ''; $skype = ''; $sms = ''; $subject = ''; $from = ''; if(!empty($_POST['name'])){$name = strip_tags(trim($_POST['name']));} if(!empty($_POST['email'])){$email = strip_tags(trim($_POST['email']));} if(!empty($_POST['skype'])){$skype = strip_tags(trim($_POST['skype']));} if(!empty($_POST['sms'])){$sms = strip_tags(trim($_POST['sms']));} $message = "Имя пользователя: ".$name."\r\n"; $message .= "Почта: ".$email."\r\n"; $message .= "Skype: ".$skype."\r\n"; $message .= "Сообщение: ".$sms."\r\n"; $tema = "=?utf-8?B?".base64_encode($subject)."?="; $headers = "From: $from\r\nReply-to: $from\r\nContent-type:text/plain; charset=utf-8\r\n"; mail($to, $tema, $message, $headers);
Во первых можете убрать подключения файла include_once('functions.php'); в файлах form.php, v-index.php, v-main.php , так как функции с этого файла там не используются. А во-вторых ошибка из-за использование include_once. Эта функция позволяет подключить файл лишь 1 раз, и этот один раз используется при подключении файла v_main.php PHP: $inner = template('v_main.php', array()); echo template('v_index.php', array('title' => 'Главная', 'content' => $inner)); А затем для файла v_index.php он уже не может подключиться, так как этот шанс подключиться уже использован. По этому замените include_once('form.php') на include('form.php') в v-index.php, v-main.php Должно заработать...
2 дня ошибку не можете прочесть ? если я вам готовый код сразу не пишу - это не значит что ничего не знаю. Тем более самый первый пост практически готовый код был. Но вы упорно продолжаете долбиться в глаза и просить сделать это за вас, прочесть ошибку, найти где она находится , изменить логику своего говнокода. Все что от вас требовал прочтите бляять ошибку, или наймите программиста - ставка 100 руб. Конец
Спасибо тебе огромное!!!! Действительно заработало. Ошибок нет!!! Единственное, что не могу понять... почему на почту не приходят данные? Ведь вроде всё верно. Вот, что я получаю...
Тебе по идее вообще по 2-3 сообщения должно приходить за одну отправку, из которых одно заполнено, а все остальные пустые будут. Проверь еще раз, так и есть?
В семёрке удобно такие вещи делать PHP: <input type="text" placeholder="Ваше имя" id="name" name="name" value="<?=$_POST['name'] ?? '' ?>" /> И ноу проблемс