Paramètre dans url
bonjour,
je réalise un plugin d'authentification depuis la partie public. Tout est ok sauf la déconnexion, je créé un menu qui est composé de deux liens :
C'est sur le second que j'ai un problème, pour lancer la fonction de déconnexion je passe un paramètre dans l'url logout=true. Sur la page ayant une url genre static/static-1 pas de problème mais sur la page d'accueil ça déconne, j'obtient un beau 404 avec une url qui ressemble à
Vous avez une idée ?
je réalise un plugin d'authentification depuis la partie public. Tout est ok sauf la déconnexion, je créé un menu qui est composé de deux liens :
<li><a href="<?php echo plxMotor::urlRewrite('core/admin/profil.php') ?>">Mon profil</a></li>
<li><a href="<?php echo plxMotor::urlRewrite($_SERVER['REQUEST_URI']).'&logout=true' ?>">Déconnexion</a></li>
C'est sur le second que j'ai un problème, pour lancer la fonction de déconnexion je passe un paramètre dans l'url logout=true. Sur la page ayant une url genre static/static-1 pas de problème mais sur la page d'accueil ça déconne, j'obtient un beau 404 avec une url qui ressemble à
http://monsite/&logout=true
Vous avez une idée ?
J'ai un string de l'array
0
Connectez-vous ou Inscrivez-vous pour répondre.

Réponses
Quel est le nom de la page sensée traiter la déconnexion ?
Consultant PluXml
Ancien responsable et développeur de PluXml (2010 à 2018)
public function plxAuthLogout() { if($_GET['logout']) { $formtoken = $_SESSION['formtoken']; # sauvegarde du token du formulaire $_SESSION = array(); session_destroy(); session_start(); $_SESSION['formtoken'] = $formtoken; # restauration du token du formulaire unset($formtoken); } }J'ai un string de l'array
perso je ferais un truc du genre
1- pour ton lien de déconnexion
$plxShow->urlRewrite('index.php?logout')2- dans ton plugin, j'utiliserais le hook plxMotorPreChauffageBegin, avec comme code
if($this->get AND preg_match('/^logout\/?/',$this->get)) { # code pour se déconnecter + redirection sur index.php }Consultant PluXml
Ancien responsable et développeur de PluXml (2010 à 2018)
Voila à quoi ça ressemble maintenant
public function plxAuthLogout() { if($this->get AND preg_match('/^logout\/?/',$this->get)) { $formtoken = $_SESSION['formtoken']; # sauvegarde du token du formulaire $_SESSION = array(); session_destroy(); session_start(); $_SESSION['formtoken'] = $formtoken; # restauration du token du formulaire unset($formtoken); header('Location: index.php'); exit; } }Maintenant quand je clic sur mon lien je me retrouve avec une erreur : Et je reste connecté puisque le tableau $_SESSION reste plein
Array ( [user] => 001 [profil] => 0 [hash] => kZ52mZexsw [domain] => )J'ai un string de l'array
Consultant PluXml
Ancien responsable et développeur de PluXml (2010 à 2018)
J'ai comme l'impression qu'il aime pas le $this->get puisque quand je fais un echo $this->get il y a rien d'afficher.
J'ai un string de l'array
public function plxAuthLogout() { if(plxUtils::getGets() AND preg_match('/^logout\/?/', plxUtils::getGets())) { $formtoken = $_SESSION['formtoken']; # sauvegarde du token du formulaire $_SESSION = array(); session_destroy(); session_start(); $_SESSION['formtoken'] = $formtoken; # restauration du token du formulaire unset($formtoken); header('Location: index.php'); exit; } }Merci.
J'ai un string de l'array
Consultant PluXml
Ancien responsable et développeur de PluXml (2010 à 2018)