Помощник
|
Форма обратной связи, Всё отправляется, а письмо не приходит... |
bcom_hb
|
Сообщение
#1
|
||
|
|
||
|
|||
LifeUP |
27.12.2010, 13:15;
Ответить: LifeUP
Сообщение
#2
|
|
попробуй, если отправит то подставь просто свои данные.
[PHP] <form action="" method="post"> ФИО: <input type="text" name="fio" maxlength="150" /><br /> Адрес: <textarea name="adres" cols="75" rows="4"></textarea><br /> Ваш E-mail: <input type="text" name="email" maxlength="50" /><br /> <input type="submit" name="submit" value="Отправить" /> </form> <?php $info = ''; if (isset ($_POST['submit'])) { $fio = isset ($_POST['fio']) ? htmlspecialchars (trim ($_POST['fio'])) : ''; $adres = isset ($_POST['adres']) ? htmlspecialchars (trim ($_POST['adres'])) : ''; $email = isset ($_POST['email']) ? trim ($_POST['email']) : ''; if (strlen ($fio) < 3 || strlen ($fio) > 150) { $info = 'Фамилия может содержать от 3 до 150 символов'; } elseif (strlen ($adres) < 3 || strlen ($adres) > 1000) { $info = 'Адрес может содержать от 3 до 1000 символов'; } elseif (!check_email ($email)) { $info = 'Email введен не верно'; } if (empty ($info)) { $komu = 'ghtpp@mail.ru'; $tema = 'Тема письма'; $mag = 'Фамилия: ' . $fio . '<br />Адрес: ' . $adres . '<br />Email: ' . $email; if (mail ($komu, $tema, $msg)) { $info = 'Отпарвлено'; } else { $info = 'Ошибка'; } } } function check_email ($email) { if (preg_match ('/^([a-z0-9]([\-\_\.]*[a-z0-9])*)+@([a-z0-9]([\-]*[a-z0-9])*\.)+[a-z]{2,6}$/i', $email)) { return true; } else { return false; } } echo $info; ?> [/PHP] P.S а вообще для нормальной отправки сообщений используй http://phpmailer.worxware.com/index.php |
|
|
bcom_hb
|
Сообщение
#3
|
|
не, не работает что-то...
Даже не отправляет... Странно, по коду всё логично! |
|
|
MetSerp |
27.12.2010, 16:30;
Ответить: MetSerp
Сообщение
#4
|
|
говорит что отправила но письма нет?
Если да то может быть как минимум 2 варианта 1 у хостера отключена функция mail решение, только либо говорить с хостером о ее включении либо менять хостинг 2 если вы это тестируете на денвере, то там стоит заглушка и все письма падают в папку sendmail точное местоположение ее в папке денвера не помню но где то неглубоко. |
|
|
bcom_hb
|
Сообщение
#5
|
|
Локально не тестирую, тестирую сразу на хостинге, гдё уже разместил 14 сайтов за этот год и все с формами обратной связи.
Что за mail решение? Я думаю, что достаточно чтобы php4 или php5 поддерживал? Ну вот собственно заготовка самого сайта www.sunkafe.ru |
|
|
MetSerp |
27.12.2010, 16:38;
Ответить: MetSerp
Сообщение
#6
|
|
bcom, еще забыл, если вы копировали код LifeUP, прямо отсюда то почистите его от того что в него напихал форум, если точнее то вот этот момент
<span> ********$komu = '<a class="linkclass" href="mailto:ghtpp@mail.ru">ghtpp@mail.ru</a>';</span> span там ненужен и обертка в ссылочный тег тоже ненужна, то есть вот так $komu = ghtpp@mail.ru; вместо всего того балагана |
|
|
MetSerp |
27.12.2010, 16:41;
Ответить: MetSerp
Сообщение
#7
|
|
Что за mail решение? это у меня пунктуация контузилась еще больше, там точка между mail и решение должна быть :) некоторые тарифные планы или хостеры в целом вырубают функцию mail() по средством которой вы пытаетесь отправить письмо, потому она может не работать даже при правильном коде |
|
|
bcom_hb
|
Сообщение
#8
|
|
bcom, еще забыл, если вы копировали код LifeUP, прямо отсюда то почистите его от того что в него напихал форум, если точнее то вот этот момент span там ненужен и обертка в ссылочный тег тоже ненужна, то есть вот так $komu = ghtpp@mail.ru; вместо всего того балагана Спасибо, почищу код, но что-то мне подсказывает, что ни "спан", ни "обёртка" не могут влиять на передачу, точнее могут, но выдавалась бы просто ошибка в определённой строке. А так ни ошибок, ни письма на почте *-( |
|
|
LifeUP |
27.12.2010, 16:55;
Ответить: LifeUP
Сообщение
#9
|
|
воспользуйтесь тем скриптом на который я дал ссылку, там есть возможность отправки через smpt. Да и намного удобен он.
|
|
|
Semenovich |
3.1.2011, 10:17;
Ответить: Semenovich
Сообщение
#10
|
|
|
[PHP] <?php
$q=$_POST['q']; if ($q) { $name=$_POST['name']; $email=$_POST['email']; $subject=$_POST['subject']; $message=$_POST['message']; // принимаем данные из формы для обработки $address="напиши сюда свой майл";// ваш адрес на который будут отсылатся письма из формы обратной связи if ($name && $email && $message) // проверяем заполнены ли все обезятельные поля { $message="$name прислал вам сообщение, его email: $email. Тема письма: $subject \n Текст сообщения: \n $message"; $mail = mail($address, $subject, $message, "Content-type:text/plain; charset = windows-1251\r\nFrom:$address"); } } $q=$_POST['q']; if ($q) { $name=$_POST['name']; $email=$_POST['email']; $subject=$_POST['subject']; $message=$_POST['message']; // принимаем данные из формы для обработки $address="напиши сюда свой второй майл";// ваш адрес на который будут отсылатся письма из формы обратной связи if ($name && $email && $message) // проверяем заполнены ли все обезятельные поля { $message="$name прислал вам сообщение, его email: $email. Тема письма: $subject \n Текст сообщения: \n $message"; $mail = mail($address, $subject, $message, "Content-type:text/plain; charset = windows-1251\r\nFrom:$address"); } } ?>[/PHP] попробуй эту форму. создай отдельный php файл и назови его допустим post.php и внеси туда эти данные и впиши в нужные места два разных ящика. это инклюд. а вот форма для этого инклюда:[PHP]<?php include("post.php"); ?> <form action="" method="post"> <p> </p> <table width="" align="center"> <tr> <td> <div class="nev"><p>Ваше имя*</p></div> </td> <td> <input type="text" name="name"> </td> </tr> <tr> <td> <div class="nev"><p>Ваш еmail*</p></div> </td> <td> <input type="text" name="email"> </td> </tr> <tr> <td> <div class="nev"><p>Тема письма</p></div> </td> <td> <input type="text" name="subject"> </td> </tr> <tr> <td valign="top"> <div class="nev"><p>Сообщение*</p></div> </td> <td> <textarea name="message"> </textarea> </td> </tr> <tr> <td> <div class="nev"><p><input type="submit" value="Отправить" align="right"></p></div> </td> </tr> <tr> <td colspan=2> <?php if ($q) { if (!$name || !$email || !$message) echo "Пожалуйста, заполните все обезятельные поля"; // проверка заполнены ли все обезятельные поля для отправки сообщения + вывод ошибки. else if ($mail) echo "Письмо успешно отправлено"; } ?> [/PHP]
|
|
|
||
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последний ответ | |
---|---|---|---|---|---|
Быстрый старт - Всё о накрутке пф за 7 минут | 6 | waterworld | 2275 | 13.2.2024, 20:08 автор: Думающий |
|
Adsense всё. Как монетизировать трафик из рф? | 33 | Porsche | 5901 | 23.5.2022, 21:38 автор: kuprum |
|
Принимаю заказы на копирайтинг, рерайтинг. Стабильно работаю, всегда на связи Нужен автор текстов, копирайтер? Обращайтесь |
14 | KriptoFin | 8015 | 22.9.2020, 18:07 автор: mrSana |
|
Нужен простой лендинг с формой обратной связи | 10 | Kuzzma | 2561 | 11.9.2020, 21:33 автор: Kuzzma |
|
Скрипт на сайте отсылает письмо, а почтовик сайта на сервере пересылать не хочет | 3 | master-vek | 1761 | 17.7.2020, 16:47 автор: DF™ |
Текстовая версия | Сейчас: 29.3.2024, 9:14 |