Cita: Como ya ves soy algo bruto. El porque propago esas variables por URL es para luego hacer uso de las variables globales $_GET.
Ya te comenté que esas variables las tienes ya en tu sesión .. así que deberías usar: $_SESSION (como variables "super-globales" que son: sino no tiene sentido usar sesiones si al final del todo vas a tomar el valor de "$_GET ..")
Cita: if(isset($_SESSION['usuario']) && $_SESSION['usuario']!=""){
// imprimo la parte superior del Foro
}
La función empty() hace lo mismo que un isset() + un $variable != '' ... usala preferentemente para esos casos.
El resto .. de la "lógica" que empleas no la acabo de entender (bajo tu concepto).
Yo lo único que pretendo hacerte entender (o explicarte) que .. si tienes una variable en una sesión (como así es por qué antes incluso compruebas que tiene valor) .. debes usar ese valor.
Si al modo que usas esas variables que propagas en el URL pese que ya están en al sesión se debe a que en tu script que las recepcionas puede acceptar valores de una session o que entren por el URL ($_SESSION o $_GET dependiendo de algún caso .. ) tendrías que hacer algo tipo:
Código PHP:
if (!empty($_SESSION['variable'])){
$variable=$_SESSION['variable'];
} elseif (!empty($_GET['variable'])) {
$variable=$_GET['variable'];
} else {
$variable="valor por defecto";
}
// En el resto del script usas $variable ..
No sé si será esto lo que necesitas .. pero, si te fijas .. si $_SESSIOn['variable'] está definida y con algún valor .. $variable .. tomará ese valor .. si no lo está tomará el de $_GET['variable'] y .. si ni esa está definida entoces predefino un valor.
Un saludo,