Foros del Web » Programando para Internet » PHP »

Ayuda con formulario que se manda en blanco...

Estas en el tema de Ayuda con formulario que se manda en blanco... en el foro de PHP en Foros del Web. Hola que tal un saludo y espero me puedan ayuda. Tengo un formulario de contacto que se valida con js, funciona bien la validacion aunque ...
  #1 (permalink)  
Antiguo 07/06/2008, 19:34
 
Fecha de Ingreso: junio-2008
Mensajes: 3
Antigüedad: 15 años, 10 meses
Puntos: 0
Ayuda con formulario que se manda en blanco...

Hola que tal un saludo y espero me puedan ayuda.

Tengo un formulario de contacto que se valida con js, funciona bien la validacion aunque aun me falta agregarle algunas cosas pero ahorita con eso es suficiente... el problemas es que cuando ingreso a contacto.php me envia automaticamente un mail al correo que esta definido con la informacion en blanco...

les pego mi codigo.

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Contacto</title>
<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.="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><style type="text/css">




<style type="text/css">
<!--
body {
background-color: #000000;
}
-->
</style></head>

<body>
<table border="0" align="center">
<tr>
<th scope="col"><?php include('header.php'); ?></th>
</tr>
</table>
<table height="27" border="0" align="center">
<tr align="center" valign="top">
<th width="185" scope="col"><?php include('news.php'); ?>
<th width="564" scope="col">

<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>


</th>
<th width="185" scope="col"><?php include('gallery.php'); ?></th>
</tr>
<tr></tr>
</table>
<table border="0" align="center">
<tr>
<th scope="col"><p>
<?php include('footer.php'); ?>
</p>
</th>
</tr>
</table>
</body>
</html>
  #2 (permalink)  
Antiguo 07/06/2008, 19:52
 
Fecha de Ingreso: enero-2008
Ubicación: La Plata
Mensajes: 136
Antigüedad: 16 años, 3 meses
Puntos: 3
Respuesta: Ayuda con formulario que se manda en blanco...

No entiendo muy bien cual es el problema , pero puedo darte 2 consejos:
1-Postea el codigo PHP entre las etiquetas
Código PHP:
 y 
asi le es mas facil para leer.
2-No conviene usar JS para validaciones , ya que yo puedo desactivar JS desde las preferencias del navegador y safar asi de todas las validaciones.

Suerte!
  #3 (permalink)  
Antiguo 07/06/2008, 21:03
 
Fecha de Ingreso: junio-2008
Mensajes: 3
Antigüedad: 15 años, 10 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.
  #4 (permalink)  
Antiguo 09/06/2008, 21:14
 
Fecha de Ingreso: junio-2008
Mensajes: 3
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Ayuda con formulario que se manda en blanco...

Perdon es de hecho....
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 15:35.