Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   форма обратной связи (http://www.flasher.ru/forum/showthread.php?t=187095)

client510 13.11.2012 15:58

форма обратной связи
 
Доброго времени суток. Очень нужна Ваша помощь.
Я пытаюсь сделать форму обратной связи. Вроде сделал все правильно, но форма работать не хочет.
Вот коды
Код AS3:

stop();
import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.events.Event;
import flash.events.MouseEvent;
 
var configloader:URLLoader = new URLLoader();
    configloader.load(new URLRequest("configuration.xml"));
        configloader.addEventListener(Event.COMPLETE, onConfigMail);
var mailconfig:XML;
var mailadres:String;
var mailsmtp:String;
var maillogin:String;
var mailpasword:String;
 
function onConfigMail(e:Event):void
{
        mailconfig = XML(configloader.data);
        mailadres = mailconfig.mail.adress;
        mailadres = mailconfig.mail.smtp;
        mailadres = mailconfig.mail.login;
        mailadres = mailconfig.mail.pasword;
    trace(mailadres);
}
 
send_mail.addEventListener(MouseEvent.CLICK, sendMail);
 
function sendMail(e:MouseEvent):void
{
        var contact_name:String = contact_name.text;
        var contact_email:String = contact_email.text;
        var contact_subject:String = contact_subject.text;
        var contact_message:String = contact_message.text;
 
        if(contact_name == "" || contact_email == "" || contact_subject == "" || contact_message == "")
        {
                trace(contact_error.text = ("Ошибка! Вы не заполнили поля."));
        }
        else if(contact_email.indexOf('@') < 2 || contact_email.indexOf('.') < 0)
        {
                trace(contact_error.text = ("Ошибка! Не верный формат электронного адреса"));
                return;
        }
 
        var mailRequest:URLRequest = new URLRequest("mail.php");
            mailRequest.data = mailadres, contact_name, contact_email, contact_subject, contact_message;
                mailRequest.contentType = "text/String";
                mailRequest.method = URLRequestMethod.POST;
        var maiLoader:URLLoader = new URLLoader();
            maiLoader.load(mailRequest);
}
 
reset_button.addEventListener(MouseEvent.CLICK, resetMail);
 
function resetMail()
{
        contact_name.text = contact_email.text = contact_subject.text =
        contact_message.text = "";
}

PHP код:

<?php
$adress 
$_POST['mailadres'];
$contact_name $_POST['contact_name'];
$contact_email $_POST['contact_email'];
$contact_subject $_POST['contact_subject'];
$contact_message $_POST['contact_message'];

if( 
$contact_name == true )
{
    
$sender $contact_email;
    
$receiver $adress;
    
$client_ip $_SERVER['REMOTE_ADDR'];
    
$email_body "Имя: $contact_name \nEmail: $sender \nТемаt: $contact_subject \nСобщение: $contact_message \nIP: $client_ip \n Контактная форма видео чата";        
    
$extra "From: $sender\r\n" "Reply-To: $sender \r\n" "X-Mailer: PHP/" phpversion();

    if( 
mail$receiver"Flash Contact Form - $subject"$email_body$extra ) ) 
    {
        echo 
"success=yes";
    }
    else
    {
        echo 
"success=no";
    }
}
?>

Помогите пожалуйста разобраться.
Заранее благодарен!

NikolyA 13.11.2012 16:02

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

client510 13.11.2012 16:13

форма обратной связи
 
Прикрепляю

Добавлено через 7 минут
Прикрепил, но почему то я не их не вижу.

NikolyA 13.11.2012 16:26

я их тоже не вижу:mosking:

client510 13.11.2012 16:42

форма обратной связи
 
Вложений: 1
Пробую еще раз.

in4core 13.11.2012 17:44

Код AS3:

mailRequest.data = mailadres, contact_name, contact_email, contact_subject, contact_message;

Это косяк

client510 13.11.2012 21:56

Большое спасибо всем кто отозвался. in4core, не можете ли вы подсказать, как эту строку написать?

in4core 13.11.2012 22:53

реквест в качестве даты принимает значение URLVariables - если я верно помню. Значит нужно передать их. А уже для urlVars["mail"] = mailadres; например.

Могу дать готовый пример, разбирайте.

Код AS3:

package com.in4core.edenSite.sections.contact 
{
        import com.in4core.edenSite.interfaces.ISectionElement;
        import com.in4core.edenSite.utils.Config;
        import flash.display.DisplayObjectContainer;
        import flash.display.MovieClip;
        import flash.events.Event;
        import flash.events.FocusEvent;
        import flash.events.MouseEvent;
        import flash.events.TextEvent;
        import flash.net.URLLoader;
        import flash.net.URLLoaderDataFormat;
        import flash.net.URLRequest;
        import flash.net.URLRequestMethod;
        import flash.net.URLVariables;
        import flash.system.System;
        import flash.text.TextField;
        /**
        * ...
        * @author in4core progression lab
        */

        public final class EmailFormExtended extends EmailForm implements ISectionElement
        {
                private var _uiSender:URLLoader = new URLLoader();
                private var _request:URLRequest = new URLRequest(Config.MAILER);
                private var _checkData:Object = { mail:false , subject:false , message:false };
 
                public function EmailFormExtended()
                {
                        super();
                }
 
                public function define(initParams:Object):void
                {
                        super.mail.title.text = "Email :";
                        super.subject.title.text = "Subject :";
                        super.uname.title.text = "Name :";
                        super.message.title.text = "Message :";
                        super.submit.tf.text = "Submit";
                        super.clear.tf.text = "Clear";
 
                        super.clear.addEventListener(MouseEvent.CLICK , clearFields);
                        super.submit.addEventListener(MouseEvent.CLICK , sendMail);
 
                        super.mail.tf.addEventListener(FocusEvent.FOCUS_IN , setFocus);
                        super.subject.tf.addEventListener(FocusEvent.FOCUS_IN , setFocus);
                        super.uname.tf.addEventListener(FocusEvent.FOCUS_IN , setFocus);
                        super.message.tf.addEventListener(FocusEvent.FOCUS_IN , setFocus);
 
                        super.mail.tf.addEventListener(FocusEvent.FOCUS_OUT , unsetFocus);
                        super.subject.tf.addEventListener(FocusEvent.FOCUS_OUT , unsetFocus);
                        super.uname.tf.addEventListener(FocusEvent.FOCUS_OUT , unsetFocus);
                        super.message.tf.addEventListener(FocusEvent.FOCUS_OUT , unsetFocus);
 
                        this._uiSender.addEventListener(Event.COMPLETE , getInfoCheck);
                        this._uiSender.dataFormat = URLLoaderDataFormat.TEXT;
 
                        this._request.method = URLRequestMethod.POST;
 
                        System.useCodePage = true;
                }
 
                private function sendMail(e:MouseEvent):void
                {
                        if (!allCheck()) return;
 
                        const variables:URLVariables = new URLVariables();
                        variables.email = super.mail.tf.text;
                        variables.subject = super.subject.tf.text;
                        variables.uname = super.uname.tf.text;
                        variables.message = super.message.tf.text;
 
                        this._request.data = variables;
                        this._uiSender.load(this._request);
 
                        clearFields(null);
                        super.message.tf.text = "Data sending, please wait.";
                }
 
                private function allCheck():Boolean
                {
                        for (var i:String in this._checkData)
                        {
                                if (this._checkData[i] == false) return false;
                        }
 
                        return true;
                }
 
                private function getInfoCheck(e:Event):void
                {
                        super.message.tf.text = this._uiSender.data;
                }
 
                private function unsetFocus(e:FocusEvent):void
                {
                        var parent:MovieClip = e.currentTarget.parent as MovieClip;
                        e.currentTarget.textColor = 0x999999;
                        parent.gotoAndStop(1);
 
                        parent.check.gotoAndStop(3);
 
                        if (parent === super.mail )
                        {
                                if (!checkMail(parent.tf))
                                {
                                        parent.check.gotoAndStop(2);
                                        this._checkData.mail = false;
                                }
                                else this._checkData.mail = true;
                        }
 
 
                        if (parent === super.subject )
                        {
                                if (! checkLength(parent.tf , 4))
                                {
                                        parent.check.gotoAndStop(2);
                                        this._checkData.subject = false;
                                }
                                else this._checkData.subject = true;
                        }
 
 
                        if (parent === super.message )
                        {
                                if (! checkLength(parent.tf , 5))
                                {
                                        parent.check.gotoAndStop(2);
                                        this._checkData.message = false;
                                }
                                else this._checkData.message = true;
                        }
 
                }
 
                private function setFocus(e:FocusEvent):void
                {
                        var parent:MovieClip = e.currentTarget.parent as MovieClip;
                        e.currentTarget.textColor = 0x0;
                        parent.gotoAndStop(2);
 
                }
                private function checkMail(tf:TextField):Boolean
                {
                        var pattern:String = "[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?";
                        var text:String = tf.text.split("\n").join("").split("\r").join("");
                        if (text.match(pattern)) return true;
                        else return false;
                }
 
                private function checkLength(tf:TextField , len:int):Boolean
                {
                        if (tf.text.length < len) return false;
                        return true;
                }
 
                private function clearFields(e:MouseEvent):void
                {
                        super.mail.tf.text = "";
                        super.subject.tf.text = "";
                        super.uname.tf.text = "";
                        super.message.tf.text = "";
 
                        super.mail.check.gotoAndStop(1);
                        super.subject.check.gotoAndStop(1);
                        super.uname.check.gotoAndStop(1);
                        super.message.check.gotoAndStop(1);
 
                        this._checkData = { mail:false , subject:false , message:false };
                }
 
                public function destroy():void
                {
 
                }
        }
 
}


client510 14.11.2012 01:35

Спасибо.Буду разбираться.

Добавлено через 11 часов 11 минут
Привет всем. Еще раз хочу поблагодарить всех, кто мне помогает! Теперь новый вопрос, конечно он не в тему, не хочу просто плодить кучу мелких тем.
Вот код:
Код AS3:

import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.events.Event;
import flash.events.MouseEvent;
 
var enterLoader:URLLoader = new URLLoader();
    enterLoader.load(new URLRequest("user.xml"));
        enterLoader.addEventListener(Event.COMPLETE, onLoaderUser);
var enteruser:XML;
var userlogin:String;
var userpasword:String;
 
function onLoaderUser(e:Event):void
{
        enteruser = XML (enterLoader.data);
        userlogin = enteruser.user.user_login;
        userpasword = enteruser.user.user_password;
        trace(userlogin);
}
 
enter_page.addEventListener(MouseEvent.CLICK, onEnterUser);
 
function onEnterUser(e:MouseEvent):void
{
        var logins:String = logins.text;
        var paswords:String = paswords.text;
 
        if(logins == userlogin || paswords == userpasword)
        {
                gotoAndStop(Object(this.parent).pb_chat);
        }
        else
        {
                trace(enter_errors.text = ("Неверный логин или пароль."));
        }
}

Нужно чтобы пользователь, при вводе верных данных, попадал на страницу чата. Как это сделать?

Добавлено через 20 часов 10 минут
Ребята, кто-то может подсказать, по этому вопросу? Очень срочно нужно.


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

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