Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/04/2013, 17:56
ignor
 
Fecha de Ingreso: abril-2013
Mensajes: 45
Antigüedad: 11 años, 1 mes
Puntos: 0
Formulario de contacto

Hola, estoy haciendo un formulario de contacto, pero hay algo que me falla en el y no se que es, a ver si alguien me puede decir que hago mal, aquí dejo el código:
Código PHP:
Ver original
  1. <body id="top">
  2. <?
  3.         if(isset($_POST['boton'])){
  4.             $errors = array();
  5.             if($_POST['Nombre'] == ''){
  6.                 $errors[1] = '<span class="error">Ingresa tu Nombre</span>';
  7.             }else if($_POST['Email'] == '' or !preg_match("/^[a-zA-Z0-9_.-]+@[a-zA-Z0-9-]+.[a-zA-Z0-9-.]+$/",$_POST['email'])){
  8.                 $errors[2] = '<span class="error">Ingresa un email válido</span>';
  9.             }else if($_POST['Asunto'] == ''){
  10.                 $errors[3] = '<span class="error">Ingresa el asunto del mensaje</span>';
  11.             }else if($_POST['Mensaje'] == ''){
  12.                 $errors[4] = '<span class="error">Ingresa el mensaje</span>';
  13.             }else{            
  14.                 $dest = "[email protected]"; //Email de destino
  15.                 $nombre = $_POST['Nombre'];
  16.                 $email = $_POST['Email'];
  17.                 $asunto = $_POST['Asunto']; //Asunto
  18.                 //Cabeceras del correo
  19.                 $header = 'From: ' . $email . " \r\n";
  20.                 $header .= "X-Mailer: PHP/" . phpversion() . " \r\n";
  21.                 $header .= "Mime-Version: 1.0 \r\n";
  22.                 $header .= "Content-Type: text/plain"; //
  23.                  
  24.                 $mensaje = "Nombre: " . $nombre . "\nAsunto: " . $asunto . " \r\n";
  25.                 $mensaje .= "E-mail: " . $email . " \r\n";
  26.                 $mensaje .= "Mensaje: " . $_POST['Mensaje'] . " \r\n";
  27.                 $mensaje .= "Enviado el " . date("d/m/y \a \l\a\s H:i:s ");
  28.                
  29.                 if(mail($dest,$asunto, utf8_decode($mensaje),$headers)){
  30.                     $result = '<div class="result_ok">Tu mensaje se envio correctamente.</a>';    
  31.                     // si el envio fue exitoso reseteamos lo que el usuario escribio:
  32.                     $_POST['nombre'] = '';
  33.                     $_POST['email'] = '';
  34.                     $_POST['asunto'] = '';
  35.                     $_POST['mensaje'] = '';
  36.                 }else{
  37.                     $result = '<div class="result_fail">Hubo un error al enviar el mensaje :(</a>';
  38.                 }
  39.             }
  40.         }
  41.     ?>
  42. <div id="respond">
  43.          <form id="form1" name="form1" method="post" action="">
  44.           <p>
  45.             <input name="Nombre" type="text" id="Nombre" size="30" value='<?php echo $_POST['Nombre']; ?>'/>
  46.             <label for="Nombre"><small>Nombre (Requerido)</small></label>
  47.           </p>
  48.           <p>
  49.             <input name="Email" type="text" id="Email" size="40" value='<?php echo $_POST['Email']; ?>'/>
  50.             <label for="Email"><small>E-Mail (Requerido)</small></label>
  51.           </p>
  52.           <p>
  53.             <input name="Asunto" type="text" id="Asunto" size="100" value='<?php echo $_POST['Asunto']; ?>'/>
  54.             <label for="Asunto"><small>Asunto (Requerido)</small></label>
  55.           </p>
  56.           <p>
  57.             <textarea name="Mensaje" cols="500px" rows="10" id="Mensaje"><?php echo $_POST['Mensaje']; ?></textarea>
  58.             <label for="Mensaje" style="display:none;"><small>Mensaje  (Requerido)</small></label>
  59.           </p>
  60.           <p>
  61.             <input type='submit' value='Enviar Mensaje' class='boton' name='boton'/>
  62.             &nbsp;
  63.             <input name="Borrar" type="reset" id="Borrar" value="Borrar" /></center>
  64.           </p>
  65.         </form>
  66.        
  67.          </div>
  68.       <? echo $result; ?><?php echo $errors[1]; ?><?php echo $errors[2]; ?><?php echo $errors[3]; ?><?php echo $errors[4]; ?>
  69. </body>

Cuando ingreso email y después doy a enviar tendría que dar error porque falta el asunto e imprimir un mensaje de alerta, pero no lo imprime y lo mismo pasa con el mensaje, en cambio con el nombre y email funciona bien.
Gracias.