Foros del Web » Programando para Internet » PHP »

finalizando formularios

Estas en el tema de finalizando formularios en el foro de PHP en Foros del Web. Hola se crear el tipico formulario que este envía a la bd y luego hace el login me gustaría saber lo siguiente. 1 - Se ...
  #1 (permalink)  
Antiguo 28/09/2011, 08:41
(Desactivado)
 
Fecha de Ingreso: abril-2009
Mensajes: 47
Antigüedad: 15 años
Puntos: 0
finalizando formularios

Hola se crear el tipico formulario que este envía a la bd y luego hace el login me gustaría saber lo siguiente.

1 - Se pueden poner a través de php que haya campos obligatorios?
2 - Hacer que si "opcion1" no coincide y "opcion2" no coincide no enviar el formulario.

Vamos un formulario un poquito mas completito he estado leyendo esto

Con esto no digo que me deis el codigo si no que se puede de la manera que estoy planteando el registro.

Un form lo envia a la bd.
  #2 (permalink)  
Antiguo 28/09/2011, 09:05
Avatar de jotaincubus  
Fecha de Ingreso: mayo-2005
Ubicación: Medellin - Colombia
Mensajes: 1.797
Antigüedad: 18 años, 11 meses
Puntos: 394
Respuesta: finalizando formularios

Pues con PHP se puede hacer, pero también lo puede hacer con JavaScript o usar los dos para tener doble verificación que es lo aconsejable.

Con PHP haces condicionales para verificar que el campo no este vacio:
Código PHP:
Ver original
  1. if($_POST['campo'] == ""){
  2. echo 'El campo no puede estar vacio';
  3. }

Y para verificar que dos campos tengan el mismo contenido:
Código PHP:
Ver original
  1. if($_POST['campo'] != $_POST['campo1']){
  2. echo 'Los campos no coinciden...!';
  3. }
__________________
Por que existe gente que no agradece después de que se le ha brindado tiempo y ayuda ???
  #3 (permalink)  
Antiguo 29/09/2011, 14:23
(Desactivado)
 
Fecha de Ingreso: abril-2009
Mensajes: 47
Antigüedad: 15 años
Puntos: 0
Respuesta: finalizando formularios

me parece curioso ... ahora sale lo que me has puesto tu correctamente asi que funciona ... pero me gustaria saber porque se envian los datos de todas formas a la bd...
  #4 (permalink)  
Antiguo 29/09/2011, 18:49
 
Fecha de Ingreso: marzo-2007
Mensajes: 782
Antigüedad: 17 años, 1 mes
Puntos: 16
Respuesta: finalizando formularios

abras puesto la orden de mandar los datos afuera del if (condicion) {accion}.. te recomiendo poner tu codigo, asi te ayudan a analizarlo
  #5 (permalink)  
Antiguo 30/09/2011, 01:07
(Desactivado)
 
Fecha de Ingreso: abril-2009
Mensajes: 47
Antigüedad: 15 años
Puntos: 0
Respuesta: finalizando formularios

Aqui os dejo el codigo de la configuracion php...


<?php
$sitio="localhost";
$usuario="---";
$pass="---";
$base="kfernandez";
$name=$_POST["name"];
$surname=$_POST["surname"];
$date=$_POST["date"];
$email=$_POST["email"];
$email2=$_POST["email2"];
$password1=$_POST["password1"];
$password2=$_POST["password2"];
$alias=$_POST["alias"];
$con=mysql_connect($sitio,$usuario,$pass);
if(mysql_select_db($base,$con)){
$consulta ="insert into web values ('$name','$surname','$date','$email','$email2','$p assword1','$password2','$alias')";
if(mysql_query($consulta,$con))
{
echo "El usuario ha sido registrado correctamente";
}
if($_POST['name'] == ""){
echo 'El campo no puede estar vacio';
}
if($_POST['password1'] != $_POST['password2']){
echo 'Los campos no coinciden...!';
}
if($_POST['email1'] != $_POST['email2']){
echo 'Los campos no coinciden...!';
}
}
else
{
echo mysql_error($con);
}
{
}
?>
  #6 (permalink)  
Antiguo 05/11/2011, 06:13
 
Fecha de Ingreso: marzo-2007
Mensajes: 782
Antigüedad: 17 años, 1 mes
Puntos: 16
Respuesta: finalizando formularios

no se si ya abras arreglado el codigo, pero estas creando variables
Cita:
$name=$_POST["name"];
$surname=$_POST["surname"];
$date=$_POST["date"];
$email=$_POST["email"];
$email2=$_POST["email2"];
$password1=$_POST["password1"];
$password2=$_POST["password2"];
$alias=$_POST["alias"];
sin primero verificar que el formulario se haya enviado.. tenes que usar
Cita:
if (isset($_POST["surname"];)){
$surname=$_POST["surname"];
}
  #7 (permalink)  
Antiguo 05/11/2011, 11:53
Avatar de s00rk  
Fecha de Ingreso: octubre-2010
Ubicación: Mexico
Mensajes: 238
Antigüedad: 13 años, 6 meses
Puntos: 48
Respuesta: finalizando formularios

Cita:
Iniciado por eybel Ver Mensaje
no se si ya abras arreglado el codigo, pero estas creando variables

sin primero verificar que el formulario se haya enviado.. tenes que usar
Aun asi le podria servir ya luego, solamente checa que a las variables que se le asigno no esten vacias y con eso ya se sabra que fueron ingresadas.
Puede hacerlo y quedaria asi:

Código PHP:
Ver original
  1. <?php
  2.     $sitio = "localhost";
  3.     $usuario = "---";
  4.     $pass = "---";
  5.     $base = "kfernandez";
  6.     $name = $_POST["name"];
  7.     $surname = $_POST["surname"];
  8.     $date = $_POST["date"];
  9.     $email = $_POST["email"];
  10.     $email2 = $_POST["email2"];
  11.     $password1 = $_POST["password1"];
  12.     $password2 = $_POST["password2"];
  13.     $alias = $_POST["alias"];
  14.     $con = @mysql_connect($sitio,$usuario,$pass) or die(mysql_error());;
  15.     mysql_select_db($base,$con);
  16.     $consulta = "insert into web values ('$name','$surname','$date','$email','$email2','$password1','$password2','$alias')";
  17.    
  18.     if($name == "")
  19.     {
  20.         echo 'El campo no puede estar vacio';
  21.         die();
  22.     }
  23.     if($password1 != $password2 && empty($password1))
  24.     {
  25.         echo 'Los campos no coinciden...!';
  26.         die();
  27.     }
  28.     if($email != $email2 && empty($email))
  29.     {
  30.         echo 'Los campos no coinciden...!';
  31.         die();
  32.     }
  33.    
  34.     if(mysql_query($consulta,$con))
  35.     {
  36.         echo "El usuario ha sido registrado correctamente";
  37.     }
  38.    
  39. ?>

Para el usuario te dire algo a como lo tienes veo que te falta no aprender sino pensar mas

Cuando haras el insert ? antes o despues de comprovar que no esta vacio o que no son iguales ?
Claro se hace despues de que checamos eso entonces el insert va hasta el final y tu primero insertas y luego ves si estan vacios.

Otra cosa al poner solo
if($name == ""){
echo "No debe estar vacio";
}
Eso no detendra lo demas porque al terminar el if continuara con el demas codigo por lo que deves detenerlo o usar un else en el codigo que puse coloque un die()
para que cuando este vacio o se cumpla la condicion se detenga y no continue con el codigo.

Etiquetas: mail, propio., validador, usuarios
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 20:54.