Просмотр полной версии : Flash + php + email
Тут возникла такая проблема что даже не знаю туда ли написал...
Есть флеш-ролик, в нем несколько полей и кнопка для отправки.
Есть php скрипт который все это дело из полей отправляет на мыло.
Но беда в том что даже при указании кодировки windows-1251 в скрипте, на мыло все равно приходит письмо в кодировке UTF-8...
Вобсчем посмотреть можно тут - http://fancy.es/test/feedback.htm
а скачать тут - http://fancy.es/test/feedback.zip
Если кто знает в чем проблема, помогите плиззз.... Оч. нуно...
ЗЫ! Сам я в пхп не силен.
А у тебя в кодировке UTF-8 отображается коракулями чтоли?
вот так попробуй:
<?php
// (c) -=HTDX=- 20/05/2006 e-mail: Hitadextr@gmail.com
// Здесь указываем e-mail адрес, на который будут приходить сообщения
$email = 'hitadextr@gmail.com';
$subject = 'Message from web site';
//foreach ($HTTP_POST_VARS as $var) {
foreach ($HTTP_POST_VARS as $key => $value) {
$text .= "$key = $value \n";
}
$from = $HTTP_POST_VARS['name'] . ' ' . $HTTP_POST_VARS['email'];
mail($email,$subject,$text,"From: $from\nReply-To: $from\n");
?>
этот файл по умолчанию называется - mailform.php
Вот этот код в html документ с кодировкой Win=1251
<form method="POST" action="mailform.php">
А вообще не мешало-бы в файл *php положить в башню вот это:
<html>
<head>
<title>Просто страница</title>
</head>
<body>
<meta content="text/html; charset=windows-1251" http-equiv=Content-Type>
Здесь начинается твой скрипт php...
</body>
</head>
Cоответственно Файл оставляешь с расширением *PHP!
Хотя может и не помочь...можно попробывать с помощью переменной.
Vadya corp.
04.06.2006, 09:29
У меня была похожая проблема в simple_xml. Я нашел одну встроенную в php функцию, которая переводит из utf8 в ISO-8859-1, который отображается нормально.
В общем текст у тебя скрипт получает через переменную $message и $name. Их надо обработать:
<?
$to = "viper@viper.name";
$msg = "$name\n\n";
$msg .= "$message\n\n";
$msg = utf8_decode($msg);
$add_headers .= "Content-Type: text/plain; charset=Windows-1251\r\n";
mail($to, $subject, $msg, $add_headers);
?>
to HTDX дело в том что заголовок письма приходит в utf-8 а сам текст письма одни вопросики на всех кодировках...
скрипт уже выглядит так
<?
$to = "mail@mail.com";
$msg = "$name\n\n";
$msg .= "$message\n\n";
$msg = utf8_decode($msg);
$add_headers .= "Content-Transfer-Encoding: 8bit\r\n";
$add_headers .= "Content-Type: text/plain; charset=Windows-1251\r\n";
mail($to, $subject, $msg, $add_headers);
?>
Viper, посмотрю что можно сделать.Отпишусь чуть позже.Пиши в приват по всем вопросам.
Viper А чтоб сама флешка заработала, нужно предопределить твои переменные. Скажим в 1 кадре перед командой stop();
var
new_name=new_subject=new_message=new_email = "";
stop();
переменные твои изменил, ибо ранее использовались зарегистрированные.
Или без предопределения, в скрипте для кнопки send заменить "" на undefined
on (release) {
if (new_name == undefined || new_subject == undefined || new_message == undefined || new_email == undefined) {
error = "Error! One or more fields is empty.";
stop();
} else {
loadVariablesNum("form.php", 0, "POST");
gotoAndStop(2);
}
}
Viper, а ты с помощью чего читаешь это письмо с каракулями? Случаем не через почтовый клиент? Если да, то оно у тебя так и будет, поскольку эти программы поддерживают кодировку koi по дефалту...
А вообще можно так попробывать:
В коде по умолчанию стоит конвертация в кодировку koi:
$body=convert_cyr_string (stripslashes($body),w,k);
$subject=convert_cyr_string (stripslashes($subject),w,k);
$sucess = mail($mailto, $subject, $body,
"From: $email
X-Mailer: PHP/" . phpversion());
Вообще попробуй сначала так и открой программой не получится, подставь другую кодировку.
Код не мой.
все разобрался в чем прикол :)
вобсчем код такой для php:
<?
$to = "юзер@мыло.ком";
$msg = "$name\n\n";
$msg .= "$message\n\n";
$add_headers .= "Content-Transfer-Encoding: 8bit\r\n";
$add_headers .= "Content-Type: text/plain; charset=Windows-1251\r\n";
mail($to, $subject, $msg, $add_headers);
?>
в плешке на кнопку send код:
on (release) {
if (new_name == undefined || new_subject == undefined || new_message == undefined || new_email == undefined) {
error = "Error! One or more fields is empty.";
stop();
} else {
loadVariablesNum("form.php", 0, "POST");
gotoAndStop(2);
}
}
а в первом кадре сцены:
System.useCodepage = true;
var new_name=new_subject=new_message=new_email = "";
stop();
TheBAT 3 отображает и заголовок и тело письма нормально в windows-1251
всем спасибо за советы и помощь!
Viper ! ты не обратил внимание на мое
Или без предопределения, в скрипте для кнопки send заменить "" на undefined
иначе у тебя флешка вновь не будет работать :(
Давай так: в первом кадре все оставляй как есть, а вот для кнопки "send" такой теперь скрипт будет:
on (release) {
if (new_name == "" || new_subject == "" || new_message == "" || new_email == "") {
error = "Error! One or more fields is empty.";
stop();
} else {
loadVariablesNum("form.php", 0, "POST");
gotoAndStop(2);
}
Expredes (http://foxter.ru/member.php?u=35) спасибо :) переписал :) все работает :)
Powered by vBulletin, Copyright ©2000-2026, Jelsoft Enterprises Ltd.