Ver Mensaje Individual
  #6 (permalink)  
Antiguo 24/05/2005, 11:41
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
En principio .. recarga de página o redirección a otra vas a tener (olvidando por el momento técnicas más complejas con Ajax/y afines).

Sería ideal que pongas el código que usas (los scripts que compongan tu proceso de "login" y validación) .. no me hago la idea de lo que estás haciendo (por mi parte).

Pero .. de todas formas .. Lo ideal sería un proceso tipo:

login.php
un formulario HTML común y corriente con tu petición usuario/contraseña

valida.php
el formualrio .. su action lo apuntas a este. Aquí validas a tu usuario ..

pagina_protegida.php
una página protegida ... cualquiera (aquí validas tus variables de sesión .. etc que uses para autentificar a tu usuario)

Con ese esquema .. de valida.php si no pasa la validación .. redireccionarías hacia login.php .. con el detalle de pasarle una variable de control para indicar a "login.php" que la validación no ha sido correcta. Ejemplo:

login.php
<html>
<head>
</head>
<body>
Tu formulario HTML ....
<?
// despues de tu formulario </form> y resto de página pero antes de cerrar el </body>
if (isset($_GET['msg'])){
?>
<script languaje="javascript">
alert("Login incorrecto");
</script>
}
<?
}
?>
</body>
</html>
[/php]

Mejor quedaría controlando el tema desde el <body> con un evento onLoad tipo

Código PHP:
<body <? if (isset($_GET['msg'])){ echo "onLoad=\"alert('blablabla')\"" ?>>
Es decir .. si hay error .. se genera:
<body onLoad="alert('blablabla')">
y si no hay error:
<body >

Será en tu "valida.php" donde hagas algo tipo:

Código PHP:
if ($error){
  
header ("Location: login.php?msg=error");
  exit;

Si no pasa tu validación .. redireccionas automáticamente hacia el login.php .. valida.php no ha de tener nada de "HTML" ahí .. no corresponde (sino tendrás problemas con header()).

Un saludo,