intruder2600 Twój link nie działa nie mogę, więc stwierdzić, jakie pola ma mieć formularz.
Podany przykład jest bardzo stary opiera się na kodzie, który nie jest preferowany od wersji Flash 5, więc może nie działać prawidłowo w nowych Platerach.
Odradzam walidacje (oprócz testu wypełnienia wymaganych pól) formularzy w samym Flashu, nie obsługuje on wyrażeń regularnych. Walidację lepiej jest robić, już w samym PHP po tym jak skrypt otrzyma dane z Flasha.
Najprościej: Przykładowo we Flashu mamy 3 pola input o nazwach user_txt, mail_txt, body_txt oraz button o nazwie my_btn.
Kod dla Flasha:
Kod: Zaznacz cały
var myVars = new LoadVars();
my_btn.onRelease = function() {
if (user_txt.length > 0 && mail_txt.length > 0 && body_txt.length > 0) {
myVars._user = user_txt.text;
myVars._mail = mail_txt.text;
myVars._body = body_txt.text;
myVars.send("index.php?send=OK", "_self", "POST");
} else {
trace("wypełnij wszystie pola");
}
};
Kod dla PHP:
[php]<?php
if($_GET['send'] == 'OK'){
$_user = validF($_POST['_user']);
$_mail = validF($_POST['_mail'])
$_mail = validF($_POST['_body'])
if(!eregi('^[[:alnum:]][a-z0-9_.-]*@[a-z0-9.-]+\.[a-z]{2,4}$', $_mail)){
echo 'Niepoprawny E-mail';
}else{
mail('
[email protected]', 'Temat',"
User: $_user
E-mail: $_mail
Tresc: $_body", "From");
}
}
function validF($arg){
return stripcslashes(strip_tags(trim($arg)));
}
?>[/php]
P.S. NA PHP się słabo znam, jeżeli można zrobić to lepiej proszę mnie poprawic.