Hice un script de formulario, basado en el que viene en el faq, y lo he modificado un poco.
He insertado el codigo php de action.php (el nombre del archivo con la accion del envio), y le he agregado un javascript para que redireccione después de unos segundos.
El problema es, que de alguna forma, aunque solo haga click una vez en "enviar" envia correos duplicados, es decir, cuando alguien me manda un mail atravéz del formulario, me llegan 2 ó 3 mensajes iguales. ¿Como lo puedo arreglar?
Este es el código:
Código:
Otra cosa: Habia intentado verificar que la variable de comentario contenga algo en el string, con el simbolo de not (!), de esta forma:<?php $sfrom=$_GET["email"]; //cuenta que envia el mail $sdestino="[email protected]"; //cuenta que recibira el mail $ssubject=$_GET["asunto"]; //el asunto del mensaje if ($ssubject==""){$ssubject="Formulario de Envio";} //Asiga un asunto en caso de no haber alguno $scomentario=$_GET["comentario"]; //Asigna el comentario a la variable scomentario $shtml="Nick: ".$_GET["nombre"]."\n\nComentario:\n\n".$scomentario."\n\n"; //el nick y el comentario $sheader="From:".$sfrom."\nReply-To:".$sfrom."\n"; $sheader=$sheader."X-Mailer:PHP/".phpversion()."\n"; if (strstr($sfrom, "@")) { //comprueba que el string insertado en email contenga el simbolo '@' if ($scomentario==""){echo "<center><strong>Debes insertar un comentario</strong></center>";}else{ mail($sdestino,$ssubject,$shtml,$sheader); //Finalmente, manda el correo echo "<center><strong>Su mensaje ha sido enviado.</strong><br />En unos momentos será redireccionado</center>"; } }else{ echo "<center><strong>Debes insertar una dirección email valida</strong></center>";} ?> <script LANGUAGE="JavaScript"> var pagina="contacto.php" function redireccionar() { location.href=pagina } setTimeout ("redireccionar()", 10000); </script>
if !($scomentario==""){
pero no funciono... no se que estaria haciendo mal al poner el simbolo. Quite el simbolo y acomode las cosas de otro modo y funciono. Solo quiero saber porque esta mal que ponga 'not' de esta manera.
De ante mano, muchisimas gracias...