Foros del Web » Programando para Internet » PHP »

Desde un form validar en DB y según lo que elija enviar a una pagina u a otra.

Estas en el tema de Desde un form validar en DB y según lo que elija enviar a una pagina u a otra. en el foro de PHP en Foros del Web. Buenos días gente. Realmente trato de no estar rompiendo los quinotos por estos lares a no ser que realmente lo necesite. Y este es uno ...
  #1 (permalink)  
Antiguo 11/03/2009, 05:06
Avatar de Funk  
Fecha de Ingreso: septiembre-2003
Ubicación: BA - Argentina
Mensajes: 102
Antigüedad: 20 años, 7 meses
Puntos: 0
Desde un form validar en DB y según lo que elija enviar a una pagina u a otra.

Buenos días gente. Realmente trato de no estar rompiendo los quinotos por estos lares a no ser que realmente lo necesite.

Y este es uno de esos momentos.

El tema en cuestión es el siguiente:

Tengo un form:


Código PHP:
          <form action="action_verificar_users.php" method="post" name="form1" onSubmit="MM_validateForm('nro_cuenta','','RisNum','email','','NisEmail');return document.MM_returnValue">
            <
table width="80%" align="center">
              <
tr valign="baseline">
                <
td width="187" align="right" nowrap bgcolor="#CECE9D">Tipo de viaje:</td>
                <
td width="289" align="left" bgcolor="#EBEBD8"><p>
                  <
select name="tipo_viaje">
                    <
option value="1" selected>Local</option>
                    <
option value="2">Internacional</option>
                  </
select>
                </
p>                  </td>
                <
td width="120" rowspan="3" bgcolor="#EBEBD8">&nbsp;</td>
              </
tr>
              <
tr valign="baseline">
                <
td align="right" nowrap bgcolor="#CECE9D">Nrode cuenta:</td>
                <
td align="left" bgcolor="#EBEBD8"><input type="text" name="nro_cuenta" value="" size="10"></td>
                </
tr>
              
              <
tr valign="baseline">
                <
td align="right" nowrap bgcolor="#CECE9D">Centro de costo:</td>
                <
td align="left" bgcolor="#EBEBD8"><input type="text" name="centro_costo" value="" size="25"></td>
                </
tr>
              <
tr valign="baseline">
                <
td align="right" nowrap bgcolor="#B8B870">&nbsp;</td>
                <
td colspan="2" bgcolor="#B8B870"><input type="submit" name="Submit" value="Enviar" /></td>
              </
tr>
            </
table>
            
          </
form
El cual como podrán ver tiene tres campos, un list donde elijo entre dos opciones "local" o " internacional" y dos campos más que son "numero de cuenta" y "centro de costos".

Que debe hacer este form al presionar submit?

Primero debe validar "numero de cuenta" y "centro de costos" en una DB donde la tabla se llama "prueba" y las columnas correspondientes son "NumeroCtaCte" y "CentroDecostos". si los datos ingresados son existentes en la db coincidiendo los dos ingresa. Esto sería como validar usuario y contraseña. Hasta aquí no tengo inconvenientes, mi problema se presenta a la hora de direccionar el envío según lo que haya elegido si "Local" o "internacional" ya que además de validar tiene que enviar a paginas distintas según la selección que el usuario haya hecho.

Seguramente para alguien que maneja PHP debe ser algo muy sencillo, pero no se darme cuenta como resolverlo.

Agradecería si alguien tuviese la amabilidad de dedicarle unos minutos.

Muchas gracias.
__________________
Walter Bove
Diseñador Multimedial
Arteuz Comunicación Multimedial
Funk Blog Job
  #2 (permalink)  
Antiguo 11/03/2009, 09:04
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Desde un form validar en DB y según lo que elija enviar a una pagina u a o

Tienes dos formas, la primera es usando sesiones, primero redireccionas a la pagina donde validas contra la BD, levantas los datos en una sesión y luego redireccionas usando header().

La segunda forma es similar solo que en lugar de usar la sesión lo haces vía variables GET:
Código php:
Ver original
  1. header("Location: destino.php?var1=valor");

Saludos
  #3 (permalink)  
Antiguo 13/03/2009, 10:33
Avatar de Funk  
Fecha de Ingreso: septiembre-2003
Ubicación: BA - Argentina
Mensajes: 102
Antigüedad: 20 años, 7 meses
Puntos: 0
Respuesta: Desde un form validar en DB y según lo que elija enviar a una pagina u a o

ALgo entiendo, pero no me queda claro como después de validar según lo que haya elejido en el list vaya a una pagina o a otra.

Grcias!
__________________
Walter Bove
Diseñador Multimedial
Arteuz Comunicación Multimedial
Funk Blog Job
  #4 (permalink)  
Antiguo 13/03/2009, 10:39
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Desde un form validar en DB y según lo que elija enviar a una pagina u a o

Con un simple if (pseudocodigo):

Código:
if( opcion1 ) {
      ir_pagina1();
} else {
      if( opcion2 ) {
            ir_pagina2();
      }
}
Saludos.
  #5 (permalink)  
Antiguo 13/03/2009, 11:35
Avatar de Funk  
Fecha de Ingreso: septiembre-2003
Ubicación: BA - Argentina
Mensajes: 102
Antigüedad: 20 años, 7 meses
Puntos: 0
Respuesta: Desde un form validar en DB y según lo que elija enviar a una pagina u a o

Yo hasta ahora arme esto, que me valida y si es correcto va a p1.php

Código PHP:
<?
if(!isset($usuario)) $usuario $HTTP_POST_VARS['nro_cuenta'] ;
if(!isset(
$password)) $password $HTTP_POST_VARS['centro_costo'] ;
if(!isset(
$zona)) $zona $HTTP_POST_VARS['tipo_viaje'] ;
include(
"conex.php");  
$link=Conectarse();  
$sql "SELECT * FROM prueba WHERE NumeroCtaCte='$usuario' and CentroDeCosto='$password'" 


$result mysql_query($sql,$link);  
if (
mysql_num_rows($result)!=0){  
    
session_start();  
    
session_register("logged");  
    
$logged "ok";  
    
header ("Location: p1.php"); 
    
     
    
$SESSION["usuario"]=$usuario
    
session_register("SESSION");
    
    }else {  

    
header("Location: form_inicio.php?errorusuario=si");  
}  
mysql_free_result($resultado);
mysql_close($link);  
?>
El valor de tipo_viaje puede ser 1 o 2
Si es uno va a P1.php y si es 2 va a P2.php
Me lo podrías completar para que haga eso?

Gracias
__________________
Walter Bove
Diseñador Multimedial
Arteuz Comunicación Multimedial
Funk Blog Job
  #6 (permalink)  
Antiguo 13/03/2009, 12:00
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Desde un form validar en DB y según lo que elija enviar a una pagina u a o

Pues con un if como te comente, solamente pon el control de flujo después de $logged y con eso puedes redireccionar.

Saludos.
  #7 (permalink)  
Antiguo 13/03/2009, 12:09
Avatar de argy  
Fecha de Ingreso: octubre-2007
Ubicación: Longitud 75º Latitud 18º Sur
Mensajes: 614
Antigüedad: 16 años, 5 meses
Puntos: 18
Respuesta: Desde un form validar en DB y según lo que elija enviar a una pagina u a o

un detalle más después del header siempre debes de colocar exit(); para asegurarte que no se ejecutan más códigos.

suerte.
__________________
Software libre para un mundo libre.

Eventualmente en el foro.
  #8 (permalink)  
Antiguo 13/03/2009, 12:09
Avatar de Funk  
Fecha de Ingreso: septiembre-2003
Ubicación: BA - Argentina
Mensajes: 102
Antigüedad: 20 años, 7 meses
Puntos: 0
Respuesta: Desde un form validar en DB y según lo que elija enviar a una pagina u a o

Buenisimo funciono perfecto, muchas gracias por tu tiempo!
__________________
Walter Bove
Diseñador Multimedial
Arteuz Comunicación Multimedial
Funk Blog Job
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:52.