pense bête et donner son avis

11 messages dans ce sujet

Posté(e) · Signaler ce message

bonjour,

sur les fiches produits il y a le module pense bête et donner son avis.

lorsque l'on n'est pas identifié on est redirigé vers la page membre.

une fois identifie on est sur la page compte.

il faut donc revenir manuellement sur le produit pour lequel on souhaite donner son avis ou ajouter au pense bête

est il possible d'être redirigé automatiquement vers la page pense bête ou donner son avis une fois l'identification réussie ?

merci

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonjour,

Oui, avant la redirection dans la page membre.php dans les pages modules\pensebete\ajouter.php et modules\avis\avis.php , vous pouvez stocker la page en cours dans une variable de session :


if (!est_identifie()) {
// User not logged in ==> we redirect to login page.
$_SESSION['session_redirect_after_login'] = get_current_url(true);
redirect_and_die($GLOBALS['wwwroot'] . '/membre.php');
}
[/CODE] dans la page membre.php, il faut ajouter un test sur la présence de la session, est rediriger vers l'info contenu dans cette session.
[CODE]
if ($utilisateur) {
if(!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);
}
redirect_and_die($goto);

Cette amélioration est prévu dans la version 6.4.

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

ok , je pensais aux sessions mais je n'aurais pas pensé à vérifier l'url de redirection.

il se pose un problème :

1. à partir de la fiche produit je clique sur le lien donner son avis ou ajouter au pense bête

2. je suis redirigé vers la page membre

3. je m'identife et j'ai accès à la page du module

Problème : je suis redirigé vers la page membre, mais si je ne souhaite pas m'identifier et que je clique sur n'importe quel lien et que je revienne sur membre.php à partir du lien direct, à l'identification je serai dirigé vers le module donner son avis ou ajouter au pense bête au lieu d'aller vers Mon compte.

concernant la page enregistrement :

on est obligé de s'identifer pour accèder aux deux modules dont vous avez donné la solution plus haut.

Mais que se passe t il si l'utilisateur doit créer un compte ?

y a t il une redirection après la création du compte ?

les infos saisies dans le module avis lors de l'ajout ou modif le caractères spéciaux ne sont pas transformés tels que le é

Merci

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonjour,

Problème : je suis redirigé vers la page membre, mais si je ne souhaite pas m'identifier et que je clique sur n'importe quel lien et que je revienne sur membre.php à partir du lien direct, à l'identification je serai dirigé vers le module donner son avis ou ajouter au pense bête au lieu d'aller vers Mon compte.

Je vous propose de placer ce morceau de code en bas du fichier configuration.inc.php, pour vider la session permettant la redirection :


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

[/CODE]

concernant la page enregistrement :

on est obligé de s’identifier pour accéder aux deux modules dont vous avez donné la solution plus haut.

Mais que se passe t il si l'utilisateur doit créer un compte ?

y a t il une redirection après la création du compte ?

=> Oui, la redirection sera faite, puisque la session n'est pas supprimé si l'utilisateur ne se connecte pas.

les infos saisies dans le module avis lors de l'ajout ou modif le caractères spéciaux ne sont pas transformés tels que le é et <, on a ainsi dans la base <p>évenement</p>

=> Le HTML doit normalement être supprimé, puisque la fonction nohtml_real_escape_string() est utilisé lors de l'intertion dans la table peel_avis. J'ai fais un essai sur la 6.3.1, le HTML n'est pas inséré en BDD.

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

bonjour,

merci pour le bout de code.

Concernant le module peel_avis avec la fonction nohtml_real_escape_string() le HTML n'est pas pris en compte, je comprend, mais faut il que le é soit encodé non ?

Je vous remercie, de toutes vos réponses, et de vous donner la peine de fournir des explications simples et utiles.

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonjour,

L'encodage des caractères spéciaux n'est pas nécessaire, les données sont gérées en UTF8.

Y'a pas de quoi ;).

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

bonjour,

si je mets dans le fichier configuration :


// suppression de la session session_redirect_after_login si un utilisateur sort de la page membre.php apr&#232;s une redirection sans s'&#234;tre connect&#233;

		if ((!empty($_SERVER['HTTP_REFERER']) && strpos($_SERVER['HTTP_REFERER'], 'membre')) && !empty($_SESSION['session_redirect_after_login']) && !est_identifie() && !defined('LOAD_NO_OPTIONAL_MODULE')) {

				unset($_SESSION['session_redirect_after_login']);

		}

après identification je suis sur la page mon compte et pas sur l'un des deux modules

merci

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonjour,

Donc, vous êtes arrivé sur la page mon compte depuis le module pense-bête (par exemple), et après s'être identifié, il n'y a pas eu de redirection vers la page pense-bête?

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

oui tout à fait je retourne vers la page compte.php

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonjour,

En ajoutant un test !defined('IN_ACCES_ACCOUNT') dans le test


if ((!empty($_SERVER['HTTP_REFERER']) && strpos($_SERVER['HTTP_REFERER'], 'membre')) && !empty($_SESSION['session_redirect_after_login']) && !est_identifie() && !defined('LOAD_NO_OPTIONAL_MODULE') && !defined('IN_ACCES_ACCOUNT')) {
unset($_SESSION['session_redirect_after_login']);
}
[/CODE]

On s'assure que le contenu de la session[i] session_redirect_after_login[/i] n'est pas effacé lorsque l'on arrive sur la page de connexion. Le problème peut venir de là.

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

oui en effet !

merci

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