Bloquer étape order.php

Eléphanteau du PHP | 12 Messages

27 mai 2011, 10:26

Bonjour,

Je suis plus que débutant, je commence juste à étudier le PHP à l'aide d'un site (0).
Je voudrais connaitre la manip afin de bloquer une étape dans order.php selon conditions.
Je ne sais pas de quel éléments vous avez besoin pour m'aider, mais le site tourne sous Prestashop, il y a un module de prise de rendez-vous associé à un mode de livraison (retrait au dépôt), le problème est que même si aucune date n'est renseignée, on peut passer à l'étape suivante.
Je souhaiterai bloquer la page suivante si le calendrier de rendez-vous est vide.

PS : J'ai oublié de passer par la case présentation #-o , j'y cours !
(Veuillez excuser ma première erreur)

______________________________
Après recherche, je n'ai pas trouvé de post présentation.

Mammouth du PHP | 672 Messages

27 mai 2011, 10:46

Bonjour.

C'est unpeu difficile de t'aider sans code, mais sur le principe :

1. Trouver la page dans laquelle tu as le formulaire (celui dans lequel tu remplis la date de RdV).

2. (Optionnel) Faire un contrôle en Javascript à l'envoi : si la date n'est pas renseignée (ou est inférieure à aujourd'hui), l'interdire.
C'est optionnel, parce que de toute façon il faudra faire les vérifications en PHP derrière,mais ce sera plus agéable pour l'utilisateur...

3. Le formulaire pointe vers une page, qui doit certainement faire les vérifications. S'inspirer des contrôles déjà existants pour rajouter un test sur la date :

Code : Tout sélectionner

SI (date non renseignée OU date < aujourd'hui) Erreur SINON continuer
Sachant que la date doit être passée, comme tous les champs de ton formulaire, par POST ou GET (et donc récupérable par $_POST['nomduchampduformulaire']).

Eléphant du PHP | 142 Messages

27 mai 2011, 11:01

Bonjour et bienvenue !

Ton problème devrait se régler avec un truc du genre :

Dans la page de ton formulaire :
echo "Date :";
echo'<input name="Date" id="Date"/>'; // Ton champ "Date"
Et dans une autre page, qui sert de vérification : (Quand le visiteur clique sur "soumettre le formulaire", il est envoyé sur cette page, obligatoirement)
if ( empty($date) ) //Si le champ est vide ...
{
   echo "<script>alert(\"Le champ DATE est vide\")</script>"; // ... Une pop-up s'affiche en signalant que le champ date est vide
   echo '<META HTTP-EQUIV="Refresh" CONTENT="0;URL= http://www.site.com/ta_page.php">'; // On le renvoie sur la page du formulaire, histoire qu'il soit obligé de remplir le champ !
   
}

Mais bon, l'idéal serait que tu mettes ton code...

Eléphanteau du PHP | 12 Messages

27 mai 2011, 11:46

Merci pour vos réponse, je vous joint les fichiers avec le order.

http://eillon.free.fr/Download/planning ... arrier.zip

http://eillon.free.fr/Download/order.zip

Eléphant du PHP | 142 Messages

27 mai 2011, 11:56

Hum d'accord, alors je pense que tu obtiendrais plus de réponses si tu postais uniquement la partie en question de ton code, à l'aide des balises
[/b] et [b][/ PHP][/b]...

[i][size=85]Et puis dans ton order.php, je ne vois pas de formulaire...  #-o [/size][/i]

Eléphanteau du PHP | 12 Messages

28 mai 2011, 23:13

Je suis désolé, mais je n'y pas grand chose, sinon rien.
Je teste tout ça en local évidemment. J'apprends seul en lisant les pages et en décodant les codes.

Je suppose que le principe est le même que pour les CGV, mais je n'arrive pas à trouver le script en question.
Je suis encore navré de vous déranger, mais je suis plus dans l'apprentissage que dans la programmation.

Il faut bien commencer un jour :D