![]() |
|
||||||||||
|
|||||
|
Регистрация: Jan 2006
Сообщений: 27
|
Поиски темы по данному вопросу не дали результатов. Был вынужден всё-таки открыть эту тему.
В Adobe Flash CS3 на AS3 есть форма. Необходимо передать данные с этой формы во внешний php-файл. Посмотрел кое-какие исходники, но данные всё равно не отправляются ... Ниже привел код на AS3 и PHP: contact_name.text = contact_email.text = contact_subject.text = contact_message.text = message_status.text = ""; send_button.addEventListener(MouseEvent.CLICK, submit); reset_button.addEventListener(MouseEvent.CLICK, reset); var timer:Timer; var var_load:URLLoader = new URLLoader; var URL_request:URLRequest = new URLRequest( "send_email.php" ); URL_request.method = URLRequestMethod.POST; function submit(e:MouseEvent):void { if( contact_name.text == "" || contact_email.text == "" || contact_subject.text == "" || contact_message.text == "" ) { message_status.text = "Необходимо заполнить все поля."; } else if( !validate_email(contact_email.text) ) { message_status.text = "Неправильный e-mail"; } else { message_status.text = "отправляем..."; var email_data:String = "name=" + contact_name.text + "&email=" + contact_email.text + "&subject=" + contact_subject.text + "&message=" + contact_message.text; var URL_vars:URLVariables = new URLVariables(email_data); URL_vars.dataFormat = URLLoaderDataFormat.TEXT; URL_request.data = URL_vars; var_load.load( URL_request ); var_load.addEventListener(Event.COMPLETE, receive_response ); } } function reset(e:MouseEvent):void { contact_name.text = contact_email.text = contact_subject.text = contact_message.text = message_status.text = ""; } function validate_email(s:String):Boolean { var p:RegExp = /(\w|[_.\-])+@((\w|-)+\.)+\w{2,4}+/; var r:Object = p.exec(s); if( r == null ) { return false; } return true; } function receive_response(e:Event):void { var loader:URLLoader = URLLoader(e.target); var email_status = new URLVariables(loader.data).success; if( email_status == "yes" ) { message_status.text = "Ваше сообщение успешно отправлено."; timer = new Timer(500); timer.addEventListener(TimerEvent.TIMER, on_timer); timer.start(); } else { message_status.text = "Ошибка. Сообщение не отправлено."; } } function on_timer(te:TimerEvent):void { if( timer.currentCount >= 10 ) { contact_name.text = contact_email.text = contact_subject.text = contact_message.text = message_status.text = ""; timer.removeEventListener(TimerEvent.TIMER, on_timer); } }
В любом случае, хотелось бы посмотреть образец правильного кода отправки данных с AS3 в PHP |
|
|||||
|
Регистрация: Jun 2009
Сообщений: 8
|
$query = "INSERT INTO gaf VALUES ('".$contact_name."', '".$contact_email."', '".$contact_subject."', '".$contact_message."', '".$date."')";
если этот кусок работает то проблема в if( $contact_name == true ) Последний раз редактировалось iNils; 06.06.2009 в 12:18. |
|
|||||
|
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
|
lanc666, для оформления своего кода надо использовать теги [code][/code]
|
|
|||||
|
Регистрация: Apr 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 355
|
Лично я для проверки того что ушло в пхп и пришло обратно пользуюсь таким способом:
1) Устанавливаем себе Alcon (кстати спасибо за него Негуру, спасибо что познакомил))) 2)В загрузчик добавляем И собственно в самом загрузчике определяем /** * Метод используется для отправки данных на сервер и получения ответа * @param _url адрес для передачи * @param _variables - переменные передаваемые внутри запроса */ public function sendAndLoadData(_url:String, _variables:URLVariables = null):URLLoader { var url:URLRequest = new URLRequest(_url); url.method = URLRequestMethod.POST; if (debugRegim) { Debug.trace(_url + (_variables!= null ? "?" + _variables.toString() : "")); } var loader:URLLoader = new URLLoader(); loader.dataFormat = URLLoaderDataFormat.TEXT; if (_variables) { url.data = _variables; } loader.addEventListener(Event.COMPLETE, hnCompleteLoad); loader.addEventListener(ProgressEvent.PROGRESS, hnProgress); loader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, hnSecurityError); loader.addEventListener(IOErrorEvent.IO_ERROR, hnIoError); try { loader.load(url); } catch (error:Error) { if (journal) { updateInfo("Не удалось загрузить данные с сервера."); } } return loader; }
__________________
Хочу IQ как ICQ, ну или хотя бы ICQ как IQ |
![]() |
![]() |
Часовой пояс GMT +4, время: 06:42. |
|
|
« Предыдущая тема | Следующая тема » |
| Теги |
| php |
|
|