Ver Mensaje Individual
  #1 (permalink)  
Antiguo 15/04/2010, 13:32
jft_id
 
Fecha de Ingreso: abril-2010
Mensajes: 2
Antigüedad: 14 años
Puntos: 0
Pregunta Mi formulario me envia información en blanco

Hola que tal a todos, tengo el siguiente problema. Cree un formulario de contacto el cual me envia la información a un correo electrónico, antes usaba un contacto.html que redireccionaba a un PHP, pero de unos días para acá decidí que las funciones fueran desde un único documento.
El problema es que cuando carga la pagina contacto.php, el PHP se ejecuta y me manda un correo electrónico totalmente en blanco. Si puedes escribir tus datos y luego enviar la información, pero me llegan dos correos, uno en blanco y el otro con los datos y eso es un tanto engorroso operativamente.
Adicionalmente a esto uso una validación con JavaScript, el código está al final.
Ya traté de implementar el método
Código:
if (isset($_POST['enviar']))
, pero me sigue mandando información en blanco.

¿Alguién podría ayudarme a resolver este problema? Muchas gracias de antemano.

El código PHP que he usado es el siguiente:

Código PHP:
<?php
$nombre                     
stripslashes ($_POST['nombre']);
$titulo                        stripslashes ($_POST['titulo']);
$empresa                    stripslashes ($_POST['empresa']);
$telefono                    stripslashes ($_POST['telefono']);
$Email                         stripslashes ($_POST['Email']);
$subject                    stripslashes ($_POST['asunto']);
$comentario                     stripslashes ($_POST['comentario']);

$para "[email protected]";
$asunto $subject;

$header .= "X-Mailer: PHP/" phpversion() . " \r\n";
$header .= "Mime-Version: 1.0 \r\n";
$header .= "Content-Type: text/html; charset='iso-";

$mensaje  =    $asunto " \r\n";
$mensaje .= "                                " " \r\n";
$mensaje .= $comentario " \r\n";
$mensaje .= "                                " " \r\n";
$mensaje .= "Favor de enviarme una respuesta a estos datos:           " " \r\n";
$mensaje .= "                                " " \r\n";
$mensaje .= "Empresa de Contacto:            " $empresa ." \r\n";
$mensaje .= "                                " " \r\n";
$mensaje .= "Nombre de Contacto:            " $nombre " \r\n";
$mensaje .= "                                " " \r\n";
$mensaje .= "Telefono de Contacto:            " $telefono ." \r\n";
$mensaje .= "                                " " \r\n";
$mensaje .= "E-Mail de Contacto:            " $Email " \r\n";
$mensaje .= "                                " " \r\n";
$mensaje .= "Gracias";

mail($para$asunto$header$mensaje);
if (isset(
$_POST['enviar'])) {
}
?>
Y el formulario es el siguiente:

Código HTML:
<form id="contacto" action="<?php echo htmlentities($_SERVER['PHP_SELF']); ?>" method="post">
      <table class="contacto">
       <tr>
        <td class="label">Asunto</td>
        <td class="data">
         <label>
          <input class="field" type="text" name="asunto" id="asunto" tabindex="1" />
         </label>
        </td>
       </tr>
       <tr>
        <td class="label">Empresa</td>
        <td class="data">
         <label>
          <input class="field" type="text" name="empresa" id="empresa" tabindex="2" />
         </label>
        </td>
       </tr>
       <tr>
        <td class="label">Nombre</td>
        <td class="data">
         <label>
          <input class="field" type="text" name="nombre" id="nombre" tabindex="3" />
         </label>
        </td>
       </tr>
       <tr>
        <td class="label">Tel&eacute;fono</td>
        <td class="data">
         <label>
          <input class="field" type="text" name="telefono" id="telefono" tabindex="4" />
         </label>
        </td>
       </tr>
       <tr>
        <td class="label">E-mail</td>
        <td class="data">
         <label>
          <input class="field" type="text" name="Email" id="Email" tabindex="5" />
         </label>
        </td>
       </tr>
       <tr>
        <td class="label">Comentarios:</td>
        <td class="data">
         <label>
          <textarea class="comment" name="comentario" id="comentario" cols="25" rows="2" tabindex="6"></textarea>
         </label>
        </td>
       </tr>
       <tr>
        <td></td>
        <td class="data"><input name="enviar" value="Enviar" type="submit" onclick="alert('Esto enviar&aacute; el formulario a trav&eacute;s de Internet. Gracias por ponerse en contacto con nosotros');return true"/><input name="limpiar" type="reset" value="Limpiar" /></td>
      </tr>
     </table>
    </form> 
El método de validación es:

Código:
<script type="text/javascript">
  var frmvalidator  = new Validator("contacto");
  
  frmvalidator.EnableMsgsTogether();
  
  frmvalidator.addValidation("asunto","req","Por favor escriba el Asunto del mensaje");
  frmvalidator.addValidation("asunto","minlen=5","Mínimo 5 caracteres");
  
  frmvalidator.addValidation("empresa","req","Por favor escriba de que Empresa nos contacta");
  frmvalidator.addValidation("empresa","minlen=3","Mínimo 3 caracteres");
  
  frmvalidator.addValidation("nombre","req","Por favor escriba su Nombre Completo");
  frmvalidator.addValidation("nombre","minlen=5","Mínimo 5 caracteres");
  
  frmvalidator.addValidation("telefono","req", "Por favor escriba un teléfono de contacto");
  frmvalidator.addValidation("telefono","numeric");
  
  frmvalidator.addValidation("Email","maxlen=50");
  frmvalidator.addValidation("Email","req");
  frmvalidator.addValidation("Email","email");
  
  frmvalidator.addValidation("comentario","req","Por favor escriba su Mensaje");
 </script>

Última edición por jft_id; 15/04/2010 a las 13:35 Razón: Información Adicional