BG Development


Страници: (2) [1] 2   ( Първото ново мнение ) Reply to this topicStart new topicStart Poll

> Контактна форма - кодировка..., въпросителни в пощата
alexer
Публикувано на: 15-07-2014, 07:26
Quote Post



Име: Александър
Група: Потребител
Ранг: Новопостъпил

Мнения: 8
Регистриран на: 15.07.08



Извинявам се, обърках раздела, но сутрин е простимо. icon_rolleyes.gif

Здравейте,
мъча са се една контактна форма от вчера, но без успех. icon_confused.gif
Проблемът е, че полученият имейл идва с въпросителни. В webmail всичко идва с въпросителни, в abv.bg само относно и заглавието.
Иначе в страницата си извежда нормално информацията, че имейлът е изпратен успешно или за непопълнено поле.
Страницата, в която се намира контактната форма е с кодировка:
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />

А това е самият код на контактната форма:
CODE
<?php
$action=$_REQUEST['action'];
if ($action=="")    /* display the contact form */
   {
   ?>
   <form  action="" method="POST" enctype="multipart/form-data">
   <input type="hidden" name="action" value="submit">
   Вашето име:<br>
   <input name="name" type="text" value="" size="30"/><br>
   Вашият имейл:<br>
   <input name="email" type="text" value="" size="30"/><br>
   Съобщение:<br>
   <textarea name="message" rows="7" cols="30"></textarea><br>
   <input type="submit" value="Изпращане"/>
   </form>
   <?php
   }
else                /* send the submitted data */
   {
   $name=$_REQUEST['name'];
   $email=$_REQUEST['email'];
   $message=$_REQUEST['message'];
   if (($name=="")||($email=="")||($message==""))
       {
       echo "Всички полета са задължителни, моля попълнете ги.";
       }
   else{
       $from="From: $name<$email>\r\nReturn-path: $email";
       $subject="От контактна форма";
       mail("moiatemail@abv.bg", $subject, $message, $from);
       echo "Съобщението е изпратено успешно!";
       }
   }  
?>


Някой може ли да удари едно рамо как да се коригира този проблем?
Благодаря предварително и хубав ден!

Това мнение е било редактирано от alexer на 15-07-2014, 07:28

Прикачена картинка
Прикачена картинка
PMEmail Poster
Top
Delegate
Публикувано на: 15-07-2014, 07:32
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 1392
Регистриран на: 30.05.09



Пробвай с
CODE
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
PMEmail Poster
Top
alexer
Публикувано на: 15-07-2014, 07:43
Quote Post



Име: Александър
Група: Потребител
Ранг: Новопостъпил

Мнения: 8
Регистриран на: 15.07.08



Да, така става, но проблемът е че сайтът е написан целият в 1251 и останалите, работи, които се "извикват" на страницата ставата те на въпросителни. Има ли някакъв вариант, при който само на контактната форма да се зададе кодировката?

Това мнение е било редактирано от alexer на 15-07-2014, 07:43
PMEmail Poster
Top
Lachezar
Публикувано на: 15-07-2014, 09:29
Quote Post



Име: Лъчезар Добрев
Група: Потребител
Ранг: Почетен член

Мнения: 2626
Регистриран на: 10.11.04



Пробвай на елемента <form> да му добавиш атрибут accept-charset="CP-1251 WINDOWS-1251".


--------------------
И'м ватцхинг ъоу...
PMUsers Website
Top
kapitancho
Публикувано на: 15-07-2014, 09:40
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 1026
Регистриран на: 26.02.05



Оплави си сайта. Никой не ползва 1251 от много години.


--------------------
®...¢↓"←—¬ªº±£™×÷⁄...©
PMEmail Poster
Top
alexer
Публикувано на: 15-07-2014, 09:45
Quote Post



Име: Александър
Група: Потребител
Ранг: Новопостъпил

Мнения: 8
Регистриран на: 15.07.08



За съжаление сайтът не е мой и няма как да го направя на UTF 8, иначе би било най-правилното.

Добавих го, резултатът за съжаление е същият.

С добавения атрибут:
CODE
<?php
$action=$_REQUEST['action'];
if ($action=="")    /* display the contact form */
  {
  ?>
  <form accept-charset="CP-1251 WINDOWS-1251" action="" method="POST" enctype="multipart/form-data">
  <input type="hidden" name="action" value="submit">
  Вашето име:<br>
  <input name="name" type="text" value="" size="30"/><br>
  Вашият имейл:<br>
  <input name="email" type="text" value="" size="30"/><br>
  Съобщение:<br>
  <textarea name="message" rows="7" cols="30"></textarea><br>
  <input type="submit" value="Изпращане"/>
  </form>
  <?php
  }
else                /* send the submitted data */
  {
  $name=$_REQUEST['name'];
  $email=$_REQUEST['email'];
  $message=$_REQUEST['message'];
  if (($name=="")||($email=="")||($message==""))
      {
      echo "Всички полета са задължителни, моля попълнете ги.";
      }
  else{
      $from="From: $name<$email>\r\nReturn-path: $email";
      $subject="От контактна форма";
      mail("moiatemail@abv.bg", $subject, $message, $from);
      echo "Съобщението е изпратено успешно!";
      }
  }  
?>


Това мнение е било редактирано от alexer на 15-07-2014, 09:49
PMEmail Poster
Top
Replace
Публикувано на: 15-07-2014, 09:46
Quote Post



Име: Златко
Група: Потребител
Ранг: Активен

Мнения: 171
Регистриран на: 31.01.09



QUOTE
mail("moiatemail@abv.bg", $subject, $message, $from);

Във $from може да зададеш и енкодинг на мейла, виж примерите малко по-надолу в страницата.

Това мнение е било редактирано от Replace на 15-07-2014, 09:48
PMUsers WebsiteICQ
Top
Lachezar
  Публикувано на: 15-07-2014, 10:41
Quote Post



Име: Лъчезар Добрев
Група: Потребител
Ранг: Почетен член

Мнения: 2626
Регистриран на: 10.11.04



Ах! Проблемът е бил при изпращане на поща?
http://php.net/manual/en/function.mail.php#108368
Трябва при изпращането да обявиш какво кодиране използва пощата.
CODE
else {
 $headers = array();
 $headers[] = "From: $name <$email>"; // Може да се наложи името да се кодира подобно на subject
 $headers[] = "Return-Path: $email";
 $headers[] = "Content-Type: text/plain; charset=windows-1251";
 $subject = "=?windows-1251?B?".base64_encode("От контактна форма")."?=";
 mail("moiatemail@abv.bg", $subject, $message, implode("\r\n", $headers));
 echo "Съобщението е изпратено успешно!";
}


Редакция: Изглежда CP-1251 не трябва да се използва, а трябва да се използва windows-1251 вместо това.

Това мнение е било редактирано от Lachezar на 15-07-2014, 10:47


--------------------
И'м ватцхинг ъоу...
PMUsers Website
Top
alexer
Публикувано на: 15-07-2014, 10:55
Quote Post



Име: Александър
Група: Потребител
Ранг: Новопостъпил

Мнения: 8
Регистриран на: 15.07.08



Благодаря ви много за помощта. Специални благодарности на @Lachezar, с този код всичко работи идеално.
Ако си от Пловдив, или ако имаш път към тук, имам да те черпя кола, бира, кафе или по избор. icon_smile.gif

Хубав ден ви пожелавам,
Александър!
PMEmail Poster
Top
IndigoBG
Публикувано на: 29-08-2017, 16:56
Quote Post



Име:
Група: Потребител
Ранг: Новопостъпил

Мнения: 3
Регистриран на: 29.08.17



Здравейте, тествах с кода от по-горе и не получавам никакъв имейл, пробвах и с други кодове, които би трябвало да работят, но въпреки това не получавам имейли. Използвах абв и гмаил. Някой има ли идея къде може да е причината, ако формите работят?
PMEmail Poster
Top
1 потребители преглеждат тази тема в момента (1 гости, 0 анонимни потребители)
Потребители, преглеждащи темата в момента:

Topic Options Страници: (2) [1] 2  Reply to this topicStart new topicStart Poll

 


Copyright © 2003-2015 | BG Development | All Rights Reserved
RSS 2.0