Не работает форма обратной связи

12
S_A_N_T_A
На сайте с 23.11.2009
Offline
154
#11
gribbo:
вот пример проще

Пример не подходит. Нужно чтобы не было перенапрвления, а ответ об успешной отправке выдавался сразу.

---------- Добавлено 26.04.2019 в 15:01 ----------

miketomlin:
В смысле Яндекс.Коннект?

Создать одноименный фантомный ящик на хостинг-площадке (это делается на всяк. случай для «выпуска» отправляемых программно писем). В SPF-записи почтового домена объединить Яшины и свои адреса почтовых серверов. При необходимости добавить свою DKIM-запись и т.п.

---------- Добавлено 26.04.2019 в 14:19 ----------

Надеюсь, в адресе получателя действительно используется Яшин домен. Иначе отправляемые программно письма могут скидываться в фантомный ящик по локалке.

В адресе получателя название@имя-домена-на-котором-находится-форма.ru

M
На сайте с 04.12.2013
Offline
223
#12
S_A_N_T_A:
Оно? ))

Оно :)

Пример не подходит. Нужно чтобы не было перенапрвления, а ответ об успешной отправке

Никто так сейчас не делает. Можно делать редирект на страницу с сообщением об успешной отправке. Или об ошибке. Но сам код у вас – жесть, поэтому не будем обсуждать его структуру.

В адресе получателя название@имя-домена-на-котором-находится-форма.ru

Сделайте пока, как написано в стартовом посте. Потом при необходимости настроите пересылку (форвардинг) или как-нибудь еще будете решать возможную тут проблему.

Вообще сделайте для начала простую отправку, чтобы убедиться, что у вас проблемы именно с отправкой, а не с обвесом. Тестовый код можно взять в моей статье Как сделать отправку письма?

Домены и скрипт для коротких ссылок: https://u75.ru/domains-for-shortcuts
S_A_N_T_A
На сайте с 23.11.2009
Offline
154
#13

Дождусь обновления DNS и попробую совет от miketomlin

Если у кого кто-нибудь есть стоящая форма, буду признателен если укажете путь где взять))

Чтобы без подключения библиотек, без перенаправлений, без капчи, с сообщением об успешной отправке.

Уже форм 50 скачал. Все не то))) Или не работают или не то, что нужно.

S
На сайте с 30.09.2016
Offline
469
#14
S_A_N_T_A:
Если у кого кто-нибудь есть стоящая форма

Вы сначала с отправкой почты разберитесь, потом уже форму будете налаживать.

Отпилю лишнее, прикручу нужное, выправлю кривое. Вытравлю вредителей.
S_A_N_T_A
На сайте с 23.11.2009
Offline
154
#15

Попробовал так, и вызвал файл через браузер - ПИСЕМ НЕТ =(((

<?php
$to='name@namedomain.ru';
$subject='=?utf-8?B?'.base64_encode('Проверка связи').'?=';
$message=chunk_split(base64_encode('Привет. Давай проверим. Это тестовое сообщение!'));
$headers='MIME-Version: 1.0'."\r\n".
'Content-Transfer-Encoding: base64'."\r\n".
'Content-Type: text/plain; charset=utf-8';
mail($to,$subject,$message,$headers);
?>
S
На сайте с 30.09.2016
Offline
469
#16
S_A_N_T_A:
вызвал файл через браузер

Чтобы отделить мух от котлет, нужно было так сделать

if(mail($to,$subject,$message,$headers)) echo "OK";
S_A_N_T_A
На сайте с 23.11.2009
Offline
154
#17
Sitealert:
Чтобы отделить мух от котлет, нужно было так сделать
if(mail($to,$subject,$message,$headers)) echo "OK";

=))))))))))))

Заработало. Видимо DNS Обновились.

Только другой скрипт тестировал.

Теперь продолжаю поиск формы которая необходима.

S_A_N_T_A
На сайте с 23.11.2009
Offline
154
#18

Ребят ВОТ ВАМ форма. Все работает. Все доходит. Без подключения библиотек, без перенаправлений, без капчи, с сообщением об успешной отправке. Просто шик!

ПОМОГИТЕ ПОЖАЛУЙСТА ВЫНЕСТИ PHP В ОТДЕЛЬНЫЙ ФАЙЛ.

Если делаю так, то происходит перенаправление, а нужно, чтобы по прежнему было без перенаправлений:

<form action="send.php" method="post" name="frm_feedback">

ВОТ ВЕСЬ КОД

<?php

$msg_box = ""; // в этой переменной будем хранить сообщения формы

if($_POST['btn_submit']){

$errors = array(); // контейнер для ошибок

// проверяем корректность полей

if($_POST['user_name'] == "") $errors[] = "Поле 'Ваше имя' не заполнено!";

if($_POST['user_email'] == "") $errors[] = "Поле 'Ваш e-mail' не заполнено!";

if($_POST['text_comment'] == "") $errors[] = "Поле 'Текст сообщения' не заполнено!";

// если форма без ошибок

if(empty($errors)){

// собираем данные из формы

$message = "Имя пользователя: " . $_POST['user_name'] . "<br/>";

$message .= "E-mail пользователя: " . $_POST['user_email'] . "<br/>";

$message .= "Текст письма: " . $_POST['text_comment'];

send_mail($message); // отправим письмо

// выведем сообщение об успехе

$msg_box = "<span style='color: green;'>Сообщение успешно отправлено!</span>";

}else{

// если были ошибки, то выводим их

$msg_box = "";

foreach($errors as $one_error){

$msg_box .= "<span style='color: red;'>$one_error</span><br/>";

}

}

}

// функция отправки письма

function send_mail($message){

// почта, на которую придет письмо

$mail_to = "pochta@name.ru";

// тема письма

$subject = "Письмо с сайта";

// заголовок письма

$headers= "MIME-Version: 1.0\r\n";

$headers .= "Content-type: text/html; charset=utf-8\r\n"; // кодировка письма

$headers .= "From: <pocnta@name.ru>\r\n"; // от кого письмо

// отправляем письмо

mail($mail_to, $subject, $message, $headers);

}

?>

<br/>

<?= $msg_box; // вывод сообщений ?>

<br/>

<form action="<?=$_SERVER['PHP_SELF'];?>" method="post" name="frm_feedback">

<label>Ваше имя:</label><br/>

<input type="text" name="user_name" value="<?=($_POST['user_name']) ? $_POST['user_name'] : ""; // сохраняем то, что вводили?>" /><br/>

<label>Ваш e-mail:</label><br/>

<input type="text" name="user_email" value="<?=($_POST['user_email']) ? $_POST['user_email'] : ""; // сохраняем то, что вводили?>" /><br/>

<label>Текст сообщения:</label><br/>

<textarea name="text_comment"><?=($_POST['text_comment']) ? $_POST['text_comment'] : ""; // сохраняем то, что вводили?></textarea>

<br/>

<input type="submit" value="Отправить" name="btn_submit" />

</form>

(Сорри не нашел кнопку, чтобы код был читабельным)

---------- Добавлено 27.04.2019 в 05:33 ----------

И ЕЩЕ ПОЧЕМУ ТО ПОСЛЕ ВЫПОЛНЕНИЯ PHP, В АДРЕСНОЙ СТРОКЕ ДОБАВЛЯЕТСЯ INDEX.PHP

Это реально исправить?

---------- Добавлено 27.04.2019 в 05:40 ----------

А если добавить в htacces вот это, тогда скрипт перестает работать =(

RewriteEngine On

RewriteBase /

Options +FollowSymLinks

#RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ https/

#RewriteRule ^index\.php$ https://site.ru/ [R=301,L]

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/

RewriteRule ^index\.php$ https://site.ru/ [R=301,L]

---------- Добавлено 27.04.2019 в 06:19 ----------

Можеть быть, что хочется это из раздела фантастики и все равно придется библиотеку подгружать?))

Просто оооочень хочется без библиотек =(

---------- Добавлено 27.04.2019 в 07:12 ----------

Пацаны, кажется нашел то, что нужно.

Щас немного переделаю и скину Вам. Вдруг понадобится кому!)

S
На сайте с 30.09.2016
Offline
469
#19
S_A_N_T_A:
не нашел кнопку, чтобы код был читабельным

Написал же выше

Sitealert:
оформляйте код с помощью кнопочки #, читать невозможно.
12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий