Ver Mensaje Individual
  #3 (permalink)  
Antiguo 17/02/2008, 14:10
Avatar de Carlojas
Carlojas
 
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 16 años, 10 meses
Puntos: 49
Re: Formulario de contácto

Bueno primero que todo tu eres el que plantea tus diseños al hacer un formulario de contacto se pueden implementar algunas cosas como soluciones de seguridad y demas por el estilo como es validación del mail que ingresa el usuario que sea válido etc...

Una manera sencilla de hacerlo es utilizando la función mail() de php aca te dejo un ejemplo que siempre me ha funcionado, creas tu formulario con los campos titulo, mail, nombre y contenido del comentario y si quieres que despues de enviar el mensaje se vaya al index utilizas la función header() de PHP.

Código PHP:
// OBTENER EL VALOR DE LAS VARIABLES.
$nombre $_POST['nombre'];
$mail $_POST['mail'];  
$titulo $_POST['titulo'];
$contenido $_POST['contenido'];
$headers .= "From: $nombre $mail\r\n";
                                
// ENVIAR EL MAIL.
mail("[email protected]"$titulo$contenido$headers);
header("location: index.php");
exit(); 
Tambien puedes validar el correo con esta función

Código PHP:
// FUNCION VALIDAR CORREO.            
function check_email_address($email
{
// PRIMERO CHECAR QUE HAY UN SOLO SIMBOLO @ Y QUE LOS DEMAS SEAN LARGOS.
  
if(!ereg("^[^@]{1,64}@[^@]{1,255}$"$email)) 
  {
     
// CORREO INVALIDO POR NUMERO INCORRECTO DE CARACTERES , O NUMERO INCORRECTO DE SIMBOLOS @
    
return false;
  }
    
  
// SE DIVIDE EN PARTES PARA HACERLO MAS SENCILLO.
  
$email_array explode("@"$email);
  
$local_array explode("."$email_array[0]);
  for(
$i 0$i sizeof($local_array); $i++) 
  {
     if(!
ereg("^(([A-Za-z0-9!#$%&'*+/=?^_`{|}~-][A-Za-z0-9!#$%&'*+/=?^_`{|}~\.-]{0,63})|(\"[^(\\|\")]{0,62}\"))$"$local_array[$i])) 
     {
        return 
false;
     }
  } 
    
  
// SE REVISA SI EL DOMINIO ES UNA IP. SI NO, DEBE SER UN NOMBRE DE     DOMINIO VALIDO
     
if(!ereg("^\[?[0-9\.]+\]?$"$email_array[1])) 
     { 
          
$domain_array explode("."$email_array[1]);
        
          if(
sizeof($domain_array) < 2
          {
            return 
false// NO SON SUFICIENTES PARTES O SECCIONES PARA SER UN DOMINIO.
          
}
          for(
$i 0$i sizeof($domain_array); $i++) 
          {
                if(!
ereg("^(([A-Za-z0-9][A-Za-z0-9-]{0,61}[A-Za-z0-9])|([A-Za-z0-9]+))$"$domain_array[$i])) 
                {
                      return 
false;
                }
          }
      }
          return 
true;

y antes de que se envie el comentario se valida de la siguiente manera

Código PHP:
if(check_email_address($mail))
{
    
// envias el mensaje 
}
else
{  
   echo 
"la direccion de correo electronico no es valida";
   exit();

Bueno a mas de esto validas los demas campos lo puedes hacer con la función isset() o con empty()
tambien puedes implementar un CAPTCHA para mas seguridad aqui te dejo un link donde explican su implementación paso a paso CAPTCHA en PHP

Saludos.

Última edición por Carlojas; 17/02/2008 a las 15:13