redirection après enregistrement

6 messages dans ce sujet

Posté(e) · Signaler ce message

bonjour,

lors d'un ajout de produit au pense bête si on n'est pas identifié on est redirigé vers la page membre.

Si on s'identifie ont est redirigé vers le module pense bête

mais comment être redirigé vers le module après la création du compte ?

merci

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonjour,

On peux utiliser une nouvelle session session_redirect_after_register, qui calquerais le fonctionnement sur session_redirect_after_login.

Dans modules\pensebete\ajouter.php, il faut ajouter au début du fichier

$_SESSION['session_redirect_after_register'] = get_current_url(true);

et dans membre.php modifier le calcul de la variable $goto :


if(!empty($_SESSION['session_redirect_after_register']) && strpos($_SESSION['session_redirect_after_register'], $GLOBALS['wwwroot'])===0) {
// Pour éviter que des spammeurs n'utilisent referer, on vérifie que l'URL de redirection contient wwwroot
$goto = $_SESSION['session_redirect_after_register'];
unset($_SESSION['session_redirect_after_register']);
}elseif(!empty($_SESSION['session_redirect_after_login']) && strpos($_SESSION['session_redirect_after_login'], $GLOBALS['wwwroot'])===0) {
// Pour éviter que des spammeurs n'utilisent referer, on vérifie que l'URL de redirection contient wwwroot
$goto = $_SESSION['session_redirect_after_login'];
unset($_SESSION['session_redirect_after_login']);
}elseif($_SESSION['session_caddie']->count_products() > 0) {
$goto = $GLOBALS['wwwroot']."/achat/caddie_affichage.php";
}else{
$goto = get_account_url(false,false);
}
[/CODE]

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

ma question porte sur la redirection après la création d'un compte par le client

merci

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonjour,

Oui, la redirection n'est pas à placer dans membre.php, mais dans utilisateurs\enregistrement.php. Aux endroits où la fonction get_user_register_success est appelée, il faut faire le test suivant :


if(!empty($_SESSION['session_redirect_after_register']) && strpos($_SESSION['session_redirect_after_register'], $GLOBALS['wwwroot'])===0) {
// Pour éviter que des spammeurs n'utilisent referer, on vérifie que l'URL de redirection contient wwwroot
$goto = $_SESSION['session_redirect_after_register'];
unset($_SESSION['session_redirect_after_register']);
redirect_and_die($goto);
} else {
include($GLOBALS['repertoire_modele'] . "/haut.php");
echo get_user_register_success($frm);
include($GLOBALS['repertoire_modele'] . "/bas.php");
}
[/CODE]

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

faut il supprimer la session : session_redirect_after_register dans le fichier de configuration à la manière de la session: session_redirect_after_login ?

merci SIMON

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonjour,

effectivement, il faut supprimer la session si l'utilisateur quitte la page d'enregistrement. Il faut reprendre ce qui existe pour la session session_redirect_after_login, et l'adapter :


// suppression de la session session_redirect_after_register si un utilisateur sort de la page enregistrement.php apr&ès une redirection sans s'être connecté
if ((!empty($_SERVER['HTTP_REFERER']) && strpos($_SERVER['HTTP_REFERER'], 'enregistrement')) && !empty($_SESSION['session_redirect_after_register']) && !est_identifie() && !defined('LOAD_NO_OPTIONAL_MODULE') && !defined('IN_REGISTER')) {
unset($_SESSION['session_redirect_after_register']);
}[/CODE]

Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !


Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.


Connectez-vous maintenant

Twitter Advisto ecommerce

Facebook PEEL Shopping