Page 1 sur 1

Rester sur la page jusqu'au "submit"

Posté : 22 juin 2014, 18:47
par userphp69
Bonjour,

C'est mon premier poste, soyez indulgents =)

Juste pour info je suis en train de modifier prestashop 1.6 a ma sauce pcq je n'ai pas trouvé de module gratuit pour ce que je veux faire : boutique privé (accédée qu'apres authentification).
Pour ceux qui connaissent pas prestashop ce n'est pas grave, mon probleme c'est du pure php.

voila mon index.php (modifié a ma sauce) :

require(dirname(__FILE__).'/config/config0.inc.php');
require(dirname(__FILE__).'/connexion.php');
require(dirname(__FILE__).'/config/config.inc.php');
Dispatcher::getInstance()->dispatch();

connexion.php c'est uniquement une page html de connexion (formulaire login/mdp).
Une fois qu'on submit on est redirigé vers la page "login.php" qui est elle du pure php et qui vérifie si l'utilisateur/mdp sont correctes.

Problème : je veux rester dans la page connexion.php jusqu'à qu'il y est un click sur "connexion" , autrement dit un "submit".
alors que PHP trace sa route il execute "connexion.php" (la page apparait et dispparait en une fraction de seconde) puis continue vers "config.inc.php"

Merci d'avance!!!

Re: Rester sur la page jusqu'au "submit"

Posté : 22 juin 2014, 20:20
par Elie
J'ai lu 2 fois ta description mais j'ai toujours pas compris ...

Tu cliques sur connexion et ca te redirige vers login.php ...
Et toi tu veux quoi ?

Re: Rester sur la page jusqu'au "submit"

Posté : 22 juin 2014, 20:33
par userphp69
merci pour ta réponse,
je veux arreter le script et rester sur la page connexion.php jusqu'a ce qu'on click sur le bouton "connexion"
autrement di, que ca reste bloqué sur la ligne "require(dirname(__FILE__).'/connexion.php');" de mon "index.php",
jusqu'a l'identification d'un utilisateur. et apres le script pourra continuer a s'executer avec
"require(dirname(__FILE__).'/config/config.inc.php');
Dispatcher::getInstance()->dispatch();"

c'est plus clair maintenant?

Merci!!

Re: Rester sur la page jusqu'au "submit"

Posté : 22 juin 2014, 20:35
par Elie
C'est en ligne meme en mode test ton truc ?

Re: Rester sur la page jusqu'au "submit"

Posté : 22 juin 2014, 20:59
par userphp69
non c'est pas en ligne c'est en local sur wamp, si c'est ce que tu veux savoir...

Re: Rester sur la page jusqu'au "submit"

Posté : 22 juin 2014, 21:22
par Elie
Je te souhaite donc bonne chance.

Re: Rester sur la page jusqu'au "submit"

Posté : 22 juin 2014, 21:29
par sirakawa
Envoie le code de connexion.php et du fichier inclus AVANT.
Pas sûr que ça serve, mais sait-on jamais?

Re: Rester sur la page jusqu'au "submit"

Posté : 23 juin 2014, 13:14
par xTG
Moi j'ai compris ce qu'il voulait, et par la même occasion qu'il n'avait pas compris que PHP est un langage serveur.
Lorsque la page s'affiche le code a entièrement été exécuté !
Tu ne peux donc pas faire ce que tu souhaites, du moins pas comme ça.
Il faut que ton formulaire de login te redirige vers ta page de vérification des informations.
Puis si tu dois avoir une autre redirection depuis ce fichier tu peux utiliser la fonction header() ou bien les fonctions de redirection de ton framework.

Re: Rester sur la page jusqu'au "submit"

Posté : 25 juin 2014, 13:07
par userphp69
Bonjour,

Merci beaucoup xTG pour ta réponse et de m'avoir éclaircit ce point, je pensais que php tourne en continue, mais comme tu as di le script doit être entièrement executé avant de voir la page, j'ai vu ça grâce au debugger XDEBUG : il passait entierement le code php sans sans que la page du navigateur n'affiche rien et une fois tout le code passé je voyais la page.
J'ai fais exactement ta solution et ça marche très bien j'ai pu développer ce que je voulais c'est a dire privatiser ma boutique prestashop.

Petite question au passage, les "htmlspecialchars" sont obligatoires a chaque fois qu'il y a un "input text"?

Merci encore pour votre aide!!

Re: Rester sur la page jusqu'au "submit"

Posté : 25 juin 2014, 20:11
par xTG
Petite question au passage, les "htmlspecialchars" sont obligatoires a chaque fois qu'il y a un "input text"?
Réafficher potentiellement du code HTML non contrôlé n'est pas sécurisant.
Si tu ne souhaites accepter aucun code HTML dans tes champs dynamiques il faut donc les sécuriser de cette façon.
Et si tu souhaites accepter certains balises il faut te tourner vers strip_tags pour supprimer les balises qui n'ont pas de raison d'être (telle que script).

Re: Rester sur la page jusqu'au "submit"

Posté : 26 juin 2014, 11:40
par userphp69
Merci xTG, sinon tu connais prestashop? j'ai vraiment besoin d'un coup de main car je n'arrive meme pas a installer le module d'exemple qui est sur la doc :
http://doc.prestashop.com/pages/viewpag ... d=15171738

alors que j'ai suivi toutes les etapes bien comme il le faut...

Merci d'avance.

Re: Rester sur la page jusqu'au "submit"

Posté : 26 juin 2014, 11:41
par Thomasfkc
As-tu essayé ceci (pour le fichier connexion.php
if(isset($_POST["submit"])) { // si l'utilisateur arrive sur cette page depuis le boutou submit

// tu vérifies que ses identifiants sont bons (login.php)

} else { // si l'utilisateur arrive sur cette page depuis un autre moyen

echo '<form method="post" action="connexion.php">'; // on fait un formulaire qui sera traité avec connexion .php

// tu mets tes inputs

echo '</form>'; } // tu mets fin au formulaire et au 'else'

Re: Rester sur la page jusqu'au "submit"

Posté : 26 juin 2014, 12:24
par userphp69
merci Thomasfkc pour ta réponse mais mon premier probleme est réglé.
Maintenant mon soucis c'est ajouter un module a prestashop et qu'il apparaisse sur ma page d'acceuil, comme je l'ai expliqué plus haut.

Doc Prestashop : "Le module est maintenant attaché à la colonne de gauche... mais sans aucun modèle à afficher, nous sommes loin d'avoir quoi que ce soit d'utile sur la page d'accueil : si vous la rechargez, vous noterez que la colonne de gauche affiche simplement un message là où le module devrait se trouver, disant "No template found for module mymodule"."

Moi j'ai tout bien fait et je n'est pas "No template found for module mymodule" ... qu'est ce que je dois faire?

Merci encore pour votre aide.

Re: Rester sur la page jusqu'au "submit"

Posté : 26 juin 2014, 12:31
par Thomasfkc
merci Thomasfkc pour ta réponse mais mon premier probleme est réglé.
Maintenant mon soucis c'est ajouter un module a prestashop et qu'il apparaisse sur ma page d'acceuil, comme je l'ai expliqué plus haut.

Doc Prestashop : "Le module est maintenant attaché à la colonne de gauche... mais sans aucun modèle à afficher, nous sommes loin d'avoir quoi que ce soit d'utile sur la page d'accueil : si vous la rechargez, vous noterez que la colonne de gauche affiche simplement un message là où le module devrait se trouver, disant "No template found for module mymodule"."

Moi j'ai tout bien fait et je n'est pas "No template found for module mymodule" ... qu'est ce que je dois faire?

Merci encore pour votre aide.
Là c'est plus du domaine de la programmation, ça a l'air d'être un problème interne à Prestashop.
Si on a pas la structure de ton site, ni même le lien, ça risque d'être dur. Pose plutôt la question sur un forum d'entraide Prestashop !