Gracias por las respuestas, la verdad tengo el php un poco oxidado :(
A ver por aclarar un poco:
El archivo principal muestra un aviso, con un botón Aceptar que pertenece al formulario que describía antes.
<form action="<?php echo $url; ?>" name="form" method="post">
<input type="hidden" id="campo" name="campo" value="1" />
<input type="submit" value="Aceptar"/>
</form>
$url es $CFG->wwwroot es decir la dirección del servidor (en local es localhost/index.php , en remoto es http://www.servidor.es/index.php)
La página de recepción es la misma que la principal, sólamente que hago
if( $_POST['campo'] )
{
$_SESSION['campo'] = $_POST['campo'];
// esto es, si campo vale 1 (viene con valor 1 del hidden en el form) almacénalo en $_SESSION
}
if( $_SESSION['campo'] != 1)
{
//// muestra form con el aviso
}
else
{
/// ya no hay aviso
}
Básicamente es esto, mostrar un mensaje cada vez que el usuario se logee (pero solo 1 vez por eso almaceno en $_SESSION).
El caso es que al pulsar Aceptar en localhost se hace el submit y ya no se muestra el mensaje, pero en el servidor externo al Aceptar y hacer el submit vuelve a aparecer el mensaje.
La verdad es que creo recordar que esto se hacía así, no sé tal vez sea alguna configuración del servidor externo (no tengo acceso a él) o esta forma de hacerlo esté obsoleta o no sé
En caso de que fuera alguna configuración del servidor, ¿que podría ser por si pudiera mirarlo a partir de un phpinfo?
¿Alguna otra idea o forma de hacer lo que comento?
Gracias a todos