THELIA Forum

Welcome to the THELIA support and discusssion forum

Announcement

Rejoignez la communauté sur le Discord Thelia : https://discord.gg/YgwpYEE3y3

Offline


Bonjour à tous,

Alors voilà, seulement sous Chrome, le formulaire ci-bas, lorsque je me connecte, ça me renvoie vers l'index... Ce que je ne souhaite pas !

<form action="#VARIABLE(urlsite)/?fond=connexion" method="post" name="connexion" id="connexion">
            <input type="hidden" name="action" value="connexion" />

            <label class="lab_form" for="email">Mon e-mail #ERRCONNEX[<span class="obligatoire">(ERREUR !)</span>]</label>
            <label for="motdepasse"> Mon mot de passe </label>
            <div class="bande">
                <input class="inputext" name="email" type="text" />           
                <input class="inputext" name="motdepasse" type="password"/>
            </div>
            <div class="clear"></div>
            <br />
            <a class="acheter" href="javascript:document.forms['connexion'].submit()" onclick='window.location.href="page.html";'/><img class="img" src="_gfx/coche_blanc.png" title="ok" alt="ok"/>VALIDER</a>
            <span class="h40">Si vous avez oublié votre mot de passe cliquer <a href="mdpoublie.php">ici</a></span>
            </form>

  • yoan
  • Cofondateur Thelia

Offline


Comment dire. Depuis quelle page ? Quelle version de Thelia ? Que voudrais-tu à la place ?


http://yoandemacedo.com

Cofondateur de la solution Thelia 1.x

Offline


Aaaaah, ça me rassure. Je me sens moins seul.    :-p

J'ai exactement le même problème :
Sur un THELIA 1.5.1 avec Chrome uniquement, après avoir rempli mon panier, le formulaire de connexion me renvoie à la page index.html.
J'ai tout vérifié plusieurs fois afin d'isoler le problème : retiré le htaccess, le rewriting, désactivé les plugins, remis le template d'origine.

Le plus étrange, c'est que j'ai testé avec 2 installations complètement similaires et sur l'une, la redirection fonctionne, sur l'autre pas.

Aucun soucis de ce genre avec Firefox, Safari et Opera.
Est-ce que quelqu'un aurait une idée d'où pourrait venir ce problème ?

Merci.

Offline


Pour l'action de ta forme, essaie : action="#VARIABLE(urlsite)"

ajoute ensuite un champ caché

<input type="hidden" name="fond" value="connexion" />

C'est mieux ?


OpenStudio Toulouse

Offline


Merci Franck,

Dois-je remplacer <input type="hidden" name="action" value="connexion" /> par
<input type="hidden" name="fond" value="connexion" /> ?

Offline


Non :

<form action="#VARIABLE(urlsite)" method="post" name="connexion" id="connexion">
           <input type="hidden" name="fond" value="connexion" />
           <input type="hidden" name="action" value="connexion" />
etc.

Last edited by roadster31 (23-01-2012 16:48:16)


OpenStudio Toulouse

Offline


Gronf …

Ça marche toujours pas sur Chrome.
Par contre sur les autres navigateurs ça roule.

Offline


Tu peux virer les cookies de ton Chrome ? Au cas ou il y aurait des traces de plugin qui trainent ?

Sinon, tu passe ton formulaire en "get", et tu commente la redirection dans la fonction connexion() de action.php, et tu regarde ce qu'il y a dans $_SESSION['navig']->urlpageret.

Last edited by roadster31 (23-01-2012 18:02:35)


OpenStudio Toulouse

Offline


J'ai mis mon formulaire en «get» et j'ai modifié mon action.php comme ceci :

function connexion($email,$motdepasse){

		$client = new Client();
		$rec = $client->charger($email, $motdepasse);

		if($rec) {
			$_SESSION['navig']->client = $client;
			$_SESSION['navig']->connecte = 1;
			ActionsModules::instance()->appel_module("apresconnexion", $client);

			//if($_SESSION['navig']->urlpageret) redirige($_SESSION['navig']->urlpageret);
			//	else redirige(urlfond());
		}

		//else {
		//	redirige(urlfond("connexion", "errconnex=1"));
		}
	}

C'est bien ça ?

Offline


Yep. Mais c'est su debug, hein. Quand tu aura trouvé la cause du problème, il faudra tout remettre comme avant.

Fait un echo $_SESSION['navig']->urlpageret; quelque part pour voir le contenu de cette variable.


OpenStudio Toulouse

Offline


À savoir que j'ai conservé le formulaire avec la modification précédente : le champ supplémentaire <input type="hidden" name="fond" value="connexion" />

Offline


Euh…   gloups.
Comment fait-on ça ?

Offline


J'ai fait un echo $_SESSION['navig']->urlpageret; sur cette même page connexion.html.
La valeur de la variable n'est pas affichée.
Cela me retourne ça : urlpageret; ?>

Peut-être n'ai-je pas bien compris tes consignes.

Offline


Laisse tomber.

Tu es redirigé vers l'accueil si urlpageret n'est pas défini (vide). C'est ce que je voulais vérifier.


OpenStudio Toulouse

Offline

Offline


As-tu une idée d'où provient le bug (Le fait que la variable soit vide sous Chrome) ?

Offline


Non, désolé. A distance comme ça, je ne peux pas savoir.


OpenStudio Toulouse

Offline


Bonjour à tous.
J'ai le même problème, suite à la connexion je suis redirigé en page d'accueil.
Pourtant ma variable $_SESSION['navig']->urlpageret; n'est pas vide, lorsque je fais un echo j'ai bien /?fond=adresse
Du coup je ne comprends pas cette erreur qui est présente quel que soit le navigateur...

Offline


À priori, il s'agit d'un bug de Thelia.
Franck (roadster31) m'a aidé à le résoudre.

Désolé, on a oublié de poster la solution.
Je remets le nez dans le code pour la retrouver et je te tiens au courant dans la journée.

Offline


Bonsoir !

J'ai le même problème, un petit coup de pouce serait le bienvenu.

Si je fais la manip du #9, je n'ai pas de redirection. Quand je simule une commande, je reviens systématiquement à l'index.
Manifestement, pas de pageret non plus.

C'était quoi la soluce ?

Salut !

Beav'

Last edited by Beaver's (24-02-2012 22:16:56)

Offline


Bonjour,

Une solution consiste à faire ce qui suit :

1) choisir quel template on va charger
2) ouvrir le fichier action.php, ligne 105 normalement. C'est après ça

// connexion du client
	function connexion($email,$motdepasse){

3) modifier le code :

if($_SESSION['navig']->urlpageret) redirige($_SESSION['navig']->urlpageret);
				else redirige(urlfond("ici c'est soit vide soit avec une adresse"));

par

if($_SESSION['navig']->urlpageret) redirige(urlfond("template voulu");
				else redirige(urlfond("template voulu"));

Et t'as plus de problème.

A bientôt,

LeHibou

Last edited by LeHibou (25-02-2012 09:44:32)

Offline


Salut,

Je n'ai pas réussi à trouver la modification apportée par Franck.

Allo, Allo Roadster31, pourrais-tu nous aiguiller sur la manip à faire (le contrôle que tu as ajouté est-il dans le fichier moteur.php) ?

Merci beaucoup !

Offline


Allo, Allo Roadster31

Ouiii ?

Voilà la modif dans le SVN, à partir de la ligne 222 : http://thelia.svn.sourceforge.net/viewv … 07&r2=1809


OpenStudio Toulouse

Offline


Super !!!!!
Merci…………!!!!

Offline


En fait, j'envisage de tester ça mais dans moteur.php j'ai pas exactement les mêmes lignes... ce qui est un peu flippant.