No se si alguien lo habrá hecho ya, si ése es el caso, que un Moderador o Administrador se encargue de borrar el mensaje.
Código PHP:
//>>> HTTP_REFERER >>>
if (!session_is_registered("reff"))
{
session_register("reff");
$reff[is] = 0;
}
if ($reff[is] === 0)
{
$reff[url1] = $PHP_SELF;
$reff[url] = $reff[url2];
$reff[is] = 1;
}
else
{
$reff[url2] = $PHP_SELF;
$reff[url] = $reff[url1];
$reff[is] = 0;
}
if ($reff[url])
$reff[url] = $path[web]."/".basename($reff[url]);
else
$reff[url] = "index.php";
Lo que hace es primero crear la variable de sesión $reff. Luego le asigna el valor de 0 a su key 'is'. Despues en las comprobaciones, comprueba si $reff[is] es un entero 0, y si ese es el caso, pone en $reff[url1] la pagina actual, copia el valor de $reff[url2] en $reff[url] (como recien se crea la sesion, es NULL) y pone $reff[is] a 1 (para que realize luego el proceso inverso).
Cuando se va a otra página, $reff[is] va a estar en 1 y $reff[url1] va a contener la pagina anterior. Lo que se hace ahora es copiar PHP_SELF en $reff[url2], luego se pone en $reff[url] el valor de $reff[url1] (que es la pagina anterior), y se vuelve a poner $reff[is] en 0.
Cuando se ejecute de nuevo el paso para "$reff[is] === 0", ésta vez $reff[url2] no va a ser NULL, sino que va a tener como valor la página anterior.
Despues viene unas cosas que son cuestiones estéticas mas que nada, y se pueden obviar. Lo que hace es que si existe $reff[url] (si hay una pagina anterior) en vez de salirnos "/web/news.php", salga "news.php", y en caso contrario (si es la primera pagina vista en el sitio) que el valor de la página anterior se "index.php".
Espero que les haya servido, camaradas!!
![Pirata](http://static.forosdelweb.com/fdwtheme/images/smilies/pirate.png)
PD: me olvide de aclarar que el código tiene que estar en todas las páginas para que funcione!! es por eso que yo lo pongo en mi .inc
PD2: el código por ahora solo funciona con paginas de la misma carpeta, asi que van a tener que meter todos sus PHPs en la misma carpeta.