Ver Mensaje Individual
  #5 (permalink)  
Antiguo 16/07/2004, 10:15
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Lo ideal sería que tuvieras tu código de validación separado del de la presentación de los mensajes de error/exito o del proceso que se ha de realizar si se autentificó tu usuario (que lo validó tu consulta a tu BD).

Así conseguirías un sistema más versatil.

El objetivo sería:
1) Tu formuario de login -> validar usuario (autentificarlo).
2) Si se autentifica correctamente .. redireccionas hacia donde tenga que ir: en tu caso a tu script.php que haga el proceso de ver esa ficha o lo que corresponda.
Si no se autentifica correctamente . .lo redireccionas al formulario de login.

Estos redireccionamientos que hablo los puedes hacer con:
header ("Location: pagina.tal");

Y .. para el caso del "error" donde volveras a tu formulario .. puedes usar una variable de control para presentar los mensajes de error en la página del formulario NUNCA en el proceso (flujo continuo.. a continuación) de tu proceso. Es decir .. ejemplo:

Código PHP:
if (todo bien){
header ("Location: perfil.php"); // o donde sea
exit;
} else {
header ("Location: formulario.php?codigo=error");
exit;

Y en tu formulario.php .. verificas la existencia de esa variable "codigo" para mostrar o no el mensaje de error en consecuencia.

Código PHP:
if (isset($_GET['codigo'])){
echo 
"Error: tal cosa está mal";

Esto sería el proceso de "autentificación" .. ahora faltaría el proceso de "validación o seguimiento" del usuario en tus páginas de tu sitio .. por lo menos en esa que se redirecciona al ser validado tu usuario: "perfil.php".

Para ese "seguimiento" puedes usar cookies o mejor todavía sesiones (más seguras).

El proceso de "seguimiento" del usuario pasa por dos cosas:
1) crear las variables de sesión/cookies en la autentificación (si es válida).
2) verificar la existencia al menos de esas variables de cookie/sesión en las páginas que requieran autentificación (que han sido validadas por tu login).

Al usar "cookies" para este seguimiento necesitas crear en la cookie la variable de tu "usuario" y de tu "password" (es altamente recomendable que trabajes con passwords encriptados en MD5() al menos), para poder -volver- a autentificar a tu usuario en esa página haciendo la consulta a tu DB pero en este caso serán tomados los datos de la cookie y no los de tu formulario. Esto es una validación necesaria si quieres algo de seguridad usando cookies, por qué si tan sólo verificas la existencia de esa cookie (con el "usuario" sobraría) ..la cookie podría ser alterada y "suplantar" a otro usuario en tu sistema. (por eso mismo recomiendo usar sesiones y no cookeis para esta taréa concreta). Si usas sesiones para este "seguimento" puedes "confiar" en sólo validar la existencia de esta variable de sesión (sin hacer la consulta a tu BD nuevamente) pues la sesión (sus datos) permanecen en el servidor y no son tan fácilmente "alterarbles" por el própio usuario con algo de experiencia.

Un saludo,