Ver Mensaje Individual
  #5 (permalink)  
Antiguo 03/10/2008, 11:53
Avatar de stone_neo
stone_neo
 
Fecha de Ingreso: abril-2004
Ubicación: Peru
Mensajes: 438
Antigüedad: 20 años
Puntos: 15
Respuesta: Arreglar este formulario PHP

Puedes probar con esto:

Código:
<?php
$valido = true;
if( isset($_POST['nombre']) and isset($_POST['email']) and isset($_POST['mensaje']) ){   
    if($_POST['nombre']==''){
        $valido = false;
    }   
    if (!ereg("^([a-zA-Z0-9\._]+)\@([a-zA-Z0-9\.-]+)\.([a-zA-Z]{2,4})",$_POST['email'])){
        $valido = false;
    }   
    if($_POST['mensaje']==''){
        $valido = false;
    }   
}else{
    $valido = false;
}
if($valido){
    $contenido  = "Nombre: ".$_POST['nombre']."\n";
    $contenido .= "Correo: ".$_POST['email']."\n";
    $contenido .= "Mensaje: ".$_POST['mensaje']; 
    mail ( $_POST['email'] , "Contacto desde formulario" , $contenido ); 
    header('location:pagina_que_quieras_redirigir.php');
}else{
        echo "<h3>Sus datos contienen errores.</h3>";
    }
?>
Pero recuerda que en tu formulario tus campos deben llamarse igual que en tu script, segundo al hacer uso de header, no puedes enviar nada al navegador, e s decir no hagas ningun echo o print, si no te saldría un error. Y lo de la validación del campo emial, me parece bien pero te recomendaria usar la libreria CPHPLib, ya que si no controlas bien el campo del email te pueden hacer un MAIL HEADER INJECTION y estarían enviado spam desde tu script.


Saludos
__________________
Rubén Darío Huamaní Ucharima
Web : http://www.gorilla-soft.com
Usuario Linux #382 100 :-)