Loading:


Formularz kontaktowy (email) w ActionScript 2 oraz PHP 5

Formularz wysyła nam wiadomość na podany adres email, lub też zwraca błąd.

 

Aby skrypt zadziałał potrzebujemy dodać 3 pola wejściowe o nazwach: from_txt, email_txt oraz mesage_txt, również jeden przycisk o nazwie submit_btn i pole dynamiczne error_txt.

 

Są nam równiez potrzebne etykiety o nazwach: play (widok formularza), send (wysyłanie formularza), success (wysłanie poprawne wiadomości) oraz failed (nie wysłanie wiadomości / wystąpienie błędu).

 

Musimy również stworzyć plik PHP o nazwie form.php.

 

Aby zmienić adres email oraz tytul wiadomości należy edytować linie numer 32 w pliku PHP.



Napisz Artyku³

Listing

//KOD AS2

//from input
from_txt.backgroundColor = true;
from_txt.backgroundColor = 0xf7f7f7;
from_txt.borderColor = true;
from_txt.borderColor = 0xb4b4b4;
from_txt.tabEnabled = yes;
//email input
email_txt.backgroundColor = true;
email_txt.backgroundColor = 0xf7f7f7;
email_txt.borderColor = true;
email_txt.borderColor = 0xb4b4b4;
email_txt.tabEnabled = yes;
//message multiline
mesage_txt.backgroundColor = true;
mesage_txt.backgroundColor = 0xf7f7f7;
mesage_txt.borderColor = true;
mesage_txt.borderColor = 0xb4b4b4;
mesage_txt.scroll = yes;
mesage_txt.bottomScroll = true;
message_txt.tabEnabled = yes;
//checking form
function checkForm():Boolean {
        var missing:Boolean = false;
        error_txt.text = "";
        if (missing == false && from_txt.text == "") {
                email_txt.borderColor = 0xb4b4b4;
                mesage_txt.borderColor = 0xb4b4b4;
                error_txt.text = "Please enter your name";
                from_txt.borderColor = 0xff0000;
                Selection.setFocus(from_txt);
                missing = true;
        }
        if (missing == false && email_txt.text.indexOf("@") == -1) {
                email_txt.borderColor = 0xff0000;
                mesage_txt.borderColor = 0xb4b4b4;
                from_txt.borderColor = 0xb4b4b4;
                error_txt.text = "Your email address is not correct";
                Selection.setFocus(email_txt);
                missing = true;
        }
        if (missing == false && mesage_txt.text == " \t" && mesage_txt.text == " " && mesage_txt.text == "  ") {
                from_txt.borderColor = 0xb4b4b4;
                email_txt.borderColor = 0xb4b4b4;
                error_txt.text = "You did not enter any message";
                mesage_txt.borderColor = 0xff0000;
                Selection.setFocus(mesage_txt);
                missing = true;
        }
        return missing ? false : true;
}
function sendMessage():Void {
        var formOK:Boolean = checkForm();
        if(formOK) {
                email_txt.borderColor = 0xb4b4b4;
                message.from = from_txt.text;
                message.email = email_txt.text;
                message.mesage = mesage_txt.text;
                message.sendAndLoad("form.php?ck=" + new Date().getTime(), messageSent);
                gotoAndStop('send');
        }
};
function backToForm():Void {
        gotoAndStop('play');
}
var message:LoadVars = new LoadVars();
var messageSent:LoadVars = new LoadVars();
messageSent.onLoad = function() {
        if (this.sent == "success"){
                gotoAndStop('success');
        } else {
                gotoAndStop('failed');
                reason_txt.text = this.reason;
                general_mc.reason_txt.text = this.reason;
        }
};
gotoAndStop('play');
submit_btn.onRelease = sendMessage;

//KOD DLA PLIKU PHP

<?php
//deklaracja krtkich zmiennych
$from = $_POST['from'];
$email = $_POST['email'];
$message = $_POST['mesage'];
/*
$from = 'lolekss';
$email = 'ss@wp.pl';
$message = 'dsadasdadfaew';
*/

$pass = true;
//weryfikacja pola from
if (strlen($from) <= 5) {
$pass = false;
$reason = 'Please enter valid name (at least 5letters with spaces)';
}
//weryfikacja pola email
if (strlen($email)<6 || !eregi('^[a-zA-z0-9\_]+@[a-zA-z0-9]+\.[a-zA-z0-9\-\.]+$' , $email)) {
$pass = false;
$reason = 'Please enter valid email address';
}
//weryfikacja pola mesage
if (strlen($message)<8) {
$pass = false;
$reason = 'Please fill the masage box propely';
}
$main = $message. ' /r/n From: '
       .$from. '/r/n Email: '
           .$email;
//sprawdzanie czy wystapily problemy
if ($pass) {
mail('adres@email.pl', 'Tytuł wiadomości', $main, 'Reply-To: '.$email);
echo 'sent=success';
}else{
echo 'sent=failed&reason='. urlencode($reason);
}
?>




Dodano przez: divix
Ranga: Administrator serwisu Punktów: 38523
Komentarze użytkowników
    • Tre¶æ komentarza
      Kod do komentarza (opcjonalnie)
      PHP JavaScript MySQL Smarty SQL HTML CSS ActionScript
      Autor
      Token
      token

       

       








funkcje.net
Wszelkie prawa zastrzeżone©. | Funkcje.net 2008-2024 v.1.5 | design: diviXdesign & rainbowcolors