Если вам нравится SbUP Форум, вы можете поддержать его - BTC: bc1qppjcl3c2cyjazy6lepmrv3fh6ke9mxs7zpfky0 , TRC20 и ещё....

 

Помогите разобраться со скриптом обратной связи

Автор ВикторияИ, 15-09-2014, 20:07:45

« назад - далее »

ВикторияИTopic starter

Есть скрипт обратной связи: имя, почта и телефон.
Скрипт рабочий,- заполняется форма, отправляется на нужный e-mail, но я хочу добавить в него новое поле,- допустим "текст сообщения" - пробовала несколько вариаций, но ничего не меняется (((

Буду признательна если поможете разобраться чайнику)))
ниже выкладываю рабочий код:
HTML: <form method="post" action="index1.php" name="form1" onsubmit="return validate_form1 ( );">
<input type="text" class="form" name="name" placeholder="ИМЯ"><br>
<input type="text" class="form" name="adress" placeholder="E-MAIL"><br>
<input type="text" class="form" name="phone" placeholder="ТЕЛЕФОН"><br>
<input type="submit" class="submit" name="submit" value="Заказать">


PHP:
<?php /* Здесь проверяется существование переменных */  if (isset($_POST['phone'])) {$phone = $_POST['phone'];} if (isset($_POST['name'])) {$name = $_POST['name'];} if (isset($_POST['adress'])) {$adress = $_POST['adress'];}/* Сюда впишите свою эл. почту */ $address = "vikaivanova19@ya.ru";/* А здесь прописывается текст сообщения, \n - перенос строки */ $mes = "Тема: Заказ обратного звонка!\nТелефон: $phone\nИмя: $name\nE-mail: $adress";/* А эта функция как раз занимается отправкой письма на указанный вами email */$sub='Заказ с сайта'; //сабж$email='<yourdomen.ru>'; // от кого $send = mail ($address,$sub,$mes,"Content-type:text/plain; charset = utf-8\r\nFrom:$email");ini_set('short_open_tag', 'On');header('Refresh: 3; URL=адрес возврата');?>


DOleg

#1
Ещё бы код функции mail() посмотреть...

1. Добавить поле в форму (например tmesssage). Только потом обработать эту переменную, дабы всякую гадость не прислали.
<input type="text" class="form" name="tmesssage" placeholder="Текст сообщения"><br>

2. Добавить параметр $tmesssage в вызове функции mail()
$send = mail($address,$sub,$mes,$tmesssage,"Content-type:text/plain; charset = utf-8\r\nFrom:$email");

3. Добавить входящий параметр $tmesssage в самой функции
function mail($address,$sub,$mes,$tmesssage,...)


ВикторияИTopic starter

#2
Цитата: DOleg от 15-09-2014, 21:57:08Ещё бы код функции mail() посмотреть...

вот полные коды:
PHP
<?php /* Здесь проверяется существование переменных */  if (isset($_POST['phone'])) {$phone = $_POST['phone'];} if (isset($_POST['name'])) {$name = $_POST['name'];} if (isset($_POST['adress'])) {$adress = $_POST['adress'];}/* Сюда впишите свою эл. почту */ $address = "vikaivanova19@ya.ru";/* А здесь прописывается текст сообщения, \n - перенос строки */ $mes = "Тема: Заказ обратного звонка!\nТелефон: $phone\nИмя: $name\nE-mail: $adress";/* А эта функция как раз занимается отправкой письма на указанный вами email */$sub='Заказ с сайта'; //сабж$email='<yourdomen.ru>'; // от кого $send = mail ($address,$sub,$mes,"Content-type:text/plain; charset = utf-8\r\nFrom:$email");ini_set('short_open_tag', 'On');header('Refresh: 3; URL=адрес возврата');?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="refresh" content="3; url=index.html">
<title>С вами свяжутся</title>
<meta name="generator">
<style type="text/css">
body
{
   
   background: #22BFF7 url(img/zakaz.jpg) top -70% center no-repeat;
   
}
</style>
<script type="text/javascript">
setTimeout('location.replace("/index.html")', 3000);
/*Изменить текущий адрес страницы через 3 секунды (3000 миллисекунд)*/
</script>
</head>
<body>lwgkelk2t3egkln
</body>
</html>


и html <html>

<!-- Mirrored from lorameb.su/ by HTTrack Website Copier/3.x [XR&CO'2013], Mon, 16 Dec 2013 20:40:32 GMT -->
<!-- Added by HTTrack --><meta http-equiv="content-type" content="text/html;charset=UTF-8" /><!-- /Added by HTTrack -->
<head>
<title>Офисная Мебель</title>
<link rel="stylesheet" href="style.css">
<script src="../cdnjs.cloudflare.com/ajax/libs/prefixfree/1.0.7/prefixfree.min.js"></script>
<script type="text/javascript">
<!--

function validate_form1 ( )
{
valid = true;

        if ( dоcument.form1.name.value == "" )
        {
                alert ( "Пожалуйста заполните поле 'Имя'." );
                valid = false;
        }
        if ( dоcument.form1.mail.value == "" )
        {
                alert ( "Пожалуйста заполните поле 'e-mail'." );
                valid = false;
        }
        if ( dоcument.form1.phone.value == "" )
        {
                alert ( "Пожалуйста заполните поле 'Телефон'." );
                valid = false;
        }

     
        return valid;
}

//-->
</script>
</head>
<body>

<!-- Yandex.Metrika counter -->
<script type="text/javascript">
(function (d, w, c) {
    (w[c] = w[c] || []).push(function() {
        try {
            w.yaCounter22426003 = new Ya.Metrika({id:22426003,
                    webvisor:true,
                    clickmap:true,
                    trackLinks:true,
                    accurateTrackBounce:true});
        } catch(e) { }
    });

    var n = d.getElementsByTagName("script")[0],
        s = d.createElement("script"),
        f = function () { n.parentNode.insertBefore(s, n); };
    s.type = "text/javascript";
    s.async = true;
    s.src = (d.location.protocol == "https:" ? "https:" : "http:") + "//mc.yandex.ru/metrika/watch.js";

    if (w.opera == "[object Opera]") {
        d.addEventListener("DOMContentLoaded", f, false);
    } else { f(); }
})(dоcument, window, "yandex_metrika_callbacks");
</script>
<noscript><div><img src="http://mc.yandex.ru/watch/22426003" style="position:absolute; left:-9999px;" alt="" /></div></noscript>
<!-- /Yandex.Metrika counter -->

<div class="head">
<a href="#zvonok" class="zvonok">Заказать обратный звонок</a>
</div>









<div class="wall n3">
<div class="center">

<div class="form-con">
<h4>ОСТАВЬТЕ ЗАЯВКУ</h4>
<h5>И получи <span>скидку 15%</span></h5>
<form method="post" action="index1.php" name="form1" onsubmit="return validate_form1 ( );">
<input type="text" class="form" name="name" placeholder="ИМЯ"><br>
<input type="text" class="form" name="adress" placeholder="E-MAIL"><br>
<input type="text" class="form" name="phone" placeholder="ТЕЛЕФОН"><br>

<input type="submit" class="submit" name="submit" value="Заказать">
</form>
<h6>Согласен с использованием моих персональных данных</h6>
</div>
</div>
</div>




<a href="#x" class="overlay" id="zvonok"></a>
<div class="popup" id="zvonok-inner">
<h4>Заказ звонка</h4>
<h5>Оставьте свои данные и мы свяжемся с Вами в ближайшее время!</h5>
<form method="POST" action="index1.php" name="zvon" onsubmit="return validate_zvon ( );">
<input type="text" class="form" name="name" placeholder="ИМЯ"><br>
<input type="text" class="form" name="phone" placeholder="ТЕЛЕФОН"><br>
<input type="submit" class="zvonok" name="submit" value="Заказать звонок">
</form>
</div>

</body>


</html>


Добавлено: 16-09-2014, 08:01:50


Цитата: DOleg от 15-09-2014, 21:57:08Добавить входящий параметр $tmesssage в самой функции

не могу найти эту функцию...

DOleg

Цитата: vikaivanova от 15-09-2014, 22:33:13не могу найти эту функцию...
Прошу прощения за мою невнимательность, это стандартная функция, поэтому и не находите.

После добавления поля (п.1) и параметра (п.2) должно работать.

ВикторияИTopic starter

#4
Цитата: DOleg от 16-09-2014, 10:41:51После добавления поля (п.1) и параметра (п.2) должно работать.

не работает(((

Добавлено: 17-09-2014, 10:21:18


Все сделала - спасибо за помощь!!!

Решение таково:     viktorija писал(а):<input type="text" class="form" name="name" placeholder="ИМЯ"><br>
                    <input type="text" class="form" name="adress" placeholder="E-MAIL"><br>
                    <input type="text" class="form" name="phone" placeholder="ТЕЛЕФОН"><br>



    viktorija писал(а): if (isset($_POST['phone'])) {$phone = $_POST['phone'];}
     if (isset($_POST['name'])) {$name = $_POST['name'];}
     if (isset($_POST['adress'])) {$adress = $_POST['adress'];}



    viktorija писал(а): $mes = "Тема: Заказ обратного звонка!\nТелефон: $phone\nИмя: $name\nE-mail: $adress";


в каждую функцию надо было прописать новое значение...



DOleg

[offtop]
Цитата: mikityak от 20-09-2014, 21:00:41
Сложно  ::)
Вы о чём? Сложно сообщения накручивать?  :)
[/offtop]

ishamshur

Я тоже раньше мучался с этими скриптами, постоянно что-то не работало, то кодировка корявая была, то письма не доставлялись. Сейчас я сделал для себя выбор - использовать готовые онлайн сервисы, для создания форм. Вот здесь http://formdesigner.ru/free-online-form-builder.html?type=feedback я за пару минут создал нужную мне форму обратной связи, с нужными полями, да и еще настроил внешний вид формы в мега крутом редакторе внешнего вида формы. В общем рекомендую попробовать, думаю данный сервис окажется Вам полезным.
  •  


ВикторияИTopic starter

Цитата: ishamshur от 08-10-2014, 12:41:43я за пару минут создал нужную мне форму обратной связи, с нужными полями, да и еще настроил внешний вид формы в мега крутом редакторе внешнего вида формы.
скорее всего там используется их сервер для обработки ПХП, со всеми выходящими последствиями...

уж лучше скачать нормальную форму обратной связи http://www.php-s.ru/sendmail/ и залить ее на свой сайт...

ishamshur

Цитата: vikaivanova от 08-10-2014, 12:49:43
скорее всего там используется их сервер для обработки ПХП, со всеми выходящими последствиями...

какие последствия вы имеете в виду? Зато сервис постоянно развивается и добавляются все новые фичи, которые обычному пользователю будет очень проблематично реализовать. А тут за несколько кликов можно это добавить.

везде есть свои плюсы и минусы, но для тех, кто в этом не очень разбирается - это самое то, ну это мое субъективное мнение.  :)
  •  



Если вам нравится SbUP Форум, вы можете поддержать его - BTC: bc1qppjcl3c2cyjazy6lepmrv3fh6ke9mxs7zpfky0 , TRC20 и ещё....