Ver Mensaje Individual
  #4 (permalink)  
Antiguo 13/09/2007, 15:49
Avatar de pzin
pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.488
Antigüedad: 21 años, 9 meses
Puntos: 2114
Re: login, sesiones, cookies...

"Tienes" que hacerlo como más te convenga.

Yo personalmente siempre creo un archivo, llámalo "login.php" (en el que está session_start()), en el que se comprueba la existencia del usuario en caso de haber enviado el formulario de login. Puedes hacer por ejemplo, que el formulario se envíe a la misma página en el que esté el usuario enviando una variable por GET.
Éste sería el formulario que tendremos en form.php:
Código HTML:
<?
if(!$_SESSION['loged']) {
?>
<form action="?accion=login" method="POST"....
<?
}
?> 
Como el fichero login.php se incluye siempre, pues puedes poner en el archivo lo siguiente:
Código PHP:
if(i$_GET['accion']=="login") {
// Aquí puedes comprobar que el usuario exista y que la contraseña coincida
// En caso de que exista hacer esto:
header("Location: ".$_SERVER['HTTP_REFERER']); // Se reenvía donde estaba
exit();
// Si no coincide:
header("Location: ?error=login"); // Así puedes hacer if error = login mostrar mensaje de error
exit();

Comprobar si el usuario está identificado, puedes hacerlo o en una parte del código, o solo incluir una página si se está identificado:
Código PHP:
if($_SESSION['identificado']) include("unapagina.php");
else echo 
"No tienes acceso a ésta página. Identifícate o regístrate"
Por ejemplo, ésto mismo podrías hacer con el formulario, si está identificado no se muestra, y si no, se muestra.
También puedes meter tu switch dentro del if:
Código PHP:
if($_SESSION['identificado']) {
 switch()...

Hay mil maneras.

No sé si ha quedado muy claro, porque me lié un poco creo. Siempre puedes preguntar para lo que te queden dudas.

Saludos.