Ver Mensaje Individual
  #2 (permalink)  
Antiguo 29/12/2010, 04:57
Avatar de repara2
repara2
 
Fecha de Ingreso: septiembre-2010
Ubicación: München
Mensajes: 2.445
Antigüedad: 16 años, 1 mes
Puntos: 331
Respuesta: Alternativas a die() en este código

Tal y como lo planteas no hay alternativa al die, acaso puedes implementar una validación de esos datos. Si hay error devuelves al usuario a la página del form o algo similar. Para validar mails utiliza http://www.forosdelweb.com/f18/peque...emails-848993/

Una versión muy simple con validación sería algo así:
Código PHP:
<?php
if (isset($_POST['submit']))
{

    
//AGREGAR VARIABLE PARA APUNTAR LOS POSIBLES ERRORES
    
$error = "";
    
$nombre = $_POST["nombre"];
    
$remitente = $_POST["email"];
    
$asunto= $_POST["asunto"];
    
$mensaje= $_POST["mensaje"];

    
$mensaje = wordwrap($mensaje, 70);

    
$encabezados = "From: $remitente" . "\r\n" . "Reply-To: $remitente" . "\r\n" . 'Content-type: text/plain; charset=iso-8859-1';

    if(empty(
$remitente)){
        
$error .= "Remitente vacío.";
    } elseif (empty(
$mensaje)){
        
$error .= "Msg vacío.";
    } elseif (empty(
$asunto)) {
        
$error .= "Asunto vacío.";
    } elseif (empty(
$nombre)) {
        
$error .= "Nombre vacío.";
    } else {
        
$destino = "[email protected]";
    }
    
    if(
$error!=""){
    
mail($destino, $asunto, $mensaje, $encabezados) or die ("Mensaje no enviado");
    echo 
"Mensaje enviado";
    }
    else{
        echo 
$error;
    }

    
}
?>
Espero que sirva, saludos