Ver Mensaje Individual
  #3 (permalink)  
Antiguo 13/06/2009, 11:07
Avatar de temaqueja
temaqueja
 
Fecha de Ingreso: agosto-2002
Ubicación: /dev/null/
Mensajes: 399
Antigüedad: 21 años, 8 meses
Puntos: 4
Respuesta: enviar email con xajax

No te sale nada (del mensaje de error) porque la peticion la hace el xajax, prueba a ejecutar solo y directamente el script para q puedas ver y cazar los mensajes de error...

Código PHP:
<?php 
//***********************CONTACTENOS**************************//  
function validar_email($email) {     
    return 
preg_match('/^(([^<>()[\]\\.,;:\s@"\']+(\.[^<>()[\]\\.,;:\s@"\']+)*)|("[^"\']+"))@((\[\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\])|(([a-zA-Z\d\-]+\.)+[a-zA-Z]{2,}))$/'$email); 


function 
procesar_contacto($form_entrada){ 
   
//creo el xajaxResponse para generar una salida 
   
$respuesta = new xajaxResponse(); 
   
$respuesta->setCharacterEncoding('ISO-8859-1'); 
    
   
//validación 
   
$error_form ""
   if (
$form_entrada["nombre"] == ""){ 
      
$error_form "* Debe escribir su nombre"
      
$marca "focus1";} 
   elseif (
$form_entrada["postal"] == ""){ 
      
$error_form "* Debe escribir su nº postal"
      
$marca "focus2";} 
   elseif (
$form_entrada["telefono"] == ""){ 
        
$error_form "* Debe escribir su teléfono"
      
$marca "focus3";} 
   elseif (
$form_entrada["email"] == ""){ 
      
$error_form "* Debe escribir su e-mail"
      
$marca "focus4";} 
    elseif (!
validar_email($form_entrada["email"])){ 
      
$error_form "* El e-mail es invalido"
      
$marca "focus4";} 
   elseif (
$form_entrada["requerimiento"] == ""){ 
      
$error_form "* Debe escribir sus requerimientos"
      
$marca "focus5";} 
       
   
//compruebo resultado de la validación 
   
if ($error_form != ""){ 
      
//Hubo un error en el formulario 
      //en la capa donde se muestran mensajes, muestro el error 
      
$respuesta->Assign("alert","innerHTML","<span style='color:red;'>$error_form</span>"); 
      
$respuesta->Assign("focus1","innerHTML",""); 
      
$respuesta->Assign("focus2","innerHTML",""); 
      
$respuesta->Assign("focus3","innerHTML",""); 
      
$respuesta->Assign("focus4","innerHTML",""); 
      
$respuesta->Assign("focus5","innerHTML",""); 
      
$respuesta->Assign($marca,"innerHTML","<span style='color:red; font-size:10px;'>*</span>"); 
   }else{ 
     
// $salida = '<img src="images/sending.gif" width="16" height="16" />'; 
      //$respuesta->Assign("success","innerHTML",$salida); 
      //formateamos datos 
      
$mensaje $form_entrada["requerimiento"]; 
      
$mensajeN str_replace("\n","<br>",$mensaje); 
      
$fecha_envio date('d/m/Y'time()); 
      
$fecha_envio htmlentities($fecha_envio); 
      
$cuerpo_html 'mi mensaje'

      
$header 'From: ' $form_entrada["email"] . " \r\n"
      
$header .= "X-Mailer: PHP/" phpversion() . " \r\n"
      
$header .= "Mime-Version: 1.0 \r\n"
      
$header .= "Content-Type: text/html"
      
$para '[email protected]'
      
$asunto 'Contacto Web f1lab.com'
       
      if(!
mail($para$asunto$cuerpo_html$header)){ 
            
$salida "No se pudo enviar su mensaje<br>en estos momentos"
            
$respuesta->Assign("success","innerHTML",$salida); 
      }else{ 
            
$salida 'Su mensaje ha sido enviado<br>con éxito'
              
$respuesta->Assign("success","innerHTML",$salida); 
      }   
      
//tenemos que devolver la instanciación del objeto xajaxResponse 
   

   return 
$respuesta


$arreglotest = array('requerimiento'=>'xxx''email'=>'tumail@...', ... );
echo 
procesar_contacto($arreglotest);
?>
Ejecutas el archivo del script directamente y despues q soluciones le quitas o comentas lo q agregaste al final para probarlo en xajax

espero sirva
__________________
_________________________
La computadora nació para resolver problemas que antes no existían