Solo hasta hora e podido agregar campos sin problemas, pero me gustaría poder exigir algunas cosas a quienes envían correos desde mi WEB como:
1.- todos los campos obligatorios
2.- que exija usar arroba en el campo de E-mail (1 sola)
3.- campo solo numérico en el campo del teléfono
Mi código es:
FOTOGRAMA 1de capa 1:
/*
Esta función se encarga de enviar el email.
Usa un objeto LoadVar para enviar el email y se programa el evento
onload de dicho objeto para recibirla respuesta del servidor.
*/
function enviar() {
trace(t_nombre.text);
//se crea un nuevo objeto LoadVars y se carga con los datos que vamos a enviar.
datos_email.nombre =t_nombre.text;
datos_email.email =t_email.text;
datos_email.telefono =t_telefono.text;
datos_email.asunto =t_asunto.text;
datos_email.texto =t_texto.htmlText;
//
datos_email.estado ="";
//Se programa la función que se ejecutara al recibir la respuesta del servidor
datos_email.onLoad = function() {
/*
al ejecutarse la función dentro del objeto loadVars, debemos usar 'this'
para referirnos a 'datos_email'.
'estado' es una variable que nos devuelve el scrip php, nos referimos a ella
como this.estado.
*/
trace(this);
trace(this.estado);
if (this.estado == "enviado") {
//si el email se ha enviado, vamos al fotograma 2.
gotoAndStop(3);
} else {
//en caso contrario, vamos al fotograma 3
gotoAndStop(4);
}
};
//se envian los datos usando sendAndLoad.
datos_email.sendAndLoad("enviar_email.php", datos_email, "post");
gotoAndStop(2)
}
FOTOGRAMA 1de capa 2:
/*
Activamos la utilización de unicode, esto puede darle problemas si sus scrips
no usan unicode para comunicarse con el servidor.
en este caso elimine o comente la siguiente linea:
*/
System.useCodepage = false;
/*
Si no existe, creamos el objeto loadvars que usaremos para comunicarnos con el servidor
*/
if(datos_email==null){
datos_email = new LoadVars();
datos_email.nombre ="";
datos_email.email ="";
datos_email.telefono ="";
datos_email.asunto ="";
datos_email.texto ="";
datos_email.estado ="";
}
//
t_nombre.text=datos_email.nombre;
t_email.text=datos_email.email;
t_telefono.text=datos_email.telefono;
t_asunto.text=datos_email.asunto;
t_texto.htmlText=datos_email.texto;
/*
programamos el botón para que llame a la función
enviar al hacer clic sobre el
*/
this.b_enviar.onPress = enviar;
stop();
PHP DOCUMENTO:
//estas variables las usaremos en el comando 'mail()' para costruir el email.
//DEBE CAMBIAR EL VALOR DE $destinatario por la dirección de correo que va a recibir el email:
$destinatario="[email protected], [email protected]";
//estos datos se usaran como cabecera del email.
$cabeceras="MIME-Version: 1.0\r\n";
$cabeceras .= "Content-type: text/html; charset=utf-8\r\n";
$cabeceras.="From: {$_POST['nombre']}<{$de}>\r\n";
$cabeceras.="Reply-To: {$_POST['email']}\r\n";
$cabeceras.="Reply-To: {$_POST['telefono']}\r\n";
$cabeceras.="Reply-To: {$_POST['asunto']}\r\n";
//el asunto del mensaje:
$asunto="Contacto de Pagina Web";
//El cuerpo del mensaje:
$cuerpo=' Ha recibido un E-mail de: <strong>'.$_POST['nombre'].'</strong>
<br />
<br />
E-mail: <strong>'.$_POST['email'].'</strong>
<br />
<br />
Telefono: <strong>'.$_POST['telefono'].'</strong>
<br />
<br />
Asunto: <strong>'.$_POST['asunto'].'</strong>
<br />
<br />
Con el siguiente contenido:';
$cuerpo.='<br><strong>'.$_POST['texto'].'</strong><br>';
//la persona que envia el email.
$de=$_POST['email'];
/*
el comando 'mail(destinatario,asunto,cuerpo del mensaje, [parametros adicionales])'
envia un email y devuelve true si el email fue aceptado para su envio,
encaso contrario devuenve false.
Para mas información sobre 'mail()' visite: http://es2.php.net/manual/es/function.mail.php
*/
if(mail($destinatario, $asunto, $cuerpo,$cabeceras)){
echo utf8_encode('&estado=enviado');
}else{
echo utf8_encode('&estado=no_enviado');
}
/*TEN CUIDADO DE NO ESCRIBIR NINGUN CARACTER DESPUES DE LA ETIQUETA '?>' NI ANTES DE '<?php' si hay
un espacio en blanco, un retorno de carro o cualquier otro caracter puede que el script
no funcione correctamente.
*/
?>
