Автор Тема: Проблем с йероглифи майл форма.  (Прочетена 3678 пъти)

0 Потребители и 1 Гост преглежда(т) тази тема.

marconi

  • Newbie
  • *
  • Благодарности
  • -Казани: 0
  • -Получени: 0
  • Публикации: 1
Проблем с йероглифи майл форма.
« -: 01 Октомври 2020, 14:25:14 »
Това е кодът, като се получи на абв.бг се появяват йероглифи.
Благодаря ви предварително за помощта.

Код: PHP
  1. $mailto = "test@test.com";
  2. $subject = "Otnostno zapitvane";
  3. $message = "Tova e zapitvane ot:";
  4. $headers .= "MIME-Version: 1.0\n";
  5. $headers .= "Content-type: text/plain; charset=utf-8\n";
  6. $headers = "From: ".$_POST['email'];
  7. foreach ($_POST as $key => $value) {
  8.     if (!is_array($value)) {
  9.         $message .= "\n".$key." : ".$value;
  10.     }
  11.     else {
  12.         foreach ($_POST[$key] as $itemvalue) {
  13.             $message .= "\n".$key." : ".$itemvalue;
  14.         }
  15.     }
  16. }
  17. mail($mailto, $subject, stripslashes($message), $headers);
  18. ?>
« Последна редакция: 20 Октомври 2020, 14:08:05 от Avalanche »

pikefisher

  • Jr. Member
  • **
  • Благодарности
  • -Казани: 6
  • -Получени: 0
  • Публикации: 51
Re: Проблем с йероглифи майл форма.
« Отговор #1 -: 06 Октомври 2020, 00:11:15 »
Здравей!
На PHP не съм писал от години и тук ще "стрелям в тъмното", но виж функцията mail в PHP manual https://www.php.net/manual/en/function.mail.php:
"Multiple extra headers should be separated with a CRLF (\r\n)", да не би да не ти зачита header-ите.
Гледам, че според спецификацията header-и може да се подадат и като масив, не е нужно ти да ги форматираш, пробвай така. Най-вероятно, не е в това проблемът, но с това мога да помогна. А е възможно и abv.bg да имат проблеми - те отдавна се славят като доста несигурна поща.

Данаил Рабаджийски

  • Hero Member
  • *****
  • Благодарности
  • -Казани: 57
  • -Получени: 106
  • Публикации: 1444
    • DanailDR.EU
Re: Проблем с йероглифи майл форма.
« Отговор #2 -: 24 Декември 2020, 20:12:28 »
Това е кодът, като се получи на абв.бг се появяват йероглифи.
Благодаря ви предварително за помощта.

Код: PHP
  1. $mailto = "test@test.com";
  2. $subject = "Otnostno zapitvane";
  3. $message = "Tova e zapitvane ot:";
  4. $headers .= "MIME-Version: 1.0\n";
  5. $headers .= "Content-type: text/plain; charset=utf-8\n";
  6. $headers = "From: ".$_POST['email'];
  7. foreach ($_POST as $key => $value) {
  8.     if (!is_array($value)) {
  9.         $message .= "\n".$key." : ".$value;
  10.     }
  11.     else {
  12.         foreach ($_POST[$key] as $itemvalue) {
  13.             $message .= "\n".$key." : ".$itemvalue;
  14.         }
  15.     }
  16. }
  17. mail($mailto, $subject, stripslashes($message), $headers);
  18. ?>

Май малко късно но ....

на ред 6 презаписваш променливата headers, а на предните редове само добавяш към нея допълнителен текст, може би ако поставиш една точка преди знака = ще се получат нещата.
Закона на Мърфи е: Точното определение и логичното по-нататъшно развитие на общото ентропично учение, според което всички частички във вселената се стремят да се подредят във възможно най-голям безпорядък. Познанието, че на път за там споменатите частички поне веднъж ти се изпречват в краката.