Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.08.2014, 21:14   #1
danilkins
Пользователь
 
Регистрация: 02.12.2013
Сообщений: 11
Восклицание Форма обратной связи присылает кракозябры

Помогите. Отправляю с формы а на почту приходит это:
Цитата:
Новый запрос!

E-mail: mail@mail.ru
�мя: 868686868

Телефон:88004588585


Вот скрипт.



contact.php
-----------
PHP код:
<?php
$post 
= (!empty($_POST)) ? true false;
if(
$post)
{
$email trim($_POST["email"]);
$name htmlspecialchars($_POST["name"]);
$email htmlspecialchars($_POST["email"]);
$tel htmlspecialchars($_POST["tel"]);
$error "";
if(!
$name)
{
$error .= "Пожалуйста введите имя. ";
}
// Check email
function ValidateEmail($value)
{
$regex "/^([a-zA-Z0-9])+([\.a-zA-Z0-9_-])*@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-]+)*\.([a-zA-Z]{2,6})$/";
if(
$value == "") {
return 
false;
} else {
$string preg_replace($regex""$value);
}
return empty(
$string) ? true false;
}
if(!
$email)
{
$error .= "Пожалуйста введите e-mail. ";
}
if(
$email && !ValidateEmail($email))
{
$error .= "Введите корректный e-mail.<br />";
}
// Check tel
function ValidateTel($valueTel)
{
$regexTel "/^[0-9]{7,12}$/";
if(
$valueTel == "") {
return 
false;
} else {
$string preg_replace($regexTel""$valueTel);
}
return empty(
$string) ? true false;
}
if(!
$tel)
{
$error .= "Пожалуйста введите телефон.<br />";
}
if(
$tel && !ValidateTel($tel))
{
$error .= "Введите корректный телефон.<br />";
}
if(!
$error)
{
$subject ="Тема сообщения";
$message ="Новый запрос!\n\nE-mail: ".$email."\n\nИмя: " .$name."\n\nТелефон:".$tel."\n\n";
$mail mail("mail@mail.com"$subject$message,

"From: ".$name." <".$email."> "."Reply-To: ".$email." "." X-Mailer: PHP/" phpversion());
if(
$mail)
{
echo 
'OK';
}
}
else
{
echo 
'<div class="notification_error">'.$error.'</div>';
}
}
?>



js
---
Код:
$(document).ready(function() {
$("#ajax-contact-form").submit(function() {
var str = $(this).serialize();

$.ajax({
type: "POST",
url: "contact.php",
data: str,
success: function(msg) {

if(msg == 'OK') {
result = '<div class="notification_ok">Ваше сообщение было отправлено!</div>';
$("#fields").hide();
} else {
result = msg;
}
$('#note').html(result).fadeIn().delay(3000).fadeOut("slow");

$(".btn").on( "click", function() {

$.when( effect() ).done(function() {

});
});
}
});
return false;
});
});


Что нужно исправить? Помогите пожалуйста с этим вопросом. Спасибо

Последний раз редактировалось Stilet; 20.08.2014 в 21:42.
danilkins вне форума Ответить с цитированием
Старый 20.08.2014, 21:47   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

По-моему нужно явно указать кодировку письма.
Что-то типа:
Код:
$mail = mail("mail@mail.com", $subject, $message,

"From: ".$name." <".$email."> "."Reply-To: ".$email." "." X-Mailer: PHP/" . phpversion()
."\nContent-Type: text/plain; charset=utf-8"
);
Но это с потолка, ибо я ПХП не оч. знаю.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 21.08.2014, 07:22   #3
Fenex
Форумчанин
 
Аватар для Fenex
 
Регистрация: 15.02.2012
Сообщений: 823
По умолчанию

Если проблема с кодировкой, то:
1) Конвертировать все файлы в одну и ту же кодировку (сейчас кодируют в UTF-8 чаще всего).
2) Если не помогает, то везде явно указывать эту же кодировку (при вызовах функций, которые принимают параметр (чаще всего необязательный) кодировки, в конфигурационных файлах).
^-.-^ My GitHub
Fenex вне форума Ответить с цитированием
Старый 21.08.2014, 10:05   #4
danilkins
Пользователь
 
Регистрация: 02.12.2013
Сообщений: 11
По умолчанию Огромное спасибо Вам! Ваше решение мне помогло!

Цитата:
Сообщение от Stilet Посмотреть сообщение
По-моему нужно явно указать кодировку письма.
Что-то типа:
Код:
$mail = mail("mail@mail.com", $subject, $message,

"From: ".$name." <".$email."> "."Reply-To: ".$email." "." X-Mailer: PHP/" . phpversion()
."\nContent-Type: text/plain; charset=utf-8"
);
Но это с потолка, ибо я ПХП не оч. знаю.
Огромное спасибо Вам! Ваше решение мне помогло!
danilkins вне форума Ответить с цитированием
Старый 21.08.2014, 19:56   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Пользуйся на здоровье )
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 27.11.2014, 16:15   #6
bev11321
Новичок
Джуниор
 
Регистрация: 27.11.2014
Сообщений: 3
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Пользуйся на здоровье )
Доброго времени всем!

У меня похожая проблема. Но кракозябры только приходят в ИМЕНИ, а остальное нормально...

Вот код файла contact_process.php

Код:
{
$mail = mail(CONTACT_FORM, $subject, $message,
     "From: ".$name." <".$email.">\r\n".
	 "From site: ".$_SERVER['SERVER_NAME']."\r\n"
    ."E-mail: ".$email."\r\n"
    ."X-Mailer: PHP/" . phpversion());


if($mail)
{
echo 'OK';
}

}
bev11321 вне форума Ответить с цитированием
Старый 28.11.2014, 06:58   #7
mv28jam
Старожил
 
Аватар для mv28jam
 
Регистрация: 09.09.2008
Сообщений: 2,714
По умолчанию

Пробуйте - http://us1.php.net/manual/en/function.mb-send-mail.php
Стрелок-охотник
mv28jam вне форума Ответить с цитированием
Старый 21.06.2017, 19:14   #8
tamerlanja
Новичок
Джуниор
 
Регистрация: 21.06.2017
Сообщений: 1
По умолчанию Приходят крякозябры на почту((

<?php
/*--------------------------------------------*/
/* Форма обратной связи */
/*--------------------------------------------*/

$post = (!empty($_POST)) ? true : false;

if($post){
$to = "job@rabotaxi.ru"; // Your e-mail here
$inputName = stripslashes($_POST['inputName']);
$inputEmail = trim($_POST['inputEmail']);
$inputSubject = stripslashes($_POST['inputSubject']);
$inputMessage = stripslashes($_POST['inputMessage']);
$sendToYourself = stripslashes($_POST['sendToYourself']);
$phoneNumber = stripslashes($_POST['phoneNumber']);
$subject = "Новый Водила";


$mail = mail($to, $subject,
"FIO: ".$inputName."\r\n"
."email: ".$inputEmail."\r\n"
."Telefon: ".$phoneNumber."\r\n"
."Tema: ".$inputSubject."\r\n"
."Pismo: ".$inputMessage."\r\n"
."X-Mailer: PHP/" . phpversion());

if($mail){
echo 'Ваше письмо успешно отправлено: '.$mail;
}

}

?>
tamerlanja вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Форма обратной связи Василий1985 PHP 3 20.03.2014 11:03
форма обратной связи Ol'ga PHP 3 01.03.2013 12:40
Форма обратной связи Cone PHP 9 07.12.2011 07:47
Форма обратной связи margo_31 Помощь студентам 6 20.09.2009 20:38
Форма обратной связи belvision PHP 5 10.11.2008 16:57