Problème formulaire html avec lien SQL
Résolu/Fermé
A voir également:
- Problème formulaire html avec lien SQL
- Lien url - Guide
- Créer un lien pour partager des photos - Guide
- Verifier un lien - Guide
- Formulaire de réclamation facebook - Guide
- Sommaire word avec lien - Guide
11 réponses
mario002e
Messages postés
82
Date d'inscription
samedi 29 septembre 2007
Statut
Membre
Dernière intervention
8 mai 2012
6
5 nov. 2010 à 10:17
5 nov. 2010 à 10:17
Essaye de voir si ce sont les mêmes noms dans les balises sont utilisés dans la page verif.php. Car je constate que tu as utilisé id_Modele dans
<select name="id_Modele" id="id_Modele">
mais dans le traitement, tu fais appel à Libele ($_POST['Libelle']
<select name="id_Modele" id="id_Modele">
mais dans le traitement, tu fais appel à Libele ($_POST['Libelle']
mario002e
Messages postés
82
Date d'inscription
samedi 29 septembre 2007
Statut
Membre
Dernière intervention
8 mai 2012
6
5 nov. 2010 à 13:02
5 nov. 2010 à 13:02
Dans le fichier verif.php (ou la page de traitement)
mets:
$Date_Application = date('Y-m-d', strtotime($_POST ['Date_Application']));
au lieu de:
$Date_Application = $_POST ['Date_Application'];
mets:
$Date_Application = date('Y-m-d', strtotime($_POST ['Date_Application']));
au lieu de:
$Date_Application = $_POST ['Date_Application'];
cette vidéo peux vous idée pour Formulaire HTML 5
http://course-education.blogspot.com/2011/04/formulaire-html-5.html
http://course-education.blogspot.com/2011/04/formulaire-html-5.html
Bonjour,
Tu récupères les valeurs des champs id_Modele et Libelle dans une table nommée 'modele' pour l'affichage dans une liste déroulante 'id_Modele', pense à mettre un value dans l'option :
Mais je ne vois nulle part dans ton script PHP la variable $_POST['id_modele'] ?
Autre chose, tu insères les infos dans une table nommée 'test' mais il manque le nom du champ id_Modele, je suppose que tu ne l'as pas créé dans la table ?
PS : évite les accents dans les name du formulaire (NumSérie), dans les variables ($NumSérie) ainsi que dans les noms de champ (NumSérie), c'est souvent la cause de souci qui ne saute pas aux yeux mais qui peut faire planter un script.
C'est tout ce que je vois pour l'instant...
---------------------------------------------------------------------------------------------------------------------------------------------
<* Suivez-moi sur FesseS-BouC *>
Tu récupères les valeurs des champs id_Modele et Libelle dans une table nommée 'modele' pour l'affichage dans une liste déroulante 'id_Modele', pense à mettre un value dans l'option :
<option value="<?php echo $ligne['Libelle']; ?>"><?php echo $ligne['Libelle']; ?></option>
Mais je ne vois nulle part dans ton script PHP la variable $_POST['id_modele'] ?
Autre chose, tu insères les infos dans une table nommée 'test' mais il manque le nom du champ id_Modele, je suppose que tu ne l'as pas créé dans la table ?
<?php $prenom = $_POST['prenom']; $nom = $_POST['nom']; $NomCalife = $_POST['NomCalife']; $Service = $_POST['Service']; $Libelle = $_POST['Libelle']; $Constructeur = $_POST['Constructeur']; $NumSérie = $_POST['NumSérie']; $Date_Application = $_POST ['Date_Application']; $idModele = $_POST['id_Modele']; // Absent ??? $req = "INSERT INTO test (prenom , nom , NomCalife , Service , Libelle , Constructeur , NumSérie , Date_Application) VALUES ('$prenom','$nom','$NomCalife','$Service','$Libelle','$Constructeur','$NumSérie', '$Date_Application')"; mysql_query($req); ?>
PS : évite les accents dans les name du formulaire (NumSérie), dans les variables ($NumSérie) ainsi que dans les noms de champ (NumSérie), c'est souvent la cause de souci qui ne saute pas aux yeux mais qui peut faire planter un script.
C'est tout ce que je vois pour l'instant...
---------------------------------------------------------------------------------------------------------------------------------------------
<* Suivez-moi sur FesseS-BouC *>
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Ah yes ! j'ai changé id_Modele par Libelle et j'obtiens ce que je selectionne dans ma liste déroulante dans ma base de données =)
merci !
bon maintenant me reste plus qu'à régler le probléme du calendrier ...
en faisant appel à un calendrier afin d'insérer une date dans la base de données, que faut il mettre comme type pour le champ Date_Application ?
j'ai essayé date et varchar je n'obtiens rien ...
Je vais re-vérifier que tous les noms de variable soient concordants en espérant que ce soit juste ça ...
Encore merci mario002e j'ai fait la moitié du chemin grâce à toi !
merci !
bon maintenant me reste plus qu'à régler le probléme du calendrier ...
en faisant appel à un calendrier afin d'insérer une date dans la base de données, que faut il mettre comme type pour le champ Date_Application ?
j'ai essayé date et varchar je n'obtiens rien ...
Je vais re-vérifier que tous les noms de variable soient concordants en espérant que ce soit juste ça ...
Encore merci mario002e j'ai fait la moitié du chemin grâce à toi !
mario002e
Messages postés
82
Date d'inscription
samedi 29 septembre 2007
Statut
Membre
Dernière intervention
8 mai 2012
6
5 nov. 2010 à 12:11
5 nov. 2010 à 12:11
En ce qui concerne le calendrier, tu peux utiliser le tyde de donnée Date qui respecte le format yyyy-mm-dd [1].
1. Ton champ Date_Application dans le formululaire n'a pas de nom (name='Date_Application' dans <INPUT id=datepicker>)
2. Comment est affiché dans ton champ une date sélectionnée? 2010-11-05 ou 05-11-2010?
Si c'est le second cas, essaye de le convertir en format [1] avant l'insertion.
Tu pourrais utiliser date('Y-m-d', strtotime(Date_Application)). strtotime est prévue normalement pour les dates en anglais mais marche à posteriori pour les dates francaises
1. Ton champ Date_Application dans le formululaire n'a pas de nom (name='Date_Application' dans <INPUT id=datepicker>)
2. Comment est affiché dans ton champ une date sélectionnée? 2010-11-05 ou 05-11-2010?
Si c'est le second cas, essaye de le convertir en format [1] avant l'insertion.
Tu pourrais utiliser date('Y-m-d', strtotime(Date_Application)). strtotime est prévue normalement pour les dates en anglais mais marche à posteriori pour les dates francaises
Alors, le calendrier spécifique à easyphp est de la forme yyyy/mm/jj
Le calendrier que j'avais ci-dessus était de la forme mm/jj/yyyy mais j'ai changé et suis maintenant de la forme jj/mm/yyyy
A quel endroit du code dois-je mettre l'instruction du changement de format de date ?
Comme j'ai changé de calendrier a changé j'ai voulu mettre name='Date_Application' comme tu me l'as dit or avec le nouveau code la date n'est plus validée quand je clique dessus dans mon calendrier ...
Je mets mon nouveau code pour y voir plus clair :
sinon effectivement je pense que c'est comme pour la liste déroulante, Date_Application ne doit pas etre défini, d'ailleurs easyphp me donne ce message d'erreur :
Notice: Undefined index: Date_Application in D:\Program Files\EasyPHP-5.3.3\www\verif.php on line 14
Désolé je débute même si je pense ne plus être très loin du but !
merci encore à toi de te pencher sur mon cas !
Le calendrier que j'avais ci-dessus était de la forme mm/jj/yyyy mais j'ai changé et suis maintenant de la forme jj/mm/yyyy
A quel endroit du code dois-je mettre l'instruction du changement de format de date ?
Comme j'ai changé de calendrier a changé j'ai voulu mettre name='Date_Application' comme tu me l'as dit or avec le nouveau code la date n'est plus validée quand je clique dessus dans mon calendrier ...
Je mets mon nouveau code pour y voir plus clair :
<html> <head> <title>Essai de formulaire</title> </head> <body> <form method=post action="verif.php"> <script language="JavaScript" src="calendrier.js"></script> <table align="center" border="3" cols="8"> <tr> <td>Nom : <input type="text" name="nom"></td> <td>Prénom : <input type="text" name="prenom"></td> <td>Nom Calife : <input type="text" name="NomCalife"></td> <td>Service : <br> <input type="checkbox" name="Service" value="UOW">UOW<br> <input type="checkbox" name="Service" value="UOPRM">UOPRM<br> <input type="checkbox" name="Service" value="UOLI">UOLI<br> <input type="checkbox" name="Service" value="Communication">Communication<br> <input type="checkbox" name="Service" value="QSE">QSE<br> <input type="checkbox" name="Service" value="Methodes">Methodes<br> <input type="checkbox" name="Service" value="GF">GF<br> <input type="checkbox" name="Service" value="RH">RH<br> <input type="checkbox" name="Service" value="GI">GI<br> <input type="checkbox" name="Service" value="Direction">Direction<br> <input type="checkbox" name="Service" value="Ingenierie">Ingenierie<br> </td> </tr> <tr> <td><?php include ("exemple.php"); ?></td> <td>Constructeur : <input type="text" name="Constructeur"></td> <td>NumSérie : <input type="text" name="NumSérie"></td> <td>Date_Application : <input type=text name="ldate" value="" size=10 READONLY> <input type=button value="¤" onclick="pop('ldate','fr');this.style.cursor='hand'"> </td> </tr> </table> <input type="submit" value="Valider"> <input type="reset" value="Effacer"> </form> </body> </html>
sinon effectivement je pense que c'est comme pour la liste déroulante, Date_Application ne doit pas etre défini, d'ailleurs easyphp me donne ce message d'erreur :
Notice: Undefined index: Date_Application in D:\Program Files\EasyPHP-5.3.3\www\verif.php on line 14
Désolé je débute même si je pense ne plus être très loin du but !
merci encore à toi de te pencher sur mon cas !
mario002e
Messages postés
82
Date d'inscription
samedi 29 septembre 2007
Statut
Membre
Dernière intervention
8 mai 2012
6
5 nov. 2010 à 12:51
5 nov. 2010 à 12:51
Ces librairies que tu utilises pour le calendrier se bases sur les id et non les noms des champs.
Essaye <input type=text name="ldate" id="ldate" value="" size=10 READONLY>
Essaye <input type=text name="ldate" id="ldate" value="" size=10 READONLY>
Je suis allé un peu vite, j'ai remplacé "ldate" par "Date_Application" (mon calendrier ne marchait plus je ne sais pas pourquoi)
et la aucun message d'erreur à l'envoi du formulaire !
Cependant toujours rien ne s'affiche dans le champ Date_Application de ma base de données, surement à cause des formats qui sont différents, je pense et j'espère que ça marchera en changeant, peux tu donc m'indiquer la marche à suivre pour insérer strtotime ?
Je vais essayer de trouver sur google à côté ;)
et la aucun message d'erreur à l'envoi du formulaire !
Cependant toujours rien ne s'affiche dans le champ Date_Application de ma base de données, surement à cause des formats qui sont différents, je pense et j'espère que ça marchera en changeant, peux tu donc m'indiquer la marche à suivre pour insérer strtotime ?
Je vais essayer de trouver sur google à côté ;)
Génial ! ça marche !
Un grand merci à toi tu m'enleves une belle épine du pied !
juste avant le weekend, d'ailleurs je te souhaite un bon weekend !
Un grand merci à toi tu m'enleves une belle épine du pied !
juste avant le weekend, d'ailleurs je te souhaite un bon weekend !
mario002e
Messages postés
82
Date d'inscription
samedi 29 septembre 2007
Statut
Membre
Dernière intervention
8 mai 2012
6
5 nov. 2010 à 13:17
5 nov. 2010 à 13:17
Merci