форма обратной связи с правильной кодировкой

Discussion in 'PHP' started by -slim-, 21 Oct 2010.

  1. -slim-

    -slim- Elder - Старейшина

    Joined:
    25 May 2007
    Messages:
    99
    Likes Received:
    12
    Reputations:
    0
    форма, три поля
    летят три переменные
    $name, $email, $message

    проблема с кодировкой
    как сделать чтоб принимало и windows-1281 и UTF-8
    на определенное мыло

    короче, как мне нарисовать обработчик?

    думал через функцию mail();

    Code:
    $to = "fuck@fuck.ua"; // my mail
    $subject = "Сообщение с вашего сайта"; 
    $message = "Имя пославшего: $name, Электронный адрес: $email, Сообщение: $message, IP-адрес:$REMOTE_ADDR"; 
    mail ($to, $subject, $message) or print "Не могу отправить письмо!";
    
    Но там проблемы с кодировкой

    Мне нужна самая простая форма обратной связи с правильной кодировкой

    И если можно, то чтоб при обновлении обработчика еще раз - письма не дублировались ибо заспамить же можно
     
  2. -slim-

    -slim- Elder - Старейшина

    Joined:
    25 May 2007
    Messages:
    99
    Likes Received:
    12
    Reputations:
    0
    актуально
     
  3. -=Zhenek=-

    -=Zhenek=- Elder - Старейшина

    Joined:
    31 Dec 2007
    Messages:
    271
    Likes Received:
    77
    Reputations:
    1
    Зачем 2 ? Браузер ведомый он ставит то,что говорит сервер и в странице указано.

    Выберем UTF-8

    PHP:
    $headers .= "Content-type: text/plane; charset=\"UTF-8\" \r\n"
    $to "fuck@fuck.ua"// my mail
    $subject "Сообщение с вашего сайта"
    $message "Имя пославшего: $name, Электронный адрес: $email, Сообщение: $message, IP-адрес:$REMOTE_ADDR"
    mail ($to$subject$message$headers) or print "Не могу отправить письмо!";

    В заголовок говорим кодировку. (п.с с писмьмом и что слатьс ам разберешься)

    Можешь еще создать фаил .htaccess

    и написать туда : AddDefaultCharset utf8

    И тогда страница должна быть сохранена в УТФ-8

    И поставь капчу,чтоб не заспамили.

    Если сайт в win1251 то все что я написал измени с utf8 на win1251
    не получится пиши, разберем дальше
     
    #3 -=Zhenek=-, 22 Oct 2010
    Last edited: 22 Oct 2010
    1 person likes this.
  4. TreV@N

    TreV@N Elder - Старейшина

    Joined:
    14 Jul 2008
    Messages:
    135
    Likes Received:
    48
    Reputations:
    19
    Попробуй использовать функцию iconv().
    Например:
    PHP:
    $to "fuck@fuck.ua"// my mail
    $subject "Сообщение с вашего сайта"
    $message "Имя пославшего: $name, Электронный адрес: $email, Сообщение: $message, IP-адрес:$REMOTE_ADDR"
    $body iconv("UTF-8""KOI8-R"$message); //
    mail ($to$subject$body) or print "Не могу отправить письмо!";
     
    Cинтаксис
    PHP:
    iconv"из_какой_кодировки""в_какую""что_конвертировать");
     
    1 person likes this.