Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > Серверные технологии и Flash

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 04.12.2009, 01:35
AlexMakienko вне форума Посмотреть профиль Отправить личное сообщение для AlexMakienko Найти все сообщения от AlexMakienko
  № 1  
Ответить с цитированием
AlexMakienko
[+3 02.01.10]
 
Аватар для AlexMakienko

Регистрация: Nov 2009
Сообщений: 67
По умолчанию Flash ---PHP

Извините пожалуйста, надеюсь что по теме.
Вначале хотел бы отметить аккуратненькую на 3 поля Post Form
Отлично меняет языки, чистит и работает как часы
Прописывается в единственном кадре на любом фоне с одной кнопкой button

Код AS1/AS2:
tf_fmt = new TextFormat();
tf_fmt.color = "0x666666";
// Текстовое поле для имени
_root.createTextField("name_txt", 1, 10, 10, 300, 20);
with (name_txt) {
border = true;
borderColor = "0xCCCCCC";
type = "input";
multiline = false;
text = "Введите ваше имя";
setTextFormat(tf_fmt);
}
// При передачи фокуса текстовому полю убиваем всё что в нём написано
name_txt.onSetFocus = function() {
this.text = "";
delete this.onSetFocus;
};
// Текстовое поле для e-mail
_root.createTextField("mail_txt", 2, 10, 40, 300, 20);
with (mail_txt) {
border = true;
borderColor = "0xCCCCCC";
type = "input";
multiline = false;
text = "Введите ваш e-mail";
setTextFormat(tf_fmt);
}
// При передаче фокуса текстовому полю убиваем всё что в нём написано
mail_txt.onSetFocus = function() {
this.text = "";
delete this.onSetFocus;
};
// Текстовое поле для сообщения
_root.createTextField("message_txt", 3, 10, 70, 300, 200);
with (message_txt) {
border = true;
borderColor = "0xCCCCCC";
type = "input";
multiline = true;
text = "Введите ваше сообщение";
setTextFormat(tf_fmt);
}
// При передачи фокуса текстовому полю убиваем всё что в нём написано
message_txt.onSetFocus = function() {
this.text = "";
delete this.onSetFocus;
};
// Кнопка "Отправить"
_root.attachMovie("button", "but_mc", 4, {_x:10, _y:280});
but_mc.createTextField("tf", 1, 0, 0, 300, 20);
b_fmt = new TextFormat();
b_fmt.color = "0xFFFFFF";
b_fmt.align = "center";
with (but_mc.tf) {
selectable = false;
text = "Отправить сообщение";
setTextFormat(b_fmt);
}
// При нажатии на кнопку запускаем функцию F_sendMail
but_mc.onPress = function() {
F_sendMail(name_txt.text, mail_txt.text, message_txt.text);
};
//Функция отправки сообщения
F_sendMail = function (Name, Mail, Message) {
// Создаём мувик для хранения переменных
_root.createEmptyMovieClip("v", 120);
v.name = Name;
v.mail = Mail;
v.message = Message;
// Отправляем данный php - скрипту
v.loadVariables("mail.php", "POST");
};
// Что бы не было проблем с кодировкой при передачи текста php
System.useCodepage = true;
Код AS1/AS2:
Файл mail.php
<?php
$name = $_POST['name'];
$mail = $_POST['mail'];
$message = $_POST['message'];
mail("makalex@aviasystems.com","Сообщение с сайта","От кого : $name\nE-mail : $mail\nСообщение : $message");
?>
Как уже отмечал отлично меняет языки и в самой форме на раб. столе
и в Hthl в Броузерах Opera и IE.
Но сейчас пытаюсь доналадить более красивую Форму с 5-ю полями.

На кнопке Submit:

Код AS1/AS2:
onClipEvent (load)
{
this.t.v = _root.contacts_txt9;
}
on (rollOver)
{
this.gotoAndPlay("s1");
}
on (rollOut)
{
this.gotoAndPlay("s2");
}
---------------------
on (release)
{
_parent.loadVariables("mail.php", "POST");
System.useCodepage = true;
}
Файл mail.php
Код AS1/AS2:
<?php
$name = $_POST['name'];
$last = $_POST['last'];
$mail = $_POST['mail'];
$phone = $_POST['phone'];
$message = $_POST['message'];
mail("makalex@aviasystems.com","Сообщение с сайта","Имя : $name\nФамилия : $last\nE-mail : $mail\nТелефон : $phone\nСообщение : $message");
?>

На Англ языке работает как часы. Только одна проблемка !!

После введения System.useCodepage = true; на кнопке с самой Flash форме на рабочем столе языки в внутри формы меняются, набираются и видны все О.Кеу.
Как только завожу на Html и меняю язык на русский - в самой форме - при наборе кириллицу не видит ??
- дает квадратики и символы.

Перепробовал в кодировках броузерах (Опера и IE)ничего пока не помогло.
Может надо что то в скриптах в Html ??
Хотя первая простенькая форма и на столе и в броузерах на том же Html листе работает и
меняет языки отлично.
Что бы это могло быть ???


Последний раз редактировалось AlexMakienko; 04.12.2009 в 12:39.
Старый 04.12.2009, 07:51
Juice_Green вне форума Посмотреть профиль Отправить личное сообщение для Juice_Green Посетить домашнюю страницу Juice_Green Найти все сообщения от Juice_Green
  № 2  
Ответить с цитированием
Juice_Green
 
Аватар для Juice_Green

Регистрация: Dec 2005
Адрес: Новосибирск
Сообщений: 529
Отправить сообщение для Juice_Green с помощью ICQ Отправить сообщение для Juice_Green с помощью Skype™
работайте с кодировкой UTF-8, про System.useCodepage забудьте

Старый 04.12.2009, 07:55
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 3  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
AlexMakienko, отредактируйте свой пост и оформите код тегами [as][/as].

Старый 04.12.2009, 18:49
AlexMakienko вне форума Посмотреть профиль Отправить личное сообщение для AlexMakienko Найти все сообщения от AlexMakienko
  № 4  
Ответить с цитированием
AlexMakienko
[+3 02.01.10]
 
Аватар для AlexMakienko

Регистрация: Nov 2009
Сообщений: 67
не надо меня колоть вилами, лучше подскажите как быть
Если я убираю из Flash
Код:
System.useCodepage = true;
то в Flash набирается только Англ. яз.
Пробовал в Html

Код:
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
и
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
не помогает

Добавлено через 55 часов 20 минут
Дошел до того, что на сайте передаю управление прямо на
.swf файл - Почтовую форму. Там набирается и Англ яз. и Русск.
(кириллица) все видно.
Отправляю на PHP файл. Он Англ. читает и все О,кеу,
а Русск нет выдает абракадабру.
Подскажите пожалуйста.
Что надо прописать в Форме (или и PHP) чтобы кириллица тоже читалась.


Последний раз редактировалось AlexMakienko; 07.12.2009 в 02:04.
Старый 09.12.2009, 08:26
Juice_Green вне форума Посмотреть профиль Отправить личное сообщение для Juice_Green Посетить домашнюю страницу Juice_Green Найти все сообщения от Juice_Green
  № 5  
Ответить с цитированием
Juice_Green
 
Аватар для Juice_Green

Регистрация: Dec 2005
Адрес: Новосибирск
Сообщений: 529
Отправить сообщение для Juice_Green с помощью ICQ Отправить сообщение для Juice_Green с помощью Skype™
на сервере стоит кодировка cp-1251, попробуйте iconv сделать

Старый 09.12.2009, 13:11
AlexMakienko вне форума Посмотреть профиль Отправить личное сообщение для AlexMakienko Найти все сообщения от AlexMakienko
  № 6  
Ответить с цитированием
AlexMakienko
[+3 02.01.10]
 
Аватар для AlexMakienko

Регистрация: Nov 2009
Сообщений: 67
Juice_Green чего только я не перепробывал

Кстати на:

© 2008 Антон Прибора
см.http://anton-pribora.ru/articles/php/locales/
мне очень понравилось.

В результате наваял Php:
Код:
    <?php
 iconv_set_encoding('internal_encoding', 'UTF-8');  // Исходная кодировка файлов
 iconv_set_encoding('output_encoding'  , 'WINDOWS-1251');  // Конечная кодировка
  ob_start('ob_iconv_handler');                        // буферизация 
     
	header('Content-Type: text/html;  meta charset=UTF8'); 
    
	$name = $_POST['name'];
	$last = $_POST['last'];
	$mail = $_POST['mail'];
	$address = $_POST['address'];
	$message = $_POST['message'];
	mail("makalex@aviasystems.com","Сообщение с сайта","Имя : $name\nФамилия : $last\nE-mail : $mail\nТелефон : $address\nСообщение : $message");
?>
Пробовал и слокалями и без.
С англ. раб отлично . Кириллицу не видит
Хоть ты тресни.

Кроме того сейчас разбираюсь с тем, что
При попытке ввести во flash форму на кнопку-клип код:
Код:
System.useCodepage = "utf-8";
выдает:

Код:
**Error** Symbol=sprite 373_Post_Form, layer=Layer 7, frame=1:Line 17: 
Type mismatch in assignment statement: found Number where Boolean is required.
      
  System.useCodepage = "utf-8";

Total ActionScript Errors: 1 	 Reported Errors: 1
и кнопка-клип перестает работать ?????

Но вообще говоря, успел проверить установкой на свой сайт первую (см самый верх общения) Flash форму на три поля.
В Php только header без iconv:

Код:
header= ('Content-Type: text/html; charset=utf-8');
Работает классно. Комбинирует Англ и Русс языки.
Так что, вслучае чего, уйду на кнопку с кодировкой из этой формы.

Добавлено через 59 часов 22 минуты
Привет всем!
Juice Green Спасибо за помощь проблема с моей почтовой Flаsh формой решена.
Много интересного по php, Mysql и наладке нашел здесь:
http://anton-pribora.ru/articles/php/locales/
http://webdesign.site3k.net/?/conjun.../web-mail.html

Выводы и советы по результатам моих мучений "сухим пайком" следующие:

1. При наладке почты целесообразно проверять поступление с PHP
непосредственно в ящиках (лучше на Mail.ru или Rambler.ru)временно отказавшись
от почтовых клиентов (у меня The Bat).

2.На моем почтовом ящике на сайте makalex@aviasystems.com (хостинг rbk.ru),
нормальную декодировку на кириллице с PHP увидел (напрямую без The Bat)вначале только после
введения в PHP iconv, ob_start('ob_iconv_handler')и установку Локалей
(см.первую.ссылку вверху) когда PHP выглядел:

Код:
<?php

// iconv_set_encoding('internal_encoding', 'UTF-8'); // Исходная кодировка файлов
iconv_set_encoding('output_encoding' , 'WINDOWS-1251'); // Конечная кодировка
ob_start('ob_iconv_handler'); // буферизация 

// Установка локали
setlocale(LC_ALL, 'ru_RU.CP1251');

header('Content-Type: text/html; charset=CP1251');


$name = $_POST['name'];
$last = $_POST['last'];
$mail = $_POST['mail'];
$address = $_POST['address'];
$message = $_POST['message'];
mail("makalex@aviasystems.com","Сообщение с сайта",
"Имя : $name\nФамилия : $last\nE-mail : $mail\nТелефон : $address\nСообщение : $message");
?>
При этом на кнопке-клипе Flash формы для отправки работает простейший скрипт:

Код:
 
on (release)
{
_parent.loadVariables("mail.php", "POST");
System.useCodepage = true; 
}
Кстати рекомендовали продублировать System.useCodepage = true;
на 1-ом кадре в Action layer основного Time line. У меня обошлось.

Но мой The Bat попрежнему не видел кириллицу через PHP.
Пристал к ребятам на моем Хостинге они ночью повозились со своим Почтовым сервером и The Bat увидел кириллицу и на makalex@aviasystems.com при засылке через PHP.
Более того, письма через PHP стали нормально декодироваться на всех других ящиках и при использовании только команды header(.......) .

Кроме того важно !!!
При " прописке" Flash почтовой формы на Html стр. в режиме "прозрачности" WMODE=transparent кириллица в ней набираться не будет !!!

Я вернулся к "непрозрачной" прописке всех трех своих Flash eк на html и уменя все получилось !
Дело в том, что вначале на непрозрачный Flash site ( c почтовой формой) размером , практически , на всю Html стр. захотелось (не залезая в слои) расположить в заданных местах (исп. div) две других Flash- ки 1.текстовой Лэйбл с передачей управления и 2. Flash bunner с меню.

Как я ни менял их очередность на Html большая из них -сайт две другиз закрывала.
По совету ушел на "прозрачность" всех трех и все увиделось о,кей и лежали где надо.
Но последняя стр. с Почт. Формой не пробивала кириллицу.
Был совет ввести в "дивах" третью координату по Z т.е. регулировать по глубине ???

Но снова вернувшись к "не прозрачности" для всех трех Flashек я используя "прописку" вида:

Код:
  
                       
<!-- Не прозрачный  AviaSystText      -->   
                                       
<DIV id=idElement11 style="  POSITION: absolute; TOP: 65px; LEFT:20px; ">

<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" 
codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0"
width="380" height="60" id="AviaExtra_Text-Blur.swf" align="middle">

<param name="allowScriptAccess" value="sameDomain"/>
<param name="movie" value="AviaExtra_Text-Blur.swf"/>
<param name="quality" value="high"/>

<!--
<param  name="bgcolor" value="#1b62ab"/>  -->

<embed src="AviaExtra_Text-Blur.swf" quality="high" bgcolor="#1b62ab" 
width="380" height="60" name="AviaExtra_Text-Blur.swf" align="middle" allowScriptAccess="sameDomain" 
type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer">

</object>          

</div>


я к счастью нашел просто банальную ошибку у себя в том, что надо скрупулезно в четырех местах
внутри <object> ......</object> прописывать точное название flash.
При этом большая "фоновая" flash должна располагаться последней , а не первой как казалось бы.
У меня две первых меньших Flash не пересекаются по "дивам".
После этого у меня все классно расположилось, увиделось и естественно кириллица стала набираться в почтовой странице.
Еще раз огромное спасибо всем за помощь

P.S. В выходные выложу для пробы у себя на сайте www.aviasystems.com образец моей Flash композиции. На первой странице в левом меню вначале по Contact us должен окрыться пробный Flash сайт- композиция и снова по Contact откроется уже почтовая форма ( которая обсуждалась выше), пересылающяя мне инфо на мыло makalex@aviasystems.com


Последний раз редактировалось AlexMakienko; 09.12.2009 в 19:45.
Создать новую тему Ответ Часовой пояс GMT +4, время: 07:59.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 07:59.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.