• Страница 1 из 1
  • 1
Форум Studio AD » Сайтостроение » Общий форум по Php » форма обратной связи - проблема с кодировкой
форма обратной связи - проблема с кодировкой
joker7am
Дата: Четверг, 18.08.2011, 01:02 | Сообщение # 1
молчун
Группа: Пользователи
Пользователь №: 290
Сообщений: 9
Всем привет, кто подскажет в чем проблема:

Есть форма обратной связи: http://test.lat1.ru/sendmail/

Code
<?php
header('Content-type: text/html; charset=utf-8');
include('kcaptcha/kcaptcha.php');
session_start();
require_once("config.php");

if ($_POST['act']== "y")
{
if(isset($_SESSION['captcha_keystring']) && $_SESSION['captcha_keystring'] ==  $_POST['keystring'])
{

if (isset($_POST['posName']) && $_POST['posName'] == "")
{
$statusError = "$errors_name";
}
elseif (isset($_POST['posEmail']) && $_POST['posEmail'] == "")
{
$statusError = "$errors_mailfrom";
}
elseif(isset($_POST['posEmail']) && !preg_match("/^([a-z,._,0-9])+@([a-z,._,0-9])+(.([a-z])+)+$/", $_POST['posEmail']))
{
$statusError = "$errors_incorrect";

unset($_POST['posEmail']);
}
elseif (isset($_POST['posRegard']) && $_POST['posRegard'] == "")
{
$statusError = "$errors_subject";
}
elseif (isset($_POST['posText']) && $_POST['posText'] == "")
{
$statusError = "$errors_spec";
}
elseif (isset($_POST['posSpec']) && $_POST['posSpec'] == "")
{
$statusError = "$errors_message";
}

elseif (!empty($_POST))
{
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/plain; charset=utf-8\r\n";
$headers .= "Date: ".date("Y-m-d (H:i:s)",time())."\r\n";
$headers .= "From: \"".$_POST['posName']."\" <".$_POST['posEmail'].">\r\n";
$headers .= "X-Mailer: My Send E-mail\r\n";

mail("$mailto","$subject","$message","$headers");

unset($name, $posText, $mailto, $subject, $posRegard, $posSpec, $message, $tel);

$statusSuccess = "$send";
}

}else{
$statusError = "$captcha_error";
unset($_SESSION['captcha_keystring']);
}
}
?>

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Oбpaтнaя cвязь</title>
<link href="styling.css" rel="stylesheet" type="text/css" media='screen,projection' />
</head>
<body>

<h2>Oбpaтнaя cвязь</h2>
<p id="emailSuccess">
<strong style="color:green;"><?php echo "$statusSuccess" ?></strong>
</p>
<p id="emailError"><strong style="color:red;"><?php echo "$statusError" ?></strong></p>

<div id="contactFormArea">
<form action="./" method="post" id="cForm">
<input type="hidden" name="act" value="y" />
<fieldset>
<label for="posName"><b>Ваше имя:</b></label>
<input class="text" type="text" size="25" name="posName" id="posName" />
<label for="posEmail"><b>Ваш телефон:</b></label>
<input class="text" type="text" size="25" name="posPhone" id="posPhone" />
<label for="posEmail"><b>Ваш E-mail адрес:</b></label>
<input class="text" type="text" size="25" name="posEmail" id="posEmail" />
<label for="posRegard"><b>Тема сообщения:</b></label>
<input class="text" type="text" size="25" name="posRegard" id="posRegard" />
<label for="posSpec"><b>Выберите специалиста:</b></label>
<select size="1" name="posSpec" id="posSpec" ><option>Няня</option> <option>Няня к грудным детям</option> <option>Экспресс няня</option> <option>Домашний воспитатель</option> <option>Гувернер</option> <option>Психолог</option> <option>Логопед</option> <option>Репетитор</option> <option>Домработница</option> <option>Экономка</option> <option>Сиделка</option> <option>Личный водитель</option> <option>Семейная пара</option> <option>Повар</option></select>

<label for="posText"><b>Сообщение:</b></label>
<textarea cols="50" rows="20" name="posText" id="posText"></textarea>
<label for="posCaptcha"><center><b>Текст на изображении (цифры)</b>:</label><center><a href='#'><img src="kcaptcha?<?php echo session_name()?>=<?php echo session_id()?>" border=0></a></center><input class="text" type="text" size="25" name="keystring" id="keystring" />
<br><br><label><input class="submit" type="submit" name="selfCC" id="selfCC" value=" Отправить " /></label>
</fieldset>
</form>
</div>

</body>
</html>

Config выглядит так:
Code
<?php header('Content-type: text/html; charset=utf-8');
$mailto = "abm@abm.bz";
$charset = "UTF-8";
$tel = $_POST['posPhone'];
$subject = $_POST['posRegard'];
$name = $_POST['posName'];
$email = $_POST['posEmail'];
$posSpec = $_POST['posSpec'];
$content = "text/plain";
$message = "Фамилия Имя Отчество: ".$name."\n\nE-mail адрес: ".$email."\n\nТелефон: ".$tel."\n\nСпециалист: ".$posSpec."\n\nСообщение:\n\n".$_POST['posText'];
$statusError = "";
$statusSuccess = "";
$errors_name = 'Введите ваше имя';
$errors_mailfrom = 'Введите свой E-mail адрес';
$errors_incorrect = 'Заполните правильно Ваш E-mail адрес';
$errors_message = 'Наберите текст вашего сообщения';
$errors_subject = 'Введите тему сообщения';
$errors_spec = 'Выберите специалиста';
$captcha_error = 'Проверьте правильность ввода защитного кода';
$send = 'Ваше сообщение успешно отправлено';
?>


на почту приходят крякозябры...

как это исправить. Спасиьо!
  
joker7am
Дата: Четверг, 18.08.2011, 01:06 | Сообщение # 2
молчун
Группа: Пользователи
Пользователь №: 290
Сообщений: 9
Все решил, проблема была с config.php - сохранял не в правильной кодировки shy
  
joker7am
Дата: Вторник, 23.08.2011, 23:14 | Сообщение # 3
молчун
Группа: Пользователи
Пользователь №: 290
Сообщений: 9
Теперь проблема с хостингом или DLE.. не отображается капча. кто может подсказать в чем дело. Права на папку стоят 777...

вот ссылка: http://abm.bz.isp.regruhosting.ru/sendmail/order_form.php
а на этом хостинге работает: http://test.lat1.ru/sendmail/order_form.php

До установки DLE, и на первом хостинге работала капча..
  
maveric
Дата: Вторник, 08.11.2011, 19:32 | Сообщение # 4
молчун
Группа: Проверенные
Пользователь №: 3753
Сообщений: 12
iconv()
  
Форум Studio AD » Сайтостроение » Общий форум по Php » форма обратной связи - проблема с кодировкой
  • Страница 1 из 1
  • 1
Поиск:
© Studioad.ru 2006 · 2010. Использование материалов форума на сторонних ресурсах без прямой обратной ссылки строго запрещено. Хостинг от uCoz.