Foros del Web » Programando para Internet » PHP »

"Llamadas" a diferentes pantallas

Estas en el tema de "Llamadas" a diferentes pantallas en el foro de PHP en Foros del Web. Hola. Quisiera saber cómo se hace para que, teniendo un formulario, dependiendo de los datos que se pongan en él, te lleve a una pantalla, ...
  #1 (permalink)  
Antiguo 04/05/2004, 06:04
 
Fecha de Ingreso: septiembre-2003
Mensajes: 337
Antigüedad: 20 años, 7 meses
Puntos: 4
"Llamadas" a diferentes pantallas

Hola.
Quisiera saber cómo se hace para que, teniendo un formulario, dependiendo de los datos que se pongan en él, te lleve a una pantalla, o a otra, o a una tercera... A saber: En una pantalla de registro de usuarios (donde se introducen nick, password y email) puedes ir a una pantalla de bienvenida, o de que el nick ya existe, o de que la direccion de email es incorrecta.
Hay que poner algo en concreto en la parte del form action, ssupongo, no?
  #2 (permalink)  
Antiguo 04/05/2004, 06:15
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Lo que tienes que hacer es un script PHP que va a procesar tus datos de tu formulario .. Ese "script PHP" es el que apuntas en tu action de tu formulario y será este (PHP) el que "según" tu condición redireccionará hacia tal o cual página o compondrá el código HTML/etc que tengas que mostrar.

Podría ser algo así ..

Código PHP:
<?
if (tal cosa){
header ("Location: bienvenido.php");
exit;
} elseif (
otra cosa){
header ("Location: nose.php");
exit;
} else {
// No se cumplió ninguna de las anteriores condiciones ..
header ("Location: error.php");
exit;
}
?>
Pero todo depende de tus validaciones que hagas.

Ten presente también que de nada sirve "redireccionar" a tu usuario "autentificado" hacia x pagina si en esa no validas que el usuario pasó por tu autentificación (contrastantdo tus datos sobre tu BD, archivo de texto plano o simples variables en tu script PHP). Tienes que hacer el "seguimento" al usuario y eso se suele hacer con sesiones donde en tu script de validación (al pasar dicha validación correctamente) creas una variable de sesión que será la que compruebas su existencia (minimo y/o valor) en el resto de páginas que requieran autentificación.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 04/05/2004, 08:16
 
Fecha de Ingreso: septiembre-2003
Mensajes: 337
Antigüedad: 20 años, 7 meses
Puntos: 4
Perfecto, muchas gracias!
Aun así me surge otro problema...
En parte del script que tengo, tengo puesto esto:

//Realizo la consulta para coger todos los nicks

$res=mysql_db_query($base,"SELECT nick FROM $tabla",$con);

...

while($registro=mysql_fetch_array($res)){
foreach ($registro as $clave) {
if ($nick==$clave) {
header ("Location: nick_existente.htm");
exit;
}
...

Donde "nick_existente.htm" es una simple pagina que te dice que el nick elegido ya existe, y te da la opcion de volver al formilario para elegir otro nick. El tema es que me accede igualmente a la pagina de bienvenida, esté ya el nick cogido o no. Una de dos, o hago mal laconsulta, o no sé exactamente como va la funcion mysql_fetch_array (ni la de mysql_fetch_row).
La segunda razón, fijo, y quizas hasta la primera también...
Con lo de las variables de sesion ya me metere en otro momento, que no se que me da que tambien tendre problemas con ello...

Madre mia, ultimamente no doy pie con bola.
  #4 (permalink)  
Antiguo 04/05/2004, 08:40
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
Madre mia, ultimamente no doy pie con bola.
Si es así .. primero asegurate de obtener tu valor correcto en tu consulta SQL ..

En SQL exiten los "condicionales" ... para hacer consultas tipo:

Código PHP:
$sql=SELECT nick FROM tabla WHERE nick='".$_POST['nick']."'"; 
A partir de ahí puedes usar ..mysql_num_rows() para ver si esa consulta te ha arrojado un registro (es decir .. que hay uno que coincide con ese usuario y contraseña) o ninguno (en teoría no tendrías que tener repetidos ... para eso haces esta validación). Pero sería mejor incluso usar más SQL y su "COUNT()" para que sea Mysql el que dé ese total de registro y no PHP el que los "cuente" ...

Todo esto lo tienes en los manuales de Msyql (puedes ver unos interesantes y en castellano en: www.mysql-hispano.com de lectura recomendada) y en los de PHP (www.php.net y los que veras en las FAQ's del foro).

Primero debes apreder "SQL" y como diseñar tus base de datos para luego intentar "obtener" (consultar) esos datos con tu lenguaje de programación (en este coso PHP) ..

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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.