2010-09-27 5 views
2

J'essayais d'afficher un lien dans une page qui pointe vers la page précédente que l'utilisateur a visitée dans drupal. Auparavant, j'utilisais des séancesUn lien pour la page précédente de la page en cours

echo $_SESSION['back'] 
$_SESSION['back']=htmlentities($_SERVER['REQUEST_URI']); 

Cela a bien fonctionné, mais on m'a dit d'utiliser variable_get et mis à l'aide de Drupal et de ne pas utiliser les sessions donc je l'ai fait

global $prev_global; 
$prev_global=variable_get($prev_page,$default='http://mysite.local'); 
variable_set($prev_page,htmlentities($_SERVER['REQUEST_URI'])); 
. . . 
echo "PREV:".$prev_global; 

Mais cela souligne toujours la page en cours de visualisation, qu'est-ce qui a mal tourné ici?

+0

Je suis d'accord avec Mark ... qui vous a dit ça? – espais

Répondre

3

Je ne sais pas qui vous a dit d'utiliser variable_get() et variable_set(), mais pensez à ne plus jamais les écouter. variable_get() et variable_set() agir sur global variables, variables non basées sur l'utilisateur.

Vous l'avez bien fait la première fois. Utilisez $_SESSION: c'est ce qu'il vous faut.

+0

+1 - de courte durée, les informations spécifiques à l'utilisateur sont ce que '$ _SESSION' est destiné à contenir. –

+0

hmmm ok. mais je ne pense pas que j'ai un mot à dire :( – GoodSp33d

+0

@kantu: si quelqu'un vous oblige à utiliser 'variable_get()'/'variable_set()' pour les variables de session, je serais vraiment inquiet. de la compréhension de PHP et de l'API Drupal –

Questions connexes