Foros del Web » Creando para Internet » HTML »

Duda con formulario?

Estas en el tema de Duda con formulario? en el foro de HTML en Foros del Web. hola, no se si este sera la correcta ubicacion de esta pregunta, les explico lo que sucede hice el formulario de mi web siguiendo este ...
  #1 (permalink)  
Antiguo 08/05/2009, 12:23
Avatar de Verys  
Fecha de Ingreso: octubre-2008
Ubicación: Argentina
Mensajes: 48
Antigüedad: 16 años, 1 mes
Puntos: 1
Duda con formulario?

hola, no se si este sera la correcta ubicacion de esta pregunta, les explico lo que sucede hice el formulario de mi web siguiendo este tutorial (con mucha atencion y demore tres dias en que funcione )

hachetetepe://tripledoblev.videotutoriales.us/programacion/php/formulario_de_contacto_que_llegue_al_correo_electr onico.html

Pero me di cuenta hace 2 dias que el formulario se puede enviar sin haber escrito nada, hay alguna forma de que si o si se deba rellenar todos los datos del formulario antes de enviarlo?

les dejo mi pagina, si hacen clic en contacto y despues clic en enviar se envia directamente en mi correo en blanco

hachetetepe://solodeprueba.comuv.com/

el formulario funciona bien, pero quisiera saber si se puede haer lo que digo

Saludos =)
  #2 (permalink)  
Antiguo 08/05/2009, 14:54
Avatar de Avi
Avi
 
Fecha de Ingreso: junio-2006
Mensajes: 13
Antigüedad: 18 años, 4 meses
Puntos: 0
Respuesta: Duda con formulario?

Hola Verys,

yo hago controles para los campos que no quiero que queden vacíos.
Lo que hago es algo así (versión simplificada),

....
$nombre = $_POST["nombre"];
$email = $_POST["email"];
...
if (strlen($nombre)==0 and strlen($email)==0 )
{ mensaje de campo vacío }
else{ envío mail }

suponiendo que los campos nombre y mail son los que quiero que sean obligatorios,

Espero que sea de ayuda,
saludos!
  #3 (permalink)  
Antiguo 09/05/2009, 14:21
Avatar de Verys  
Fecha de Ingreso: octubre-2008
Ubicación: Argentina
Mensajes: 48
Antigüedad: 16 años, 1 mes
Puntos: 1
Respuesta: Duda con formulario?

hola, gracias por responder, coloco el codigo y me marca error ahora

en el ejemplo tengo esto:

en el html:
Código HTML:
 <form id="form1" name="form1" method="post" action="enviar.php">
        <p>Nombre:<br />
         <label>
          <input name="nombre" type="text" id="nombre" />
         </label>
         <br />
        E-mail:<br />
         <input name="email" type="text" id="email" />
         <br />
        Mensaje:<br />
         <textarea name="mensaje" id="mensaje" style="height: 100px"></textarea>
         <br />
         <label>
          <input type="submit" name="Submit" value="Enviar Formulario" />
         </label>
         </p> 
        </form> 
en el php:
Código PHP:
<?php

$mail
='[email protected]';

$nombre $_POST['nombre'];
$email $_POST['email'];
$mensaje $_POST['mensaje'];

$thank="gracias.html";

$message "
nombre:"
.$nombre."
email:"
.$email."
mensaje:"
.$mensaje."";

if (
mail($mail,"Formulario de Consulta",$message))
Header ("Location: $thank");

?>
y cuando se envia el comentario, sale otra pagina que dice que el comentario se envio correctamente

eso quiero hacer pero que diga que falta el nombre o el correo electronico

quiero saber que codigo debo usar para que salga ese cartelito que diga que falta el nombre o la direccion de mail, como por ejemplo donde dice

Código PHP:
$thank="gracias.html"
me vincula a la pagina donde dice que se ha enviado correctamente.

no se mucho sobre php solo segui el tutorial y me surgio esta duda

Saludos =)
  #4 (permalink)  
Antiguo 11/05/2009, 08:03
Avatar de Avi
Avi
 
Fecha de Ingreso: junio-2006
Mensajes: 13
Antigüedad: 18 años, 4 meses
Puntos: 0
Respuesta: Duda con formulario?

Hola!

simplemente incluís el código html del mensaje. Te lo muestro con un ejemplo sencillo:


después de hacer la recolección de variables por _POST:

if (strlen($nombre)==0 and strlen($email)==0 )
{
<div><p>Falta completar el campo nombre o el campo email.</p>.</div>
}
else{
mail($para, $asunto, $cuerpo)
}


Claro que el control sobre los campos vacíos lo podés hacer tan detallado como lo quieras.

Saludos!
  #5 (permalink)  
Antiguo 11/05/2009, 11:38
Avatar de Null_  
Fecha de Ingreso: octubre-2008
Ubicación: Santiago
Mensajes: 530
Antigüedad: 16 años, 1 mes
Puntos: 30
Respuesta: Duda con formulario?

Cita:
Iniciado por Avi Ver Mensaje
Hola!

simplemente incluís el código html del mensaje. Te lo muestro con un ejemplo sencillo:


después de hacer la recolección de variables por _POST:

if (strlen($nombre)==0 and strlen($email)==0 )
{
<div><p>Falta completar el campo nombre o el campo email.</p>.</div>
}
else{
mail($para, $asunto, $cuerpo)
}


Claro que el control sobre los campos vacíos lo podés hacer tan detallado como lo quieras.

Saludos!
Te falto el echo y cerrar las lineas.

Código PHP:
if (strlen($nombre)==and strlen($email)==)

         echo 
"<div><p>Falta completar el campo nombre o el campo email.</p>.</div>";
}
else{ 
         
mail($para$asunto$cuerpo);

Pero con ese código el formulario se enviará aunque solo tenga un campo definido.
Para que los dos campos estén definidos se puede hacer así:

Código PHP:
if($nombre=="" or $email=="")

    if(
$nombre==""){echo "Te falta tu nombre";}
    if(
$email==""){echo "Te falta tu e-mail";}
}
else{ 
    
mail($para$asunto$cuerpo);
    echo 
"E-mail enviado";


saludos!.
__________________
Diego Escares
• Twitter: @diegoescares
• Web: diegoescares.com
  #6 (permalink)  
Antiguo 11/05/2009, 13:58
Avatar de Avi
Avi
 
Fecha de Ingreso: junio-2006
Mensajes: 13
Antigüedad: 18 años, 4 meses
Puntos: 0
Respuesta: Duda con formulario?

Es cierto, para hacer controles campo por campo, hay que discriminarlos en el if, pero lo que faltó en el código de ejemplo que dí no es el echo sino cerrar los tags php, sería así

<?php
if (strlen($nombre)==0 and strlen($email)==0)
{
?>
<div><p>Falta completar el campo nombre o el campo email.</p></div>
<?
}
else{
mail($para, $asunto, $cuerpo)
}
?>

De todas formas el comportamiento es el mismo...
en el caso de usar echo, yo pondría las etiquetas html que correspondan,

saludos!
  #7 (permalink)  
Antiguo 11/05/2009, 14:12
Avatar de Verys  
Fecha de Ingreso: octubre-2008
Ubicación: Argentina
Mensajes: 48
Antigüedad: 16 años, 1 mes
Puntos: 1
Respuesta: Duda con formulario?

me sigue saliendo el error

Parse error: syntax error, unexpected '}' in



Saludos =)
  #8 (permalink)  
Antiguo 12/05/2009, 08:01
Avatar de Avi
Avi
 
Fecha de Ingreso: junio-2006
Mensajes: 13
Antigüedad: 18 años, 4 meses
Puntos: 0
Respuesta: Duda con formulario?

Eso significa que está encontrando un cierre de sentencia donde no debe ir,
fijate que la instrucción mail en el else termine con ;

Me lo marcó Null_ en el mensaje anterior, faltan los terminadores de sentencias
en mi código de ejemplo.

si ese no es el problema podés subir tu código,

saludos!
  #9 (permalink)  
Antiguo 18/05/2009, 14:09
Avatar de Verys  
Fecha de Ingreso: octubre-2008
Ubicación: Argentina
Mensajes: 48
Antigüedad: 16 años, 1 mes
Puntos: 1
Respuesta: Duda con formulario?

Cita:
Iniciado por Avi Ver Mensaje
Eso significa que está encontrando un cierre de sentencia donde no debe ir,
fijate que la instrucción mail en el else termine con ;

Me lo marcó Null_ en el mensaje anterior, faltan los terminadores de sentencias
en mi código de ejemplo.

si ese no es el problema podés subir tu código,

saludos!
hola, este es el codigo que uso

en el html:
Código HTML:
<form id="form1" name="form1" method="post" action="enviar.php">
        <p>Nombre:<br />
         <label>
          <input name="nombre" type="text" id="nombre" />
         </label>
         <br />
        E-mail:<br />
         <input name="email" type="text" id="email" />
         <br />
        Mensaje:<br />
         <textarea name="mensaje" id="mensaje" style="height: 100px"></textarea>
         <br />
         <label>
          <input type="submit" name="Submit" value="Enviar Formulario" />
         </label>
         </p> 
        </form> 
y este el php
Código PHP:
<?php

$mail
='[email protected]';

$nombre $_POST['nombre'];
$email $_POST['email'];
$mensaje $_POST['mensaje'];

$thank="gracias.html";

$message "
nombre:"
.$nombre."
email:"
.$email."
mensaje:"
.$mensaje."";

if (
mail($mail,"Formulario de Consulta",$message))
Header ("Location: $thank");

?>
Saludos =) y gracias por responder
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 05:31.