simplificado, veo si user pass existe.
y le asigno un perfil o nivel de acceso.
(voy a ser super sincero, esto no se si esta bien declarado el inicio de sesion.)
//vemos si el usuario y contraseña es váildo
//si la ejecución de la sentencia SQL nos da algún resultado
//es que si que existe esa conbinación usuario/contraseña
if (mysql_num_rows($rs)!=0)
{
$rs = mysql_fetch_array($rs);
switch($rs["usu_perf_cod"]) {
case 1:
//administrador god
session_start();
session_register(admin);
$admin =1;
setcookie ("administrador", "1" , time()+43200);
header ("Location: admin.php?op=admin");
break;
case 2:
//admin_tienda
session_start();
session_register(cliente);
$cliente =1;
setcookie ("cliente", "1" , time()+43200);
header ("Location: cliente.php?op=mant_cli");
break;
}
}
else
{
//si no existe le mando otra vez a la portada
header("Location: site_admin.php?op=bad_pass_user");
}
?>
en cada page que debe estar logeado como admin para verla pongo esto , para cliente solo cambio en el if a $cliente
<?
session_start();
if ($admin !=1)
{ header ("Location: index.php"); }
?>
ahora mi logout.
<?
session_start();
session_destroy();
setcookie ("administrador", "0" , time()+0);
setcookie ("cliente", "0" , time()+0);
header("Expires: Mon, 26 Jul 2002 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-cache, must-revalidate");
header("Pragma: no-cache");
?>
<form name="redirect">
<center>
<font color="993300" size="2" face="Arial"><b>Cierre de sesion realizado con éxito<br>Gracias por ser parte de la comunidad de
www.sitio.cl<br>Si desea continuar trabajando en esta ventana <br>conteste No en el mensaje de alerta y sera direccionado al inicio en :
<form>
<input type="text" size="3" name="redirect2"> segundos
</form>
</b></font>
</center>
<script>
var targetURL="http://www.sitio.cl/"
var countdownfrom=0
var currentsecond=document.redirect.redirect2.value=co untdownfrom+1
function countredirect(){
if (currentsecond!=1){
currentsecond-=1
document.redirect.redirect2.value=currentsecond
}
else{
window.location=targetURL
return
}
setTimeout("countredirect()",1000)
}
window.close()
countredirect()
</script>
Bueno que hace esto, si estoy logeado y veo las pages de admin la raja, al salir via logout, supongo se cierra al sesion, y va a index, el problema es que al hacer back en el boton del browser podia volver a la page de administración, con esta mescla JAVA+PHP lo evito por que se cierra esa PAGINa y aun que se copie la dirección y al ponga en otra pagina, como apreto logout se va al index.
en realidad no se si es cristiano esto, pero de que funciona, funcina =)
ademas con windows.close(), al ejecutarrse la pagina, te pregunta, desea salir, si sale se cierra, si no, se redirecciona en 3 segundos al index, y al hacer back, solo entras a esta misma page de desición.
creo que es eso.
saludos
Nesky.
(reitero no se si esta bien definida la sesión, pero funciona)