ФорумПрограммированиеPHP для идиотов → Не могу разобраться с формой связи

Не могу разобраться с формой связи

  • designman

    Сообщения: 99 Репутация: N Группа: Кто попало

    Spritz 31 июля 2008 г. 10:48

    Есть  php'шник:
    <?php
    if (empty($name)) {    $name = 'не указано';  }
    if (empty($mess)) $mess='';
    if (empty($contact)) {    $contact = 'не указан';  }

    $to = "[email protected]";
    $subject = "=?windows-1251?B?" . base64_encode("Сообщение с нашего сайта") . "?=";
    $message = <<< HERE
    <i>Контактное лицо:</i> $name<br /><br />
    $mess<br /><br />
    <i>Контактные данные:</i> $contact<br />
    HERE;
    $name = "=?windows-1251?B?" . base64_encode("$name") . "?=";
    $headers = "MIME-Version: 1.0\n";
    $headers .= "From: " . $name . ">\n";
    $headers .= "Content-Type: text/html; charset=windows-1251\n";
    $headers .= "X-Mailer: PHP/" . phpversion();
    mail ($to,$subject,$message,$headers) or print "Не могу отправить письмо!";
    echo "<center>Ваше сообщение отправлено!";
    print "<script type=\"text/javascript\">setTimeout(\"document.location.href='contact.html'\", 3000);</script>";

    exit;

    ?>


    Письмо им отосланое приходит на почту следующим образом:
    Контактное лицо: Юрий

    Проверка

    Контактные данные: телефон 323


    Обратный адрес пришедшего письма:
    От:   Юрий>


    В чем дело? Что не так? Дело в кодировке? Как сделать универсальную кодировку?

    Можно ли тут:
    print "<script type=\"text/javascript\">setTimeout(\"document.location.href='contact.html'\", 3000);</script>";

    сделать так, чтоб обратно ссылался не на конкретную страницу (в данном случае contact.html), а просто - обратно?
  • md5

    Сообщения: 11960 Репутация: N Группа: в ухо

    Spritz 31 июля 2008 г. 10:51, спустя 2 минуты 47 секунд

    универсальной кодировки нет
    есть юникод
    поэтому делай не windows-1251, а utf-8
    т.е. приходит именно утф


    сделать так, чтоб обратно ссылался не на конкретную страницу (в данном случае contact.html), а просто - обратно?

    $_SERVER['HTTP_REFERER']
    все умрут, а я изумруд
  • designman

    Сообщения: 99 Репутация: N Группа: Кто попало

    Spritz 31 июля 2008 г. 10:59, спустя 8 минут 15 секунд

    print "<script type=\"text/javascript\">setTimeout(\"document.location.href='$_SERVER['HTTP_REFERER']'\", 3000);</script>";

    — так? — ошибка в этой строке!
  • md5

    Сообщения: 11960 Репутация: N Группа: в ухо

    Spritz 31 июля 2008 г. 11:05, спустя 6 минут 3 секунды

    пробуй
    все умрут, а я изумруд
  • designman

    Сообщения: 99 Репутация: N Группа: Кто попало

    Spritz 31 июля 2008 г. 11:16, спустя 11 минут 33 секунды

    говорюж ошибка
  • md5

    Сообщения: 11960 Репутация: N Группа: в ухо

    Spritz 31 июля 2008 г. 11:31, спустя 15 минут 2 секунды

    мне угадать, какая ошибка?
    или у себя этот код отлаживать?
    все умрут, а я изумруд
  • Trej Gun

    Сообщения: 5305 Репутация: N Группа: в ухо

    Spritz 31 июля 2008 г. 11:34, спустя 2 минуты 56 секунд

    '$_SERVER['HTTP_REFERER']'


    кавычки
  • designman

    Сообщения: 99 Репутация: N Группа: Кто попало

    Spritz 31 июля 2008 г. 11:49, спустя 14 минут 41 секунду

    пробовал по всякому кавычуи не проходит

    Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /home/trustur0/public_html/contact.php on line 20
  • Animator

    Сообщения: 194 Репутация: N Группа: Кто попало

    Spritz 31 июля 2008 г. 11:56, спустя 7 минут 13 секунд


    print "<script type=\"text/javascript\">setTimeout(\"document.location.href='$_SERVER['HTTP_REFERER']'\", 3000);</script>";

    — так? — ошибка в этой строке!


     header(sprintf(адрес страницы));
  • Trej Gun

    Сообщения: 5305 Репутация: N Группа: в ухо

    Spritz 31 июля 2008 г. 11:59, спустя 2 минуты 31 секунду

    Animator, ты что снова кукурузу курил?
  • Animator

    Сообщения: 194 Репутация: N Группа: Кто попало

    Spritz 31 июля 2008 г. 12:12, спустя 12 минут 48 секунд

    CTAPbIu_MABP, нет просто опять не туда сунул
  • designman

    Сообщения: 99 Репутация: N Группа: Кто попало

    Spritz 31 июля 2008 г. 12:23, спустя 11 минут

    ))) точно кукуруза — Южно-Американская!
  • sap

    Сообщения: 2701 Репутация: N Группа: Кто попало

    Spritz 31 июля 2008 г. 12:45, спустя 22 минуты 27 секунд

    print "<script type=\"text/javascript\">setTimeout(\"document.location.href='".$_SERVER['HTTP_REFERER']."'\", 3000);</script>";
  • designman

    Сообщения: 99 Репутация: N Группа: Кто попало

    Spritz 31 июля 2008 г. 13:19, спустя 33 минуты 39 секунд

    Оооо! Аааа! Saaaaap! Спасибо! Получилось.
  • designman

    Сообщения: 99 Репутация: N Группа: Кто попало

    Spritz 31 июля 2008 г. 13:23, спустя 4 минуты 26 секунд

    Теперь тока другая проблема.

    <?php
    if (empty($name)) { $name = 'не указано'; }
    if (empty($mess)) $mess='';
    if (empty($contact)) { $contact = 'не указан'; }

    $to = "[email protected]";
    $subject = "=?utf-8?B?" . base64_encode("Сообщение с нашего сайта") . "?=";
    $message = <<< HERE
    <i>Контактное лицо:</i> $name<br />
    $mess<br />
    <i>Контактные данные:</i> $contact
    HERE;
    $name = "=?utf-8?B?" . base64_encode("$name") . "?=";
    $headers = "MIME-Version: 1.0\n";
    $headers .= "From: " . $name . ">\n";
    $headers .= "Content-Type: text/html; charset=utf-8\n";
    $headers .= "X-Mailer: PHP/" . phpversion();
    mail ($to,$subject,$message,$headers) or print "Не могу отправить письмо!";
    echo "<center>Ваше сообщение отправлено!";
    print "<script type=\"text/javascript\">setTimeout(\"document.location.href='".$_SERVER['HTTP_REFERER']."'\", 3000);</script>";



    exit;

    ?>


    Письмо приходит:
    "
    ���������� ����: 454091, Россия, г. Челябинск
    454091, Россия, г. Челябинск
    ���������� ������: 454091, Россия, г. Челябинск
    "

    От кого:
    454091, Россия, г. Челябинск>
    — в конце галочка добавляется.

    Тема тож каракулями.

Пожалуйста, авторизуйтесь, чтобы написать комментарий!