Foros del Web » Creando para Internet » Flash y Actionscript »

Problema Con formulario.

Estas en el tema de Problema Con formulario. en el foro de Flash y Actionscript en Foros del Web. Hola todos. Tengo este codigo pero mi formulario no me funciona si quieren lo pueden ver en esta Direccion. http://www.castillojorge.com/ El codigo utilizado es AS3: ...
  #1 (permalink)  
Antiguo 23/11/2010, 19:57
 
Fecha de Ingreso: mayo-2009
Mensajes: 111
Antigüedad: 15 años, 5 meses
Puntos: 2
Pregunta Problema Con formulario.

Hola todos.
Tengo este codigo pero mi formulario no me funciona si quieren lo pueden ver en esta Direccion. http://www.castillojorge.com/

El codigo utilizado es AS3:
Código:
stop();

contact_name.text = "Nombre";
contact_email.text = "Mail";
contact_subject.text = "Asunto";
contact_message.text = "Mensaje";
message_status.text = "";

contact_name.addEventListener(FocusEvent.FOCUS_IN, clear);
function clear(e:FocusEvent)
{
     contact_name.text = "";
}

contact_email.addEventListener(FocusEvent.FOCUS_IN, clear1);
function clear1(e:FocusEvent)
{
     contact_email.text = "";
}

contact_subject.addEventListener(FocusEvent.FOCUS_IN, clear2);
function clear2(e:FocusEvent)
{
     contact_subject.text = "";
}

contact_message.addEventListener(FocusEvent.FOCUS_IN, clear3);
function clear3(e:FocusEvent)
{
     contact_message.text = "";
}

send_button.addEventListener(MouseEvent.CLICK, submit);
reset_button.addEventListener(MouseEvent.CLICK, reset);

var timer:Timer;
var var_load:URLLoader = new URLLoader;
var URL_request:URLRequest = new URLRequest( "enviarmail.php" );
URL_request.method = URLRequestMethod.POST;

function submit(e:MouseEvent):void
{
	if( contact_name.text == "" || contact_email.text == "" ||
		contact_subject.text == "" || contact_message.text == "" )
	{
		message_status.text = "* Por favor rellene todos los campos.";
	}
	else if( !validate_email(contact_email.text) )
	{
		message_status.text = "* Por favor ingrese una direccion de correo valida.";
	}
	else
	{
		message_status.text = "enviando...";
		
		var email_data:String = "name=" + contact_name.text
					   + "&email=" + contact_email.text
					   + "&subject=" + contact_subject.text
					   + "&message=" + contact_message.text;
					   
		var URL_vars:URLVariables = new URLVariables(email_data);
		URL_vars.dataFormat = URLLoaderDataFormat.TEXT;
		
		URL_request.data = URL_vars;
		var_load.load( URL_request );
		var_load.addEventListener(Event.COMPLETE, receive_response );
	}
}

function reset(e:MouseEvent):void
{
	contact_name.text = contact_email.text = contact_subject.text = 
	contact_message.text = message_status.text = "";
}

function validate_email(s:String):Boolean 
{
	var p:RegExp = /(\w|[_.\-])+@((\w|-)+\.)+\w{2,4}+/;
	var r:Object = p.exec(s);
	if( r == null ) 
	{
		return false;
	}
	return true;
}

function receive_response(e:Event):void
{
	var loader:URLLoader = URLLoader(e.target);
    var email_status = new URLVariables(loader.data).success;
	
	if( email_status == "yes" )
	{
		message_status.text = "Su mensaje fue enviado con exito.";
		timer = new Timer(500);
		timer.addEventListener(TimerEvent.TIMER, on_timer);
		timer.start();
	}
	else
	{
		message_status.text = "Su mensaje no pudo ser enviado.";
	}
}

function on_timer(te:TimerEvent):void 
{
	if( timer.currentCount >= 10 )
	{
		contact_name.text = contact_email.text = contact_subject.text = 
		contact_message.text = message_status.text = "";
		timer.removeEventListener(TimerEvent.TIMER, on_timer);
	}
}
PHP

Código PHP:
<?php
$contact_name 
$_POST['name'];
$contact_email $_POST['email'];
$contact_subject $_POST['subject'];
$contact_message $_POST['message'];

if( 
$contact_name == true )
{
    
$sender $contact_email;
    
$receiver "[email protected]";
    
$client_ip $_SERVER['REMOTE_ADDR'];
    
$email_body "Name: $contact_name \nEmail: $sender \n\nSubject: $contact_subject \n\nMessage: \n\n$contact_message \n\nIP: $client_ip \n\nFlash Contact Form provided by http://www.flashmo.com";        
    
$extra "From: $sender\r\n" "Reply-To: $sender \r\n" "X-Mailer: PHP/" phpversion();

    if( 
mail$receiver"Flash Contact Form - $contact_subject"$email_body$extra ) ) 
    {
        echo 
"success=yes";
    }
    else
    {
        echo 
"success=no";
    }
}
?>
El php me dice que no se pueden detectar los rchivos relacionados dinamicamente.

Gracias y que pena lo largo.
  #2 (permalink)  
Antiguo 01/12/2010, 13:57
 
Fecha de Ingreso: diciembre-2010
Mensajes: 1
Antigüedad: 13 años, 11 meses
Puntos: 0
Respuesta: Problema Con formulario.

hola joaca probe tu formulario y funciona bien..
con este php

Código PHP:
Ver original
  1. <?php
  2. $contact_name = $_POST['name'];
  3. $contact_email = $_POST['email'];
  4. $contact_subject = $_POST['subject'];
  5. $contact_message = $_POST['message'];
  6.  
  7. $contact_message = "Este mensaje fue enviado por " . $contact_name . " \r\n";
  8. $contact_message .= "El Motivo es: " . $contact_subject . " \r\n";
  9. $contact_message .= "Su e-mail es: " . $contact_email . " \r\n";
  10. $contact_message .= "Mensaje: " . $_POST['message'] . " \r\n";
  11. $contact_message .= "Enviado el " . date('d/m/Y', time());
  12.  
  13. $header = "From: $contact_name <$contact_email> \r\n";
  14. $header .= "Reply-To: $mail";
  15.  
  16. $client_ip = $_SERVER['REMOTE_ADDR'];
  17.  
  18. if(mail("[email protected]", "Desde La Web ---------- - de $contact_name", $contact_message, $header)){
  19.     echo "success=Su mensaje FUE Enviado";
  20. }
  21. else{
  22.     echo "success=Su mensaje NO fue enviado";
  23. }
  24. ?>

un dato,..

es q a hotmail. no envia, pero a gmail. llega perfecto

otro dato.

que cuando envias el mensaje y le das click en ENVIAR, te sale "el mensaje no pudo ser enviado".revisas tu mail y el mensaje de todas maneras ah llegado, no se en q parte del codigo puede haber afectado q este mal.. pero el msj llega perfecto

me avisas si logras evitar ese error de "el msj no a sido enviado",

de ultima sera cambiar los datos en el fla

Etiquetas: formulario
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:10.