Bonjour à tous,
voilà, je suis confronté à un certain problème que je vais détailler le plus simplement possible.
Mes clients ont un affichage issu d'une base de données, de leur commande détaillée. De là, ils peuvent cocher, sur chacune de leur ligne de commande, si leur produit a un défaut. Ils peuvent aussi en saisir la quantité de défectueuse, si ils ont commandé plusieurs produits (par exemple, pour 5 produits commandés, 2 sont défectueux).
Une fois ceci fait, le client soumet le formulaire, et celui-ci est traité.
Voici le code :
Les $_POST[a] [b] et [c] correspondent à des checkbox, chacune donnant le défaut du produit (cassé, manquant ou défectueux)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43 <?php if (isset($_POST['verif_num_commande']) and isset($_POST['param_hidden'])) { $i = $_POST['param_hidden']; $j = 1; $numcommande = $_POST['verif_num_commande']; while ($j <= $i) { $quantite = $_POST['quantite'.$j]; $quantite_real = $_POST['quantite_real'.$j]; if ($quantite != NULL) { $quantite_verification = "ok" ; if (!isset($_POST['a'.$j]) and !isset($_POST['b'.$j]) and !isset($_POST['c'.$j])) { echo "<a href='".FILENAME_ACCOUNT_CLAIM."?order_id=$numcommande'>Erreur, vous devez indiquer si votre article est cassé, défectueux, ou manquant.</a><br />"; $error = "error"; } if ($quantite > $quantite_real or isnumeric($quantite)==FALSE ) { echo "<a href='".FILENAME_ACCOUNT_CLAIM."?order_id=$numcommande'>Erreur, la quantité réclamée est supérieure à la quantité commandée, veuillez réessayer</a><br />"; $error = "error"; } } $j = $j+1 ; } if ($quantite_verification!="ok") { echo "<a href='".FILENAME_ACCOUNT_CLAIM."?order_id=$numcommande'>Erreur, vous n'avez pas saisi la quantité à réclamer.</a><br />"; $error = "error"; } if ($error!="error" and $quantite_verification=="ok") { echo "lulu"; $solution = $_POST['solution']; } } ?>
Mon problème est donc ici, le code a l'air de bien marcher en lui, mais non.
En effet, j'ai testé pour les différentes erreurs verifiées par les "if", et j'obtiens des résultats prodigieux.
Pour toutes les erreurs, sauf celle qui vérifie si les "a" "b" "c" n'existent pas, la page s'affiche correctement.
Quand il n'y a aucune erreur, ou quand l'autre erreur que je vous ai citée intervient, la page se charge mais s'arrete en plein de milieu du si, c'est a dire qu'on dirait que php refuse de bosser et qu'il donne la page telle qu'elle.
En gros, lorsque je n'ai pas d'erreur, je devrais avoir "lulu" qui s'affiche mais malheureusement non, et meme le pied de page ne vient pas terminer la page web (fin de la balise html et tout le reste)
Auriez-vous une idée ? J'y planche dessus depuis quelques heures déjà sans résultat.
Merci
Partager