Problème POST PHP
Résolu/Fermé
M_Tufux
Messages postés
70
Date d'inscription
dimanche 11 octobre 2015
Statut
Membre
Dernière intervention
6 juin 2017
-
23 févr. 2016 à 11:50
jordane45 Messages postés 38274 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 8 novembre 2024 - 23 févr. 2016 à 16:38
jordane45 Messages postés 38274 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 8 novembre 2024 - 23 févr. 2016 à 16:38
A voir également:
- Problème POST PHP
- Easy php - Télécharger - Divers Web & Internet
- Post it windows - Télécharger - Agendas & Calendriers
- Brouillon post instagram - Guide
- Php natif - Forum PHP
- Get_magic_quotes_gpc php 8 ✓ - Forum PHP
3 réponses
jordane45
Messages postés
38274
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
8 novembre 2024
4 696
23 févr. 2016 à 11:53
23 févr. 2016 à 11:53
Bonjour,
Commence par mettre le action de ton form à vide :
Puis dans ta page (au tout début) ajoute un
Bien entendu, si tu es en local, tu passes bien par le LOCALHOST ?
Commence par mettre le action de ton form à vide :
<form action="" method="POST">
Puis dans ta page (au tout début) ajoute un
print_r($_POST);
Bien entendu, si tu es en local, tu passes bien par le LOCALHOST ?
M_Tufux
Messages postés
70
Date d'inscription
dimanche 11 octobre 2015
Statut
Membre
Dernière intervention
6 juin 2017
23 févr. 2016 à 12:08
23 févr. 2016 à 12:08
Yep, j'espère que ce sera assez lisible
<?php include('head.php'); var_dump($_POST); /************************************************* * ** *** **** ***** ****** ******* DECLARATION DES VARIABLES D'ERREUR ******* **************************************************/ //Variables texte => Messages d'erreurs $ErreurOF2 = ""; $ErreurArticle = ""; $ErreurNom = ""; $ErreurRebuts = ""; $ErreurPB = ""; $ErreurMachine = ""; $ErreurMatiere = ""; $ErreurConcerne = ""; $ErreurCommentaire = ""; $ErreurGlobale = ""; $berreur = false; /********************************************************** ************ DECLARATION DES VARIABLES TABLEAU ************ **********************************************************/ $TabNom = ExtraireListe("noms", "NomPrenom"); $TabConcerne = ExtraireListe("concerne", "cause"); /********************************************************* ******* DECLARATION DES VARIABLES DE CONCATENATION ******* *********************************************************/ $OF = ""; $Concerne = ""; /************************************************ **************** GESTION D'ERREUR *************** ************************************************/ if(isset($_POST['valide'])){ //Erreurs OF2 if(!is_numeric($_POST['of2']) && !empty($_POST['of2']) || is_numeric($_POST['of2']) && is_float($_POST['of2']) || empty($_POST['of2'])){ //Ecriture message d'erreur OF2 $ErreurOF2 = "Veuillez insérer une valeur numérique entière"; $berreur = true; } //Erreurs Article if(!is_numeric($_POST['article']) && !empty($_POST['article']) || is_numeric($_POST['article']) && is_float($_POST['article']) || substr($_POST['article'], 0, 1) == 0 || empty($_POST['article'])){ //Ecriture message d'erreur Article $ErreurArticle = "Veuillez insérer une valeur numérique entière"; $berreur = true; } //Erreur contrôleuse if($_POST['nom'] == "Sélectionner"){ $ErreurNom = "Veuillez choisir un nom"; $berreur = true; } //Erreurs Rebuts $bRebuts = strpos($_POST['rebuts'], "."); if(!empty($_POST['rebuts']) && (!is_numeric($_POST['rebuts']) || is_float($_POST['rebuts'])) || $bRebuts != false){ $ErreurRebuts = "Veuillez entrer une valeur numérique entière"; $berreur = true; } //Erreurs Pièces bonnes $bPB = strpos($_POST['pb'], "."); if(!empty($_POST['pb']) && (!is_numeric($_POST['pb']) || is_float($_POST['pb'])) || $bPB != false){ $ErreurPB = "Veuillez entrer une valeur numérique entière"; $berreur = true; } //Erreurs Machine $bMachine = strpos($_POST['machine'], "."); if(!empty($_POST['machine']) && (!is_numeric($_POST['machine']) || is_float($_POST['machine'])) || $bMachine != false){ $ErreurMachine = "Veuillez entrer une valeur numérique entière"; $berreur = true; } //Erreurs Concerne if(!isset($_POST['concerne'])){ $ErreurConcerne = "Veuillez choisir au moins une option"; $berreur = true; } //Erreur Commentaire => caractère ' $bCommentaire = strpos($_POST['commentaire'], "'"); if($bCommentaire != false){ $ErreurCommentaire = "Veuillez ne pas entrer d'apostrophe"; $berreur = true; } /*********************************************** **************** CONCATENATION ***************** ***********************************************/ //OF $OF = "OF-".$_POST['of1']."-".$_POST['of2']."-001"; //Concerne if(isset($_POST['concerne'])){ for($i=0;$i<count($_POST['concerne']);$i++){ $Concerne .= $_POST['concerne'][$i].'<br />'; } } /*********************************************** ****************** APPEL SQL ******************* ***********************************************/ if($berreur == false){ echo('<script>alert("Saisie OK");</script>'); Ajouter("problemes", $OF, $Concerne); } elseif($berreur == true){ echo('<script>alert("Erreur de saisie");</script>'); $ErreurGlobale = "Veuillez vous assurer que les champs soient remplis correctement"; } } else{ var_dump($_POST); }?><!DOCTYPE HTML><html> <body> <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST"> <input type="hidden" name="valide" /> <p> <label>OF - </label> <SELECT name="of1"> <OPTION <?php if(isset($_POST["of1"]) && $_POST["of1"] == "001"){ echo('selected');}?>>001 <OPTION <?php if(isset($_POST["of1"]) && $_POST["of1"] == "002"){ echo('selected');}?>>002 <OPTION <?php if(isset($_POST["of1"]) && $_POST["of1"] == "003"){ echo('selected');}?>>003 <OPTION <?php if(isset($_POST["of1"]) && $_POST["of1"] == "010"){ echo('selected');}?>>010 <OPTION <?php if(isset($_POST["of1"]) && $_POST["of1"] == "020"){ echo('selected');}?>>020 <OPTION <?php if(isset($_POST["of1"]) && $_POST["of1"] == "501"){ echo('selected');}?>>501 <OPTION <?php if(isset($_POST["of1"]) && $_POST["of1"] == "602"){ echo('selected');}?>>602 <OPTION <?php if(isset($_POST["of1"]) && $_POST["of1"] == "702"){ echo('selected');}?>>702 <OPTION <?php if(isset($_POST["of1"]) && $_POST["of1"] == "703"){ echo('selected');}?>>703 <OPTION <?php if(isset($_POST["of1"]) && $_POST["of1"] == "881"){ echo('selected');}?>>881 <OPTION <?php if(isset($_POST["of1"]) && $_POST["of1"] == "991"){ echo('selected');}?>>991 <OPTION <?php if(isset($_POST["of1"]) && $_POST["of1"] == "992"){ echo('selected');}?>>992 <OPTION <?php if(isset($_POST["of1"]) && $_POST["of1"] == "993"){ echo('selected');}?>>993 </SELECT> - <input type="text" name="of2" value="<?php if(isset($_POST['of2'])){ echo $_POST['of2'];} ?>" maxlength=5 /> - 001 <?php if(!empty($ErreurOF2)){ echo $ErreurOF2; } ?> </p> <p> <label>Article </label><input type="text" name="article" value="<?php if(isset($_POST['article'])){ echo $_POST['article'];} ?>" maxlength=6 /> <?php if(!empty($ErreurArticle)){ echo $ErreurArticle; } ?> </p> <p> <label>Contrôleuse/eur </label> <SELECT name="nom"> <OPTION <?php if(!(isset($_POST["nom"])) && !empty($ErreurGlobale)){ echo('selected');}?>>Sélectionner <?php for($i=0; $i<count($TabNom); $i++){ if(isset($_POST['valide']) && $_POST['nom'] == $TabNom[$i][1] && !empty($ErreurGlobale)){ echo'<option value="'.$TabNom[$i][1].'" selected>'.$TabNom[$i][1].'</option>'; } else{ echo'<option value="'.$TabNom[$i][1].'">'.$TabNom[$i][1].'</option>'; } } ?> </SELECT> <?php if(!empty($ErreurNom)){ echo $ErreurNom; } ?> </p> <p> <label>Rebuts </label><input type="text" name="rebuts" value="<?php if(isset($_POST['rebuts'])){ echo $_POST['rebuts'];} ?>" /> <?php if(!empty($ErreurRebuts)){ echo $ErreurRebuts; } ?> </p> <p> <label>Pièces bonnes </label><input type="text" name="pb" value="<?php if(isset($_POST['pb'])){ echo $_POST['pb'];} ?>" /> <?php if(!empty($ErreurPB)){ echo $ErreurPB; } ?> </p> <p> <label>Machine </label><input type="text" name="machine" value="<?php if(isset($_POST['machine'])){ echo $_POST['machine'];} ?>" /> <?php if(!empty($ErreurMachine)){ echo $ErreurMachine; } ?> </p> <p> <label>Matière </label><input type="text" name="matiere" value="<?php if(isset($_POST['matiere'])){ echo $_POST['matiere'];} ?>" /> </p> <p> <fieldset> <legend>Concerne</legend> <table> <tbody> <?php for($i=0; $i<count($TabConcerne); $i++){ if($i % 3 == 0){ echo '<tr>'; } echo'<td><input type="checkbox" name="concerne[]" value="'.strtolower($TabConcerne[$i][1]).'">'.$TabConcerne[$i][1].'</td>'; if($i == 2){ echo '</tr>'; } } ?> </tbody> </table> <?php if(!empty($ErreurConcerne)){ echo $ErreurConcerne; } ?> </fieldset> </p> <p> Commentaire : <br/> <textarea name="commentaire"><?php if(isset($_POST['commentaire'])){ echo $_POST['commentaire'];} ?></textarea> <?php if(!empty($ErreurCommentaire)){ echo $ErreurCommentaire; } ?> </p> <p> Date : <input type="text" name="date" value="<?php echo date('d/m/Y'); ?>" /> </p> <?php if(!empty($ErreurGlobale)){ echo $ErreurGlobale; } ?> <br/> <input type="button" value="Retour" onClick="javascript:document.location.href='index.php'" /> <input type="submit" value="Ajouter" /> </body></html>
jordane45
Messages postés
38274
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
8 novembre 2024
4 696
23 févr. 2016 à 12:30
23 févr. 2016 à 12:30
Bon...
C'est pas vraiment ça ....
Tu ne sais pas faire de retours à la ligne ?
Voici le code en parti remis en forme ( afin de le rendre lisible ! )
NB: je n'ai pas mis en forme la fin du code... je te laisse le plaisir de le faire.
Pour ce qui est de ton problème .... je ne trouve pas la balise
A mon avis ça vient de là.
Bon après... y'a aussi des soucis dans ton code...
- des accolades semblent manquer ou etre en trop ...
- Il est préférable de récupérer les variables AVANT de les utiliser.
typiquement... au lieu d'écrire 20 fois :
tu fais :
Puis là où tu en as besoin :
C'est pas vraiment ça ....
Tu ne sais pas faire de retours à la ligne ?
Voici le code en parti remis en forme ( afin de le rendre lisible ! )
<?php include('head.php'); var_dump($_POST); //Variables texte => Messages d'erreurs $ErreurOF2 = ""; $ErreurArticle = ""; $ErreurNom = ""; $ErreurRebuts = ""; $ErreurPB = ""; $ErreurMachine = ""; $ErreurMatiere = ""; $ErreurConcerne = ""; $ErreurCommentaire = ""; $ErreurGlobale = ""; $berreur = false; /********************************************************** ************ DECLARATION DES VARIABLES TABLEAU ************ ********************************************************* */ $TabNom = ExtraireListe("noms", "NomPrenom"); $TabConcerne = ExtraireListe("concerne", "cause"); /********************************************************* ******* DECLARATION DES VARIABLES DE CONCATENATION ******* ******************************************************** */ $OF = ""; $Concerne = ""; /************************************************ **************** GESTION D'ERREUR *************** *********************************************** */ if(isset($_POST['valide'])){ //Erreurs OF2 if(!is_numeric($_POST['of2']) && !empty($_POST['of2']) || is_numeric($_POST['of2']) && is_float($_POST['of2']) || empty($_POST['of2'])){ //Ecriture message d'erreur OF2 $ErreurOF2 = "Veuillez insérer une valeur numérique entière"; $berreur = true; } //Erreurs Article if(!is_numeric($_POST['article']) && !empty($_POST['article']) || is_numeric($_POST['article']) && is_float($_POST['article']) || substr($_POST['article'], 0, 1) == 0 || empty($_POST['article'])){ //Ecriture message d'erreur Article $ErreurArticle = "Veuillez insérer une valeur numérique entière"; $berreur = true; } //Erreur contrôleuse if($_POST['nom'] == "Sélectionner"){ $ErreurNom = "Veuillez choisir un nom"; $berreur = true; } //Erreurs Rebuts $bRebuts = strpos($_POST['rebuts'], "."); if(!empty($_POST['rebuts']) && (!is_numeric($_POST['rebuts']) || is_float($_POST['rebuts'])) || $bRebuts != false){ $ErreurRebuts = "Veuillez entrer une valeur numérique entière"; $berreur = true; } //Erreurs Pièces bonnes $bPB = strpos($_POST['pb'], "."); if(!empty($_POST['pb']) && (!is_numeric($_POST['pb']) || is_float($_POST['pb'])) || $bPB != false){ $ErreurPB = "Veuillez entrer une valeur numérique entière"; $berreur = true; } //Erreurs Machine $bMachine = strpos($_POST['machine'], "."); if(!empty($_POST['machine']) && (!is_numeric($_POST['machine']) || is_float($_POST['machine'])) || $bMachine != false){ $ErreurMachine = "Veuillez entrer une valeur numérique entière"; $berreur = true; } //Erreurs Concerne if(!isset($_POST['concerne'])){ $ErreurConcerne = "Veuillez choisir au moins une option"; $berreur = true; } //Erreur Commentaire => caractère ' $bCommentaire = strpos($_POST['commentaire'], "'"); if($bCommentaire != false){ $ErreurCommentaire = "Veuillez ne pas entrer d'apostrophe"; $berreur = true; } /*********************************************** **************** CONCATENATION ***************** ********************************************** */ //OF $OF = "OF-".$_POST['of1']."-".$_POST['of2']."-001"; //Concerne if(isset($_POST['concerne'])){ for($i=0;$i<count($_POST['concerne']);$i++){ $Concerne .= $_POST['concerne'][$i].'<br />'; } } /*********************************************** ****************** APPEL SQL ******************* ********************************************** */ if($berreur == false){ echo('<script>alert("Saisie OK");</script>'); Ajouter("problemes", $OF, $Concerne); } elseif($berreur == true){ echo('<script>alert("Erreur de saisie");</script>'); $ErreurGlobale = "Veuillez vous assurer que les champs soient remplis correctement"; } } else{ var_dump($_POST); }?> <!DOCTYPE HTML><html> <body> <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST"> <input type="hidden" name="valide" /> <p> <label>OF - </label> <SELECT name="of1"> <OPTION <?php if(isset($_POST["of1"]) && $_POST["of1"] == "001"){ echo('selected');}?>>001 <OPTION <?php if(isset($_POST["of1"]) && $_POST["of1"] == "002"){ echo('selected');}?>>002 <OPTION <?php if(isset($_POST["of1"]) && $_POST["of1"] == "003"){ echo('selected');}?>>003 <OPTION <?php if(isset($_POST["of1"]) && $_POST["of1"] == "010"){ echo('selected');}?>>010 <OPTION <?php if(isset($_POST["of1"]) && $_POST["of1"] == "020"){ echo('selected');}?>>020 <OPTION <?php if(isset($_POST["of1"]) && $_POST["of1"] == "501"){ echo('selected');}?>>501 <OPTION <?php if(isset($_POST["of1"]) && $_POST["of1"] == "602"){ echo('selected');}?>>602 <OPTION <?php if(isset($_POST["of1"]) && $_POST["of1"] == "702"){ echo('selected');}?>>702 <OPTION <?php if(isset($_POST["of1"]) && $_POST["of1"] == "703"){ echo('selected');}?>>703 <OPTION <?php if(isset($_POST["of1"]) && $_POST["of1"] == "881"){ echo('selected');}?>>881 <OPTION <?php if(isset($_POST["of1"]) && $_POST["of1"] == "991"){ echo('selected');}?>>991 <OPTION <?php if(isset($_POST["of1"]) && $_POST["of1"] == "992"){ echo('selected');}?>>992 <OPTION <?php if(isset($_POST["of1"]) && $_POST["of1"] == "993"){ echo('selected');}?>>993 </SELECT> - <input type="text" name="of2" value="<?php if(isset($_POST['of2'])){ echo $_POST['of2'];} ?>" maxlength=5 /> - 001 <?php if(!empty($ErreurOF2)){ echo $ErreurOF2; } ?> </p> <p> <label>Article </label> <input type="text" name="article" value="<?php if(isset($_POST['article'])){ echo $_POST['article'];} ?>" maxlength=6 /> <?php if(!empty($ErreurArticle)){ echo $ErreurArticle; } ?> </p> <p> <label>Contrôleuse/eur </label> <SELECT name="nom"> <OPTION <?php if(!(isset($_POST["nom"])) && !empty($ErreurGlobale)){ echo('selected');}?>>Sélectionner <?php for($i=0; $i<count($TabNom); $i++){ if(isset($_POST['valide']) && $_POST['nom'] == $TabNom[$i][1] && !empty($ErreurGlobale)){ echo'<option value="'.$TabNom[$i][1].'" selected>'.$TabNom[$i][1].'</option>'; }else{ echo'<option value="'.$TabNom[$i][1].'">'.$TabNom[$i][1].'</option>'; } } ?> </SELECT> <?php if(!empty($ErreurNom)){ echo $ErreurNom; } ?> </p><p> <label>Rebuts </label><input type="text" name="rebuts" value="<?php if(isset($_POST['rebuts'])){ echo $_POST['rebuts'];} ?>" /> <?php if(!empty($ErreurRebuts)){ echo $ErreurRebuts; }?> </p><p> <label>Pièces bonnes </label><input type="text" name="pb" value="<?php if(isset($_POST['pb'])){ echo $_POST['pb']; } ?>" /> <?php if(!empty($ErreurPB)){ echo $ErreurPB; } ?> </p> <p> <label>Machine </label><input type="text" name="machine" value="<?php if(isset($_POST['machine'])){ echo $_POST['machine']; } ?>" /> <?php if(!empty($ErreurMachine)){ echo $ErreurMachine; } ?> </p> <p> <label>Matière </label><input type="text" name="matiere" value="<?php if(isset($_POST['matiere'])){ echo $_POST['matiere']; } ?>" /> </p> <p> <fieldset> <legend>Concerne</legend> <table> <tbody> <?php for($i=0; $i<count($TabConcerne); $i++){ if($i % 3 == 0){ echo '<tr>'; } echo'<td><input type="checkbox" name="concerne[]" value="'.strtolower($TabConcerne[$i][1]).'">'.$TabConcerne[$i][1].'</td>'; if($i == 2){ echo '</tr>'; } } ?> </tbody> </table> <?php if(!empty($ErreurConcerne)){ echo $ErreurConcerne; } ?> </fieldset> </p> <p> Commentaire : <br/> <textarea name="commentaire"><?php if(isset($_POST['commentaire'])){ echo $_POST['commentaire']; } ?></textarea> <?php if(!empty($ErreurCommentaire)){ echo $ErreurCommentaire; } ?> </p> <p> Date : <input type="text" name="date" value="<?php echo date('d/m/Y'); ?>" /> </p> <?php if(!empty($ErreurGlobale)){ echo $ErreurGlobale; } ?> <br/> <input type="button" value="Retour" onClick="javascript:document.location.href='index.php'" /> <input type="submit" value="Ajouter" /> </body></html>
NB: je n'ai pas mis en forme la fin du code... je te laisse le plaisir de le faire.
Pour ce qui est de ton problème .... je ne trouve pas la balise
</form>dans ton code....
A mon avis ça vient de là.
Bon après... y'a aussi des soucis dans ton code...
- des accolades semblent manquer ou etre en trop ...
- Il est préférable de récupérer les variables AVANT de les utiliser.
typiquement... au lieu d'écrire 20 fois :
if(isset($_POST["of1"]) && $_POST["of1"] ....
tu fais :
<?php // récupération "propre" des variables ( à mettre au début de ta page $of1 = isset($_POST['of1']) ? $_POST['of1'] : NULL; ?>
Puis là où tu en as besoin :
<OPTION <?php if($of1== "001"){ echo('selected');}?>>001 <OPTION <?php if($of1== "002"){ echo('selected');}?>>002 <OPTION <?php if($of1== "003"){ echo('selected');}?>>003 <OPTION <?php if($of1== "010"){ echo('selected');}?>>010 <OPTION <?php if($of1== "020"){ echo('selected');}?>>020 <OPTION <?php if($of1== "501"){ echo('selected');}?>>501 <OPTION <?php if($of1== "602"){ echo('selected');}?>>602 <OPTION <?php if($of1== "702"){ echo('selected');}?>>702 <OPTION <?php if($of1== "703"){ echo('selected');}?>>703 <OPTION <?php if($of1== "881"){ echo('selected');}?>>881 <OPTION <?php if($of1== "991"){ echo('selected');}?>>991 <OPTION <?php if($of1== "992"){ echo('selected');}?>>992 <OPTION <?php if($of1== "993"){ echo('selected');}?>>993
M_Tufux
Messages postés
70
Date d'inscription
dimanche 11 octobre 2015
Statut
Membre
Dernière intervention
6 juin 2017
23 févr. 2016 à 13:35
23 févr. 2016 à 13:35
yep, merci pour ta réponse et pour tes propositions d'amélioration.
J'ai testé et cela ne provient pas du
Le problème est donc toujours là. En ce qui concerne les accolades, s'il y avait une erreur, la page devrait m'afficher une erreur et ce n'est pas le cas.
Qu'est-ce qui pourrait bien faire que l’initialisation des variables POST ne se fait pas :S ?
J'ai testé et cela ne provient pas du
</form>.
Le problème est donc toujours là. En ce qui concerne les accolades, s'il y avait une erreur, la page devrait m'afficher une erreur et ce n'est pas le cas.
Qu'est-ce qui pourrait bien faire que l’initialisation des variables POST ne se fait pas :S ?
jordane45
Messages postés
38274
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
8 novembre 2024
4 696
23 févr. 2016 à 14:02
23 févr. 2016 à 14:02
Dans tes balises OPTIONS .. tu n'as pas de VALUE .. faudra les ajouter.
M_Tufux
Messages postés
70
Date d'inscription
dimanche 11 octobre 2015
Statut
Membre
Dernière intervention
6 juin 2017
23 févr. 2016 à 14:31
23 févr. 2016 à 14:31
Bien vu, mais ça ne résout toujours pas le problème :/
jordane45
Messages postés
38274
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
8 novembre 2024
4 696
23 févr. 2016 à 14:34
23 févr. 2016 à 14:34
tu es en local ou sur un serveur ?
Si local .. tu utilises quel logiciel ?
Quelle est l'url qui apparait lorsque tu "submit" ton formulaire ?
Si local .. tu utilises quel logiciel ?
Quelle est l'url qui apparait lorsque tu "submit" ton formulaire ?
M_Tufux
Messages postés
70
Date d'inscription
dimanche 11 octobre 2015
Statut
Membre
Dernière intervention
6 juin 2017
23 févr. 2016 à 14:40
23 févr. 2016 à 14:40
Je suis en localhost avec WAMP.
url: http://localhost/ninp/Form.php
url: http://localhost/ninp/Form.php
23 févr. 2016 à 12:00
Merci pour ta réponse. Voici le résultat du var_dump après validation du formulaire sans gestion d'erreur
array (size=0)
empty
23 févr. 2016 à 12:01