Foros del Web » Programando para Internet » PHP »

PROBLEMA: formulario de contacto envía dos correos: uno correcto y otro en blanco.

Estas en el tema de PROBLEMA: formulario de contacto envía dos correos: uno correcto y otro en blanco. en el foro de PHP en Foros del Web. Hola gente! Creé un formulario de contacto en php más un script de campos obligatorios, siguiendo cuando tutorial encontré, y todo funciona bien. PERO, al ...
  #1 (permalink)  
Antiguo 08/03/2010, 09:56
 
Fecha de Ingreso: marzo-2010
Mensajes: 4
Antigüedad: 14 años, 1 mes
Puntos: 0
Pregunta PROBLEMA: formulario de contacto envía dos correos: uno correcto y otro en blanco.

Hola gente!

Creé un formulario de contacto en php más un script de campos obligatorios, siguiendo cuando tutorial encontré, y todo funciona bien. PERO, al poner enviar, me llegan dos correos: uno llega correctamente con la información de los campos, mientras que el otro llega con todos los campos en blanco. De esta forma:

Cita:
Correo 1:

Este mensaje fue enviado por mi nombre
Su e-mail es: [email protected]
Comentario: el comentario bla
Enviado el 08/03/2010

Correo 2:

Este mensaje fue enviado por
Su e-mail es:
Comentario:
Enviado el 08/03/2010

Y claro, el formulario es para la página de un cliente, y no es la idea dejarle la cosa funcionando de manera que se le dupliquen los correos en su bandeja.

¿Alguna idea de cuál es el problema? ¿Será quizás el hosting?... aquí dejo los códigos. Gracias de antemano.


El script para los campos obligatorios, colocado entre <head> y </head>:

Código:
<script>
function validar(form)
{
if(form.nombre.value==""){
alert("Por favor indique su nombre");
form.nombre.focus();
return false;
}

if(form.mail.value==""){
alert("Por favor indique su dirección de correo electrónico");
form.mail.focus();
return false;
}

}
</script>

El formulario en el <body>, estructurado dentro de una tabla:

Código HTML:
<table width="385" border="0" cellpadding="0" cellspacing="0" bgcolor="#666666">
      <form id="form2" name="form2" method="post" action="contacto_enviado.php">
        <tr>
          <td width="140" height="30" align="left" scope="col"><span class="style18">NOMBRE</span></td>
          <td width="250" height="30" align="left" scope="col"><span class="style17">
            <label>
            <input name="nombre" type="text" id="nombre" size="30" />
            </label>
          </span></td>
        </tr>
        <tr>
          <td width="140" height="30" align="left" scope="row"><span class="style18">MAIL</span></td>
          <td width="250" height="30" align="left"><span class="style17">
            <label>
            <input name="mail" type="text" id="mail" size="30" />
            </label>
          </span></td>
        </tr>
        <tr>
          <td height="180" colspan="2" align="left" scope="row"><span class="style17"><span class="style18">COMENTARIO</span><br />
              <label>
              <textarea name="comentario" id="comentario" cols="40" rows="6"></textarea>
              </label>
          </span></td>
        </tr>
        
        <tr>
          <td height="30" colspan="2" align="left" scope="row"><span class="style17">
            <label>
            <input type="submit" name="Enviar" id="Enviar" value="Enviar" onClick="return validar(this.form)"/>
            </label>
          </span></td>
        </tr>
        </form>
      </table> 

Y el php de la página contacto_enviado.php, también ubicado dentro del <head>:

Código PHP:
<?php

$nombre 
$_POST['nombre'];
$mail $_POST['mail'];

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

$mensaje "Este mensaje fue enviado por " $nombre " \r\n";
$mensaje .= "Su e-mail es: " $mail " \r\n";
$mensaje .= "Comentario: " $_POST['comentario'] . " \r\n";
$mensaje .= "Enviado el " date('d/m/Y'time());

$para '[email protected]';
$asunto 'Aplicación formulario de contacto XXX';

mail($para$asuntoutf8_decode($mensaje), $header);

?>
  #2 (permalink)  
Antiguo 08/03/2010, 10:02
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: PROBLEMA: formulario de contacto envía dos correos: uno correcto y otro en

una pregunta sencilla... ¿el script donde envías el mail() es distinto al del formulario o es el mismo??
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 08/03/2010, 10:18
 
Fecha de Ingreso: marzo-2010
Mensajes: 4
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: PROBLEMA: formulario de contacto envía dos correos: uno correcto y otro en

Hola,

tengo también un banner flash en las páginas, asumía que este script era por el flash... si te refieres a esto:

<script src="Scripts/AC_RunActiveContent.js" type="text/javascript"></script>

entonces supongo que sí, es el mismo script el que sale en ambas páginas... :O!!?? (las preguntas pueden no ser tan sencillas para mí )... estoy muy perdida???
  #4 (permalink)  
Antiguo 08/03/2010, 10:21
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: PROBLEMA: formulario de contacto envía dos correos: uno correcto y otro en

bueno, vamos a hacer una prueba.... recarga tu formulario varias veces y no envíes nada

¿te siguen llegando los correos?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 08/03/2010, 10:31
 
Fecha de Ingreso: marzo-2010
Mensajes: 4
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: PROBLEMA: formulario de contacto envía dos correos: uno correcto y otro en

:O!!!

recargué la página de "mensaje enviado" (el .php) y... CHAN! me llegaron más correos en blanco! oh la humanidad!

now waiting for further instruction
  #6 (permalink)  
Antiguo 08/03/2010, 10:34
(Desactivado)
 
Fecha de Ingreso: abril-2008
Mensajes: 787
Antigüedad: 16 años
Puntos: 7
Respuesta: PROBLEMA: formulario de contacto envía dos correos: uno correcto y otro en

por lo que veo tu aplicacion esta bien. no veo ningun error.

aunque en tu boton de envair en el type colocale button.

Código HTML:
Ver original
  1. <input type="button" name="Enviar" id="Enviar" value="Enviar" onClick="return validar(this.form)"/>

aun k eso no cambiaria en nada.

saludos.

Última edición por esaenz22; 08/03/2010 a las 10:37 Razón: correccion.
  #7 (permalink)  
Antiguo 08/03/2010, 10:41
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: PROBLEMA: formulario de contacto envía dos correos: uno correcto y otro en

Cita:
Iniciado por pubita Ver Mensaje
:O!!!

recargué la página de "mensaje enviado" (el .php) y... CHAN! me llegaron más correos en blanco! oh la humanidad!

now waiting for further instruction
perfecto... eso era lo que pensaba... (:

bueno, en si.. la solución esta en colocar el script que envía el correo en otro archivo, y el formulario en uno distinto...

en el action del formulario escribes el nombre del script que envía el correo, así... solo se ejecuta dicho script al procesar el formulario... ;)

ya que en tu caso, el script se procesaba deliberadamente... ya que no haces control del flujo en tu aplicación...
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #8 (permalink)  
Antiguo 08/03/2010, 12:00
 
Fecha de Ingreso: marzo-2010
Mensajes: 4
Antigüedad: 14 años, 1 mes
Puntos: 0
Respuesta: PROBLEMA: formulario de contacto envía dos correos: uno correcto y otro en

pues gracias... pero no me está funcionando, ni yo entendiendo nada... quizás haya algún fallo en la comunicación del problema, así que prosigo a replantearlo (recuerde que soy una aficionada independiente, y lo que manejo es gracias a estos mismos foros de la net, por si escribo solo cabezas de pescado).


Creo que el problema va, primero, que el script al que yo me refería que era el mismo en ambas páginas es el script para que funcionen los banners flash.
Código HTML:
<script src="Scripts/AC_RunActiveContent.js" type="text/javascript"></script> 
Este script se me agrega solo al insertar los flash en las páginas, y nunca lo he tomado en cuenta para crear formularios.


Ahora, en lo que me pierdo entonces es en lo que sugieres que haga con los scripts, ya que fuera del antes mencionado que según entiendo es para los flash, no tengo ninguno más (salvo el script para los campos obligatorios, puesto como código dentro del head:
Código HTML:
<script>
function validar(form)
{
if(form.nombre.value==""){
alert("Por favor indique su nombre");
form.nombre.focus();
return false;
}

if(form.mail.value==""){
alert("Por favor indique su dirección de correo electrónico");
form.mail.focus();
return false;
}

}
</script> 

En la página del formulario (contacto.html), el action es:
Código HTML:
<form id="form2" name="form2" method="post" action="contacto_enviado.php"> 
lo que carga la siguiente página "contacto_enviado.php", que es la página que muestra "mensaje enviado". Solo tiene un php dentro del head de la misma,
Código PHP:
<?php

$nombre 
$_POST['nombre'];
$mail $_POST['mail'];

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

$mensaje "Este mensaje fue enviado por " $nombre " \r\n";
$mensaje .= "Su e-mail es: " $mail " \r\n";
$mensaje .= "Comentario: " $_POST['comentario'] . " \r\n";
$mensaje .= "Enviado el " date('d/m/Y'time());

$para '[email protected]';
$asunto 'Aplicación formulario de contacto XXX';

mail($para$asuntoutf8_decode($mensaje), $header);

?>
y el mismo javascript mencionado de los flashs.


Esa es la situación... Mucho caos???

Etiquetas: blanco, contacto, correo, correos, dos, formulario
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:18.