Al fin logre hacerlo :) agregue una tabla a la BD que contiene solo dos campos la URL de la página y el Login del usuario que la tiene bloqueada. El codigo es el siguiente:
1ro el codigo de la página principal
Pagina1.php
Código PHP:
Ver original<?php
include("miLibreria.php");
Conexion();
$URL = "MS_IntervencionI2.php";
$EstadoPagina = EstadoPagina($URL,$_SESSION[sesion_usuario]);
if ($EstadoPagina != NULL)
{
echo "<script>alert('".$EstadoPagina."');document.location.href='index.php';</script>";
return;
}
?>
<html>
<head>
<title>Titulo de la pagina</title>
</head>
<body>
<script language="javascript" src="js/jquery-1.3.min.js"></script>
<!-- En este script se hace toda la mágia ;) -->
<script>
$(window).unload(function(){
$.post ("LiberarAcceso.php", "url=<?php echo $URL;?>");});
</script>
Todo el contenido de mi página.
miLibreria.php contiene funciones que utilizo en el sitio, entre las cuales está la de Conexion() [para conectar a MSSQL] y EstadoPagina() [para ver si la página está bloqueada]
Código PHP:
Ver originalfunction EstadoPagina($pURL,$pLogin)
{
//Consulto si a la tabla acceso_restringido si existe algún registro con la url que visito
FROM ACCESO_RESTRINGIDO
WHERE URL = '".$pURL."' "));
//Si no hay registro quiere decir que el acceso es libre, por lo que debo bloquearla insertando un registro en dicha tabla
if ($Estado == NULL)
{
mssql_query("INSERT INTO ACCESO_RESTRINGIDO (URL,LOGIN) VALUES('".$pURL."','".$pLogin."')");
return;
}
//Si el usuario que la tiene bloqueada no soy yo busco sus datos y los muestro con un mensaje de error
if ($Estado[0] != $pLogin)
{
WHERE LOGIN = '".$Estado[0]."'"));
$Mensaje = "Esta página está siendo utilizada por ".$Usuario[0]." ".$Usuario[1].", blablablabla.......";
return $Mensaje;
}
//Sino quiere decir que yo tengo la página bloqueada
else
return;
}
Por último la página LiberarAcceso.php
Código PHP:
Ver original<?php
WHERE URL = '".$_POST["url"]."' ")
?>
Gracias por el apoyo