#LOGIN_PUBLIC param?tres de redirection

Bonjour,

Je me permets de reposer une question qui -- jusqu'à présent et si j'ai bien
lu tous les messages sur le sujet -- n'a pas trouvé de réponse.

Une partie du contenu des articles d'une rubrique s'affiche ou ne s'affiche
pas en fonction de #SESSION. Ie. Si mon utilisateur est déclaré en tant que
visiteur, il peut télécharger des documents, sinon, je lui propose de
s'identifier.

Je le renvoie alors sur un page ad hoc et je lui demande de s'inscrire via
[(#LOGIN_PUBLIC)]. Ce que j'aimerai c'est qu'une fois logué, il puisse
retourner vers l'article. J'imaginais pour cela quelque chose comme :
[(#LOGIN_PUBLIC|spip.php?article#ENV{id_article})]

L'ID article est bien entendu présent dans l'url, mais cela ne marche pas.
Je suis renvoyé sur la page d'accueil avec l'adresse suivante :
http://mon_site/spip.php?article&var_erreur=pass#ENV&url=spip.php%3Farticle%23ENV.

Comment résoudre ce problème ?

Merci d'avance,

Jo²

lo
Le 24 sept. 07 à 11:33, Jo² a écrit :

L'ID article est bien entendu présent dans l'url, mais cela ne marche pas.
Je suis renvoyé sur la page d'accueil avec l'adresse suivante :
http://mon_site/spip.php?article&var_erreur=pass#ENV&url=spip.php%3Farticle%23ENV.

Comment résoudre ce problème ?

tu es sûr de ta syntaxe? Tu as des urls rewritées?

Sinon moi j'aurais plutôt mis [(#LOGIN_PUBLIC|spip.php?page=article&id_article=#ENV{id_article})]

--
Philippe Auriol
http://philippe.auriol.free.fr/

Philippe Auriol a écrit :

lo
Le 24 sept. 07 à 11:33, Jo² a écrit :

L'ID article est bien entendu présent dans l'url, mais cela ne marche pas.
Je suis renvoyé sur la page d'accueil avec l'adresse suivante :
http://mon_site/spip.php?article&var_erreur=pass#ENV&url=spip.php% 3Farticle%23ENV.

Comment résoudre ce problème ?

tu es sûr de ta syntaxe? Tu as des urls rewritées?

Sinon moi j'aurais plutôt mis [(#LOGIN_PUBLIC|spip.php? page=article&id_article=#ENV{id_article})]

pourquoi, [(#LOGIN_PUBLIC|#URL_ARTICLE)] ca marche pas ?

Bonjour, et merci du coup de main.

Non, bien entendu, je ne suis pas certain de la syntaxe :wink:

Néanmoins http://mon_site/spip.php?article319 (par exemple) me renvoie bien
sur l'article.

Je ne sais pas ce qu'est une URL "rewritées". Je ne l'utilise probablement
pas. J'ai essayé avec ta formule. Sans succès.

D'autres idées ?

Cordialement,

Jo².

Ps. Je poste sur gmane en copie.

-----Message d'origine-----

De : Philippe Auriol [mailto:philippe.auriol@gmail.com]

Envoyé : lundi 24 septembre 2007 11:55

À : Jo²

Cc : spip@rezo.net

Objet : Re: [Spip] #LOGIN_PUBLIC param?tres de redirection

lo

Le 24 sept. 07 à 11:33, Jo² a écrit :

L'ID article est bien entendu présent dans l'url, mais cela ne marche

pas.

Je suis renvoyé sur la page d'accueil avec l'adresse suivante :

http://mon_site/spip.php?article&var_erreur=pass#ENV&url=spip.php%

3Farticle%23ENV.

Comment résoudre ce problème ?

tu es sûr de ta syntaxe? Tu as des urls rewritées?

Sinon moi j'aurais plutôt mis [(#LOGIN_PUBLIC|spip.php?

page=article&id_article=#ENV{id_article})]

--

Philippe Auriol

http://philippe.auriol.free.fr/

--

Ce message a ete verifie par MailScanner

pour des virus ou des polluriels et rien de

suspect n'a ete trouve.

"Jo²" <w3ipr@univ-paris1.fr> a écrit dans le message de news:
fd809s$rd$1@sea.gmane.org...

Bonjour,

Je me permets de reposer une question qui -- jusqu'à présent et si j'ai
bien lu tous les messages sur le sujet -- n'a pas trouvé de réponse.

Une partie du contenu des articles d'une rubrique s'affiche ou ne
s'affiche pas en fonction de #SESSION. Ie. Si mon utilisateur est déclaré
en tant que visiteur, il peut télécharger des documents, sinon, je lui
propose de s'identifier.

Je le renvoie alors sur un page ad hoc et je lui demande de s'inscrire via
[(#LOGIN_PUBLIC)]. Ce que j'aimerai c'est qu'une fois logué, il puisse
retourner vers l'article. J'imaginais pour cela quelque chose comme :
[(#LOGIN_PUBLIC|spip.php?article#ENV{id_article})]

L'ID article est bien entendu présent dans l'url, mais cela ne marche pas.
Je suis renvoyé sur la page d'accueil avec l'adresse suivante :
http://mon_site/spip.php?article&var_erreur=pass#ENV&url=spip.php%3Farticle%23ENV.

Comment résoudre ce problème ?

Merci d'avance,

Jo²

--------------------------------------------------------------------------------

Bonjour et merci de ton aide,

Non, [(#LOGIN_PUBLIC|#URL_ARTICLE)] ne fonctionne pas. URL_ARTICLE est passé
tel quel dans le formulaire et n'est pas calculé.

Jo²

"Stephane" <stephane@rezo.net> a écrit dans le message de news:
46F794FC.9000408@rezo.net...
Philippe Auriol a écrit :

lo
Le 24 sept. 07 à 11:33, Jo² a écrit :

L'ID article est bien entendu présent dans l'url, mais cela ne
marche pas.
Je suis renvoyé sur la page d'accueil avec l'adresse suivante :
http://mon_site/spip.php?article&var_erreur=pass#ENV&url=spip.php%
3Farticle%23ENV.

Comment résoudre ce problème ?

tu es sûr de ta syntaxe? Tu as des urls rewritées?

Sinon moi j'aurais plutôt mis [(#LOGIN_PUBLIC|spip.php?
page=article&id_article=#ENV{id_article})]

pourquoi, [(#LOGIN_PUBLIC|#URL_ARTICLE)] ca marche pas ?

Jo² a écrit :

Bonjour et merci de ton aide,

Non, [(#LOGIN_PUBLIC|#URL_ARTICLE)] ne fonctionne pas. URL_ARTICLE est passé tel quel dans le formulaire et n'est pas calculé.

à oui c'est vrai.
en fait, c'est soit statique (c'est un faux filtre et les filtres ne peuvent pas etre "calculés"), soit passé dans l'url (si tu appelles ta page avec &url=xxx => il reroutera le login sur xxx)

mais en fait, il y a quand meme une solution un peu bidouille :
faire :
<INCLURE{fond=monlogin}{url=#URL_RUBRIQUE}>

avec dans monlogin.html, simplement #LOGIN_PUBLIC

et hop !

@++

TROP FORT Stéphane !

J'ai remplacé URL_RUBRIQUE par URL_ARTICLE (c'est mon cas) mais la solution
est bien celle ci.

Donc : un grand merci.

Pour ceux qui chercheraient la même information, je reprends dans le détail.

1/ Dans un article, grâce à la balise #SESSION, on souhaite afficher, ou
non, une information en fonction de la nature du visiteur. Si ce dernier
n'est pas enregistré, il n'a pas accès à toute les informations de
l'article. Néanmoins, on lui propose un lien pour se loguer.
Ce que l'on cherche à faire, et ce que la solution de Stéphane permet
effectivement de faire, c'est, une fois loguer, de retourner sur l'article
d'où l'on vient (avec, cette fois-ci, puisque l'on s'est logué, toutes les
informations affichés).

2/ Sur l'article de départ, faire le lien vers le formulaire de login
<a
href="spip.php?page=login_visiteur&id_article=[(#ENV{id_article})]">cliquer
ici</a>

Ici, la balise #ENV nous permet de passer, par l'URL, le numéro de l'article
où l'on se trouve et où l'on veut revenir.

3/ Créer un squelette login_visiteur.html
Dans celui-ci devra figurer la balise d'appel du formulaire, mais sous la
forme d'un inclure (c'est l'astuce proposée par Stéphane).
<INCLURE{fond=login_visiteur_formulaire}{url=#URL_ARTICLE}>

4/ Créer un squelette supplémentaire login_visiteur_formulaire.html
Il contient simplement [(#LOGIN_PUBLIC)]

Miracle : lorsque l'on se logue correctement, on est redirigé vers
l'article.

Jo² a écrit :

2/ Sur l'article de départ, faire le lien vers le formulaire de login
<a href="spip.php?page=login_visiteur&id_article=[(#ENV{id_article})]">cliquer ici</a>

ah ben non, dans ce cas, c'est encore plus simple, il suffit de faire :

<a href="spip.php?page=login_visiteur&url=[(#URL_ARTICLE)]">cliquer
ici</a>

sans mettre ton LOGIN_PUBLIC dans un inclure cette fois, puisque l'url de retour est prise directement en GET.

et si tu n'es pas dans une boucle article :

<a href="spip.php?page=login_visiteur&url=[(#URL_ARTICLE{ENV{id_article}})]">cliquer

ici</a>

Effectivement !

J'étais d'ailleurs en train de faire ce test... Comme quoi.

...

"Stephane" <stephane@rezo.net> a écrit dans le message de news:
46F7BF12.6020903@rezo.net...
Jo² a écrit :

2/ Sur l'article de départ, faire le lien vers le formulaire de login
<a
href="spip.php?page=login_visiteur&id_article=[(#ENV{id_article})]">cliquer
ici</a>

ah ben non, dans ce cas, c'est encore plus simple, il suffit de faire :

<a href="spip.php?page=login_visiteur&url=[(#URL_ARTICLE)]">cliquer
ici</a>

sans mettre ton LOGIN_PUBLIC dans un inclure cette fois, puisque l'url
de retour est prise directement en GET.

et si tu n'es pas dans une boucle article :

<a
href="spip.php?page=login_visiteur&url=[(#URL_ARTICLE{ENV{id_article}})]">cliquer

ici</a>

J'oubliais. Il faut ajouter un # devant ENV pour assurer le fonctionnement
du code de Stéphane.

<a
href="spip.php?page=login_visiteur&url=[(#URL_ARTICLE{#ENV{id_article}})]">cliquer
ici</a>

À partir de là, on peut reprendre l'ensemble de la solution :

1/ Dans un article, grâce à la balise #SESSION, on souhaite afficher, ou
non, une information en fonction de la nature du visiteur. Si ce dernier
n'est pas enregistré, il n'a pas accès à toute les informations de
l'article. Néanmoins, on lui propose un lien pour se loguer.
Ce que l'on cherche à faire, et ce que la solution de Stéphane permet
effectivement de faire, c'est, une fois loguer, de retourner sur l'article
d'où l'on vient (avec, cette fois-ci, puisque l'on s'est logué, toutes les
informations affichés).

2/ Sur l'article de départ, faire le lien vers le formulaire de login
<a
href="spip.php?page=login_visiteur&url=[(#URL_ARTICLE{#ENV{id_article}})]">cliquer
ici</a>

Ici, la balise #ENV nous permet de passer, par l'URL, le numéro de l'article
où l'on se trouve et où l'on veut revenir.

3/ Créer un squelette login_visiteur.html
Dans celui-ci doit figurer [(#LOGIN_PUBLIC)]

4/ Tester.

(Stéphane ? Plus de problème ?).

...

"Jo²" <w3ipr@univ-paris1.fr> a écrit dans le message de news:
fd8glu$vea$1@sea.gmane.org...

Effectivement !

J'étais d'ailleurs en train de faire ce test... Comme quoi.

...

"Stephane" <stephane@rezo.net> a écrit dans le message de news:
46F7BF12.6020903@rezo.net...
Jo² a écrit :

2/ Sur l'article de départ, faire le lien vers le formulaire de login
<a
href="spip.php?page=login_visiteur&id_article=[(#ENV{id_article})]">cliquer
ici</a>

ah ben non, dans ce cas, c'est encore plus simple, il suffit de faire :

<a href="spip.php?page=login_visiteur&url=[(#URL_ARTICLE)]">cliquer
ici</a>

sans mettre ton LOGIN_PUBLIC dans un inclure cette fois, puisque l'url
de retour est prise directement en GET.

et si tu n'es pas dans une boucle article :

<a
href="spip.php?page=login_visiteur&url=[(#URL_ARTICLE{ENV{id_article}})]">cliquer

ici</a>

--------------------------------------------------------------------------------