Foros del Web » Programando para Internet » PHP »

problema con validacion, post y consulta

Estas en el tema de problema con validacion, post y consulta en el foro de PHP en Foros del Web. hola: Tengo un formulario con php que hace una validación y una consulta y postea los datos a una nueva pagina. La validación tiene que ...
  #1 (permalink)  
Antiguo 05/05/2004, 11:09
 
Fecha de Ingreso: febrero-2004
Mensajes: 35
Antigüedad: 20 años, 1 mes
Puntos: 0
problema con validacion, post y consulta

hola:

Tengo un formulario con php que hace una validación y una consulta y postea los datos a una nueva pagina.
La validación tiene que ver si el input 'dato1' esta vacio o no y la consulta es para ver si lo ingresado en dato1 ya se encuentra en la base de datos. Si es asi, se le informa al visitante para que este vuelva a llenar con otro dato. Hasta ahi todo bien.

el problema surge cuando dato1 es enviado y no se encuentra en la base de datos y segun la logica, si es asi, deberia dato1 ser posteado a una nueva pagina junto con otra variable..pero al hacer clic en el submit vuelve a la misma pagina y si hago clic en el submit de nuevo si se envia el formulario y eso sucede aun estando el input vacio o escribiendo en el input un dato ya existente en la DB.

intente resolverlo por mi solo pero ya no hay caso. Adjunto el codigo.

el codigo php que va antes de todo

Código PHP:
<?php $primero $_POST['dato1'];
      
$segundo $_POST['dato2'];
      
$losdos $primero $segundo ;
    
      
      if (isset(
$boton) && empty($primero)){
      
$msj =  "Ingrese dato 1";
      }
      elseif (isset(
$boton) && !empty($primero)){
      
$consulta "SELECT dato FROM datos WHERE dato='" $losdos "'";
      
mysql_select_db($database_miDB$miDB);
      
$Login=mysql_query($consulta$miDB) or die(mysql_error());
      
$datoencontrado mysql_num_rows($Login);
      if(!empty(
$datoencontrado) && !empty($primero)){
      
$msj1 "el dato ingresado ya existe en la DB" ;
      }elseif(empty(
$datoencontrado) && !empty($primero)){
      
$accion "paginaredirigida.php" ;
       }
      }
      
?>
y el formulario:

Código:
<form name="form1" method="post" action="<?php echo $accion ;?>">
      <input name="dato1" type="text"  id="dato1">
      <input name="dato2" type="hidden" id="dato2" value="<?php echo $_GET['dato2']; ?>">
      <input name="boton" type="submit" id="boton" value="Continuar">
      </form>
espero haber sido claro

agradecido,
  #2 (permalink)  
Antiguo 05/05/2004, 11:26
Avatar de MaBoRaK  
Fecha de Ingreso: abril-2003
Ubicación: La Paz - Bolivia
Mensajes: 2.003
Antigüedad: 21 años
Puntos: 35
loading........


y si le pones
Código PHP:
="<?php echo ("$accion") ;?>">
pero antes en el mismo formulario ponte como NOTA
esto
Código PHP:
echo "tengo la variable: $accion"
Talvez no se asignara nada a la variable accion.

funciona?



connection closed.
__________________

Maborak Technologies
  #3 (permalink)  
Antiguo 05/05/2004, 11:44
 
Fecha de Ingreso: febrero-2004
Mensajes: 35
Antigüedad: 20 años, 1 mes
Puntos: 0
no entiendo tu logica, ¿de que me sirve imprimir la variable en mi pagina si cuando la variable $accion toma el valor, el formulario te envia a "paginredirigida.php" ? ¿y para que los () antes y despues de accion?

no funciona, gracias de todas formas
  #4 (permalink)  
Antiguo 05/05/2004, 11:47
Avatar de MaBoRaK  
Fecha de Ingreso: abril-2003
Ubicación: La Paz - Bolivia
Mensajes: 2.003
Antigüedad: 21 años
Puntos: 35
loading.......


Solo para ver si la variable accion tenia valor asignado.
Porque en un submit si se manda a ningun lado vuelve a la misma pagina.

funciona con o sin () con " o con ' da lo mismo

connection closed.
__________________

Maborak Technologies
  #5 (permalink)  
Antiguo 05/05/2004, 11:53
Avatar de MaBoRaK  
Fecha de Ingreso: abril-2003
Ubicación: La Paz - Bolivia
Mensajes: 2.003
Antigüedad: 21 años
Puntos: 35
loading........


ademas
<form name="form1" method="post" action="<?php echo $accion ;?>">
<input name="dato1" type="text" id="dato1">
<input name="dato2" type="hidden" id="dato2" value="<?php echo $_GET['dato2']; ?>">
<input name="boton" type="submit" id="boton" value="Continuar">
</form>

ahi
<input name="dato2" type="hidden" id="dato2" value="<?php echo $_GET['dato2']; ?>">
lo pides por GET pero todo lo mandaste por POST asi que dato2 siempre estará vacio



connection closed.
__________________

Maborak Technologies
  #6 (permalink)  
Antiguo 05/05/2004, 12:14
 
Fecha de Ingreso: febrero-2004
Mensajes: 35
Antigüedad: 20 años, 1 mes
Puntos: 0
a ver...
te agradezco
si tienes razon
al hacer el submit si se imprime el valor de $accion que es "paginaredirigida.php"...
pero el get es recuperado por el hidden "dato2" que si es enviado por post.

pero en difinitiva al hacer submit no se redirecciona a esa pagina, sino que lo hace a la segunda vez que hago clic en el submit
¿si tu o alguien me puede ayudar a entender porque?
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 08:58.