Validación y resultado por separado

Hola, me gustaría que alguien me dijera cómo puedo hacer lo siguiente.
Tengo una pantalla de presentación en el que pulso un botón y sale una ventana flotante en el que introduzco usuario y clave; hasta aquí correcto, pero el problema es, cómo puedo hacer que si la validación es correcta (se sabe mediante una consulta a una BBDD MySQL) salga una determinada página (.PHP y es en función del tipo de usuario validado) en la ventana de inicio y que la actual (la de validación) desaparezca.
En caso de que la validación sea incorrecta se queda todo como en un principio, solamente la página de portada.
He conseguido "algo" muy parecido con javascript
<form method="post" action="pagina.php" onsubmit="opener.location='pagina.php';self.close();">
Pero no lo consigo pues aquí lo único que hago es cargar, página.php, y cerrar la de validación, pero los campos del formulario no se pasan.
Gracias, por la atención prestada. Si tu respuesta es correcta cuenta desde ya con un 5.

1 respuesta

Respuesta
1
La solución que te propongo la he utilizado en otras ocasiones. Espero llegar a hacértelo entender lo más claro posible. Veámoslo paso a paso:
1)Tres páginas son las que se van a ver involucradas en la acción. La principal que abre la de identificación en una nueva ventana. Y una tercera que valida al usuario, y se ejecuta en esta segunda ventana.
2) La página en que el usuario mete los datos y los pasa, por seguridad con el método POST, a la PHP de validación (llemémosla validación.php).
3)validacion.php hace la consulta a la base de datos. Si es correcta la identificación del usuario hará un redireccionamiento de la pagina de la ventana inicial (en javascript la window.opener.location.href=<nombre_pagina>) tras el cierre de la ventana en la que te hayas (window.close). Esto no hace que se pierdan las referencias de la ventana padre, pues toda la ejecución se realiza utilizando las variables de la ventana hija.
Si no es correcta la identificación, el redireccionamiento será sobre la ventana actual a la página de identificación (window. location. Href, sin el opener).
De este modo lo he resuelto y funciona.
Si tienes alguna otra duda o quieres alguna aclaración dímelo.
Perdona por no ponerte el 5, porque es otra alternativa que encontré a la solución final mía. Pero una aclaración, esto no funciona para Netscape, la solución que yo tengo actualmente tampoco, pero bueno...
Gracias de todas formas, y si te interesa saber como lo solucione, ya sabes, ponte en contacto conmigo. ;)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas