diff --git a/ecrire/balise/login_public.php b/ecrire/balise/login_public.php index 1ddea1eced3a93258237de0016c4f8ae8b3ef92f..4e39c0ce2c6e1f8d9611cfbf19392ed64e3d2745 100644 --- a/ecrire/balise/login_public.php +++ b/ecrire/balise/login_public.php @@ -42,10 +42,9 @@ function login_explicite($login, $cible) { global $auteur_session; $action = str_replace('&', '&', self()); - if ($cible) { - $cible = ereg_replace("[?&]var_erreur=[^&]*", '', $cible); - $cible = ereg_replace("[?&]var_login=[^&]*", '', $cible); + $cible = parametre_url($cible, 'var_erreur', '', '&'); + $cible = parametre_url($cible, 'var_login', '', '&'); } else { if (ereg("[?&]url=([^&]*)", $action, $m)) $cible = urldecode($m[1]); diff --git a/ecrire/inc/utils.php b/ecrire/inc/utils.php index fb5ec4a319718df934d9bf05356aeaf1873a4c8e..4b5f7d63fc3b9a36db67aa7061fbf855754b1109 100644 --- a/ecrire/inc/utils.php +++ b/ecrire/inc/utils.php @@ -324,8 +324,8 @@ function parametre_url($url, $c, $v=NULL, $sep='&') { // function nettoyer_uri() { return preg_replace - (',[?&](PHPSESSID|(var_[^=&]*))=[^&]*,i', - '', + (',([?&])(PHPSESSID|(var_[^=&]*))=[^&]*(&|$),i', + '\1', $GLOBALS['REQUEST_URI']); }