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

Тема в разделе "Коммерческие", создана пользователем crashvlad, 2 апр 2009.

Информация :
Публиковать (для всех) нуленые версии, особенно от modulesgarden КАТЕГОРИЧЕСКИ не стоит. Тема мониторится оным разработчиком, а к нам приходят абузы которые нельзя игнорировать.
Статус темы:
Закрыта.
Модераторы: Amazko, Aste
  1. crashvlad

    crashvlad Постоялец

    Регистр.:
    2 фев 2008
    Сообщения:
    138
    Симпатии:
    105
    Друг попросил поставить ему форму обратной связи, нашел, уже не помню где, поставил, все красиво, письма отправляет, но письмо приходит абсолютно пустое.

    вот код этой формы:

    код, который стоит на странице сайта:


    <form action="email.php" name=mailer><table align=center>
    <tr><td class=leftext>Ваши имя и фамилия</td><td><input type=text name=name size=30 maxlength=50 class=pochta></td></tr>
    <tr><td class=leftext>Личный / регистрационный код</td><td><input type=text name=isikukood size=30 maxlength=50 class=pochta></td></tr>
    <tr><td class=leftext>Ваш телефон</td><td><input type=text name=telefon size=30 maxlength=50 class=pochta></td></tr>
    <tr><td class=leftext>Ваш е-mail</td><td><input type=text name=email size=30 maxlength=50 class=pochta></td></tr>
    <tr><td class=leftext>Марка автомобиля</td><td><input type=text size=30 maxlength=50 name=marka class=pochta></td></tr>
    <tr><td class=leftext>Модель</td><td><input type=text size=30 maxlength=50 name=mudel class=pochta></td></tr>
    <tr><td class=leftext>Год выпуска</td><td><input type=text size=30 maxlength=50 name=aasta class=pochta></td></tr>
    <tr><td class=leftext>Топливо</td><td><input type=text size=30 maxlength=50 name=kutus class=pochta></td></tr>
    <tr><td class=leftext>КПП</td><td><input type=text size=30 maxlength=50 name=korobka class=pochta></td></tr>
    <tr><td class=leftext>Желаемая сумма кредита</td><td><input type=text size=30 maxlength=50 name=summa class=pochta></td></tr>
    <tr><td class=leftext>Желаемый срок кредита</td><td><input type=text size=30 maxlength=50 name=srok class=pochta></td></tr>
    <tr><td class=leftext></td><td><input value="отправить" type=submit class=butn></td></tr></table></form>

    код файла email.php:


    <!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 name="keywords" content="autopandimaja"/>
    <meta name="description" content="laen auto tagatisel, "/>
    <meta name="robots" content="index, follow"/>
    <title>Имя сайта - Запрос</title>



    <?
    $br = "мыло.eu";
    mail("info@$br", "письмо с сайта", " от $name
    имя и фамилия: $name
    личный код: $isikukood
    телефон: $telefon
    email-отправителя: $email
    Марка автомобиля: $marka
    Модель: $mudel
    Год выпуска: $aasta
    Топливо: $kutus
    КПП: $korobka
    Желаемая сумма кредита: $summa
    Желаемый срок кредита: $srok",
    "From: <$email>\nContent-type: text/plain; charset=utf-8");
    echo "<br><br><center>Ваше письмо отправлено успешно.<br><br><a href='javascript:history.back()'>НАЗАД</a> "

    в итоге, когда заполняешь форму на сайте, приходит письмо, в котором написано только:


    имя и фамилия:
    личный код:
    телефон:
    email-отправителя:
    Марка автомобиля:
    Модель:
    Год выпуска:
    Топливо:
    КПП:
    Желаемая сумма кредита:
    Желаемый срок кредита:


    а то, что вписывает человек, этого нет. Помогите, пожалуйста,кто знает, в чем проблема.
     
  2. tirrex

    tirrex

    Регистр.:
    9 ноя 2008
    Сообщения:
    213
    Симпатии:
    60
    видимо выключен Register Globals
    в этом случает переменные нужно доставать из соответствующего массива
    $_GET['variable']
     
  3. crashvlad

    crashvlad Постоялец

    Регистр.:
    2 фев 2008
    Сообщения:
    138
    Симпатии:
    105
    а можешь точнее подсказать, что и куда добавить, т.к. сам не специалист в этом?))))
     
  4. tirrex

    tirrex

    Регистр.:
    9 ноя 2008
    Сообщения:
    213
    Симпатии:
    60
    а я и так и сделал :)

    например
    вместо переменной $aasta
    должно быть $_GET['$aasta']

    кстати еще есть соображение: мне кажется Вам, при таком количестве и типе передаваемых в скрипт данных, лучше пользоваться POST методом
     
    crashvlad нравится это.
  5. crashvlad

    crashvlad Постоялец

    Регистр.:
    2 фев 2008
    Сообщения:
    138
    Симпатии:
    105
    а можно поподробнее насчет этого?

    попробовал поменять переменные в email.php, как вы и посоветовали, но результат это не дало((((
     
  6. tirrex

    tirrex

    Регистр.:
    9 ноя 2008
    Сообщения:
    213
    Симпатии:
    60
    ок, подробнее
    если в теге form не указать свойство method - он принимает значение get
    т.е. все переменные формы будут переданы через URL примерно таким образом:
    email.php?name=Vasiliy&isikukood=12564631... и т.д.
    естественно, что в таком случае имеются существенные ограничения на общую длину передаваемых данных - это всего лишь максимальная длина URL (для разных версий браузеров - разная: от 255 до 2048 символов) при методе post - информация передается в теле запроса, и здесь возможности гораздо шире и достаточны для большинства задач, хотя также не безграничны (макс. размер передаваемых данных определяется настройками сервера)
    Есть и другие факторы - информацию об этом легко найти в поиске

    в вашей форме попробуйте так: в тэг form добавить строку method=post
    и соответственно переменные в email доставайте уже из $_POST['variable']
    все должно работать :)
     
    crashvlad нравится это.
  7. crashvlad

    crashvlad Постоялец

    Регистр.:
    2 фев 2008
    Сообщения:
    138
    Симпатии:
    105
    добавил строчку в код:

    <form action="email.php" method=post name=mailer><table align=center>
    <tr><td class=leftext>Ваши имя и фамилия</td><td><input type=text name=name size=30 maxlength=50 class=pochta></td></tr>
    <tr><td class=leftext>Личный / регистрационный код</td><td><input type=text name=isikukood size=30 maxlength=50 class=pochta></td></tr>
    <tr><td class=leftext>Ваш телефон</td><td><input type=text name=telefon size=30 maxlength=50 class=pochta></td></tr>
    <tr><td class=leftext>Ваш е-mail</td><td><input type=text name=email size=30 maxlength=50 class=pochta></td></tr>
    <tr><td class=leftext>Марка автомобиля</td><td><input type=text size=30 maxlength=50 name=marka class=pochta></td></tr>
    <tr><td class=leftext>Модель</td><td><input type=text size=30 maxlength=50 name=mudel class=pochta></td></tr>
    <tr><td class=leftext>Год выпуска</td><td><input type=text size=30 maxlength=50 name=aasta class=pochta></td></tr>
    <tr><td class=leftext>Топливо</td><td><input type=text size=30 maxlength=50 name=kutus class=pochta></td></tr>
    <tr><td class=leftext>КПП</td><td><input type=text size=30 maxlength=50 name=korobka class=pochta></td></tr>
    <tr><td class=leftext>Желаемая сумма кредита</td><td><input type=text size=30 maxlength=50 name=summa class=pochta></td></tr>
    <tr><td class=leftext>Желаемый срок кредита</td><td><input type=text size=30 maxlength=50 name=srok class=pochta></td></tr>
    <tr><td class=leftext></td><td><input value="отправить" type=submit class=butn></td></tr></table></form>

    в сам файл email.php поменял код на:

    <?
    $br = "мыло.eu";
    mail("info@$br", "письмо с сайта", " от _POST['$name']
    имя и фамилия: _POST['$name']
    личный код: _POST['$isikukood']
    телефон: _POST['$telefon']
    email-отправителя: _POST['$email']
    Марка автомобиля: _POST['$marka']
    Модель: _POST['$mudel']
    Год выпуска: _POST['$aasta']
    Топливо: _POST['$kutus']
    КПП: _POST['$korobka']
    Желаемая сумма кредита: _POST['$summa']
    Желаемый срок кредита: _POST['$srok']
    ",
    "From: <$email>\nContent-type: text/plain; charset=utf-8");
    echo "<br><br><center>Ваше письмо отправлено успешно.<br><br><a href='javascript:history.back()'>НАЗАД</a> "
    ?>

    на сайте вбил все данные в строки и в итоге получил письмо на почту:

    _POST['']
    : _POST['']
    : _POST['']
    : _POST['']
    email-: _POST['']
    : _POST['']
    : _POST['']
    : _POST['']
    : _POST['']
    : _POST['']
    : _POST['']
    : _POST['']
     
  8. Dj_StelS

    Dj_StelS

    Регистр.:
    9 янв 2009
    Сообщения:
    349
    Симпатии:
    79
    $_POST а не просто _POST
     
    crashvlad нравится это.
  9. crashvlad

    crashvlad Постоялец

    Регистр.:
    2 фев 2008
    Сообщения:
    138
    Симпатии:
    105
    попробовал, но после нажатия кнопки Отправить вылазит такая ошибка:

    Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /home/xxxxxxx/public_html/xxxxxxxxxx.ee/rus/email.php on line 15
     
  10. tirrex

    tirrex

    Регистр.:
    9 ноя 2008
    Сообщения:
    213
    Симпатии:
    60
    crashvlad, извиняюсь пропустил $
    действительно нужно так: $_POST['name']
    уберите знак $ из имени переменной в []
     
    crashvlad нравится это.
Статус темы:
Закрыта.