Ver Mensaje Individual
  #3 (permalink)  
Antiguo 07/06/2008, 21:03
magicgdl
 
Fecha de Ingreso: junio-2008
Mensajes: 3
Antigüedad: 15 años, 11 meses
Puntos: 0
Respuesta: Ayuda con formulario que se manda en blanco...

Perdon si no explique bien...

El problema en si es que si tu te metes a www.loquesea.com/contacto.php con solo dar click en la liga que te lleva ahi desde tu navegador se envian dos mensajes al correo especificado sin necesidad de darle al boton de enviar.

Este es el codigo de validacion "js" y dentro de el puse (la verdad no sabia si se podia) el codigo php que envia el correo.

Codigo js y php

Código PHP:
<script>

function valida_envia(){
    //valido el nombre
    if (document.fvalida.nombre.value.length==0){
        alert("Tiene que escribir su nombre")
        document.fvalida.nombre.focus()
        return false;
    }
    //valido el mail
    if (document.fvalida.email.value.length==0){
        alert("Tiene que escribir su email")
        document.fvalida.email.focus()
        return false;
    }

    //ejemplo valida mail
    if ((document.fvalida.email.value == "") || 
        (document.fvalida.email.value.indexOf('@') == -1) || 
        (document.fvalida.email.value.indexOf('.') == -1)) {
        alert("Tu mail tiene errores")
        document.fvalida.email.focus()
        return false;
    }
    
    //valido el interés
    if (document.fvalida.interes.selectedIndex==0){
        alert("Debe seleccionar un asunto.")
        document.fvalida.interes.focus()
        return false;
    }
    
    //valido los comentarios
    if (document.fvalida.comentarios.value.length==0){
        alert("Por favor escribe tus comentarios.")
        document.fvalida.nombre.focus()
        return false;
    }

    //el formulario se envia
    else
    alert("Gracias por enviar tus comentarios");
    document.fvalida.submit();
    return true;

    <?php
    
//Recoge las variables
    
$nombre $_POST['nombre'];
    
$email $_POST['email'];
    
$asunto $_POST['interes'];
    
$contenido $_POST['comentarios'];

    
//Preparando envio de correo
    
$De $email;
    
$Para '[email protected]'
    
$Cuerpo.="Datos enviados desde www.lamasquerida.com formulario de contacto.\n\n";
    
$Cuerpo.="Nombre: $nombre\n\n";
    
$Cuerpo.="Comentarios:\n\n$contenido\n\n";
    
$Cabeceras="From: $De\r\n";
    
$Cabeceras.="Reply-To: $De\r\n";
    
$Cabeceras.="Content-type: text/plain; charset=iso-8859-1\r\n";
    
//enviando el mail
    
mail($Para$asunto$Cuerpo$Cabeceras);

    
?>
}
</script>
y este es el del formulario que mandar llamar al js

Código HTML:
 <form name="fvalida" action="contacto.php" method="post">
      <p>&nbsp;</p>
      <table bordercolor="#FF0000">
<tr>
    <td>Nombre: </td>
    <td><input type="text" name="nombre" size="30" maxlength="100"></td>
</tr>
<tr>
    <td>Email: </td>
    <td><input type="text" name="email" size="30" maxlength="100"></td>
</tr>
<tr>
    <td>Asunto:</td>
    <td>
    <select name=interes>
    <option value="Elegir">Elegir
    <option value="Queja">Queja
    <option value="Sugerencia">Sugerencia
    <option value="Reservar">Reservar
    </select> </td>
</tr>
<tr>
  <td>Comentarios:</td>
  <td><textarea name="comentarios" rows="5" ></textarea></td>
</tr>
<tr>
    <td>&nbsp;</td>
    <td><p>&nbsp;</p>
      <p>&nbsp;</p></td>
</tr>
<tr>
    <td colspan="2" align="center"><input type="button" value="Enviar" onClick="valida_envia()"></td>
</tr>
</table>

</form> 


Gracias por la recomendación, de echo pues quiero mejorar el formulario poniendole tambien validacion php, pero por el momento necesito que ya este, de nuevo muchas gracias por los comentarios.