Comunidad de diseño web y desarrollo en internet online

mejorar formulario de correo echo en flash

Citar            
MensajeEscrito el 16 Oct 2009 01:15 am
Hola, tengo un código que me funciona súper bien pero quiero mejorarlo y no se como (soy diseñador)
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.
*/
?>

Por meldredge

0 de clabLevel



 

msie8
Citar            
MensajeEscrito el 12 Ene 2010 12:58 am
tengo el mismo le he hecho cambios pero no debe ser dificil cambiar las funciones
yo quiero agregar que al presionar volver todos los campos queden vacios es cosa de dedicarse y buscar en la web para modificarlo cualquier cosa enviame un email
[email protected] haber si algo podemos hacer

Por jonydread

3 de clabLevel



 

opera
Citar            
MensajeEscrito el 12 Ene 2010 03:14 am

jonydread escribió:

tengo el mismo le he hecho cambios pero no debe ser dificil cambiar las funciones
yo quiero agregar que al presionar volver todos los campos queden vacios es cosa de dedicarse y buscar en la web para modificarlo cualquier cosa enviame un email
[email protected] haber si algo podemos hacer


Este post es de Octubre 2009. De todas formas, para "borrar" los campos solo debes hacer campo.text=""

Saludos, Hernán . -

Por Hernán

BOFH

6148 de clabLevel

19 tutoriales
23 articulos

Genero:Masculino   REC Desarrollador de GAIA

Marketing & IT

firefox
Citar            
MensajeEscrito el 13 Ene 2010 01:59 am
no me habia fijado la fecha
amigo al boton volver le puse el sgte codigo y funciono

Código :

this.b_enviar.onPress = function() {
   gotoAndStop(1);
t_nombre="" 
t_email="" 
t_empresa="" 
t_fono="" 
t_direccion=""
t_texto=""
};
stop();


quiero colocar los campos obligatorios ningun codigo hasta el momento me sive como lo hago??

Por jonydread

3 de clabLevel



 

opera
Citar            
MensajeEscrito el 13 Ene 2010 04:36 pm

Código ActionScript :

if(t_nombre.length){
trace("tienes algo escrito");
}else{
trace("escribe algo!!!");
}

para restringir al telefono solo los numeros es con
t_fono.restrict = "0-9";
*t_fono debe ser nombre de instancia

Por nasho

Claber

908 de clabLevel

1 tutorial

Genero:Masculino  

Web Developer

firefox
Citar            
MensajeEscrito el 14 Ene 2010 02:41 am
amigo muchas gracias!! prendiste mi mente y gracias a san google encontre la solucion
pongo el codigo completo por si a alguien le sirve

Código :

function enviar() {
   if (t_nombre.text.length && t_email.length && t_empresa.length && t_texto.length) {
if (t_email.text.indexOf("@") != -1 && t_emailt.text.indexOf(".") != -1){

   
   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.empresa =t_empresa.text;
   datos_email.fono =t_fono.text;
   datos_email.direccion =t_direccion.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)
}else {
t_email.text = "Correo Invalido";
}
}else {
t_nombre.text = "Dato Necesario";
t_email.text = "Dato Necesario";
t_empresa.text = "Dato Necesario";
t_fono.text = "Dato Necesario";
t_direccion.text = "Dato Necesario";
t_texto.text = "Dato Necesario";
}
}


/*-------------------------------------------------------------------
AUTOR: Paco Naranjo.modificado y mejorado por johany
[email protected]
descargado de: http://www.neurona.org.
Fecha de creación: Domingo 27 de Marzo de 2005

Puede usar y distribuir este código de manera gratuita, pero por favor, respete el texto 
que me nombra como autor y mis datos de contacto.
Si lo usa en algún proyecto o le es de utilidad, puede plantearse poner un enlace a: 
http://www.neurona.org
Si lo hace le estaré muy agradecido.

Si quiere contactar conmigo, use cualquiera de estas direcciones: 
[email protected]
[email protected]
[email protected]

Espero que este código le sirva.
Un saludo.
-------------------------------------------------------------------
*/

Por jonydread

3 de clabLevel



 

opera

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.