Ce forum est maintenant fermé, seule cette archive statique reste consultable.
  FORUM Rue-Montgallet.com
  Programmation
  Php - Sql

  [SQL-PHP] Formulaire et BDD

Bas de page
Auteur Sujet :

[SQL-PHP] Formulaire et BDD

n°19218
Memphis
Franc Archer
Profil : Habitué
Posté le 01-04-2008 à 19:07:21  
 

Salut à tous,
 
je ne suis pas une brut épaisse en dev et pourtant, c'est dans cette discipline que je suis sans cesse sollicité en ce moment.
je pagaye pour ne pas dire que je rame!!
 
Je dois faire une base de donnée (oui winny encore une!!  :sweat: ) pour une crèche,
cette base de donnée est faite, ou si il y a des modifs à faire...ce n'ai pas un soucis, ce n'est pas
de ce côté que je m'inquiète!!
 
Par contre les gens doivent aller sur une page web pour inscrire leurs lardons!! :d
 
J'ai fait ma BDD que j'ai enregistrer sur http://sql.free.fr/ en référence au compte qui sera l'hote.
J'ai fait un semblant de formulaire (c'est lui qui pêche grave à mon avis).
Lorsque je remplie mon formulaire pour tenter de remplir la bdd derrière, rien ne se passe.
 
je pense que mon problème viens entre autre d'un "truc" appeler cgi.... comme quoi... je gère !!!
 
Pouvez vous m'aider?
 
voici le code de mon formulaire:
 
 

Code :
  1. <HTML>
  2. <HEAD>
  3. <TITLE>Formulaire d'inscription à la crêche</TITLE>
  4. </HEAD>
  5. <BODY>
  6. <FORM  name="form1" onSubmit="return testForm(this)">
  7. <!--première partie concernant les parents-->
  8.   <P><p><b>Veuillez remplir les champs suivants concernant le parent ou le tuteur:</b></P>
  9.   <P>Civilité :
  10.     <INPUT type="radio" name="CIVILITE_PARENT" value="Mr">Mr
  11.     <INPUT type="radio" name="CIVILITE_PARENT" value="Mme">Mme
  12.     <INPUT type="radio" name="CIVILITE_PARENT" value="Mlle">Mlle<BR>
  13.     Nom : <INPUT type="text" name="NOM_PARENT" size="25"><BR>
  14.     Prénom : <INPUT type="text" name="PRENOM_PARENT" size="25"><BR>
  15.     Adresse : <INPUT type="text" name="RUE_PARENT" size="25"><BR>
  16.     Code postal : <INPUT type="text" name="CODE_POSTAL_PARENT" size="6"><BR>
  17.     Ville : <INPUT type="text" name="VILLE_PARENT" size="25"><BR>
  18.     </SELECT><BR>
  19.     Téléphone : <INPUT type="text" name="TELEPHONE_PARENT" size="25"><BR>
  20.     Mobile : <INPUT type="text" name="MOBILE_PARENT" size="25"><BR>
  21.     E-mail : <INPUT type="text" name="ADRESSE_MAIL_PARENT" size="25"><BR>
  22.    
  23. <!-- Deuxième partie concernant l'enfant-->
  24.   <P><p><b>Veuillez remplir les champs suivants concernant l'enfant:</b></P>
  25.     Nom : <INPUT type="text" name="NOMS_ENFANT" size="25"><BR>
  26.     Prénom : <INPUT type="text" name="PRENOM_ENFANT" size="25"><BR>
  27.     Âge : <INPUT type="text" name="AGE" size="25"><BR>
  28. Sexe :
  29.     <INPUT type="radio" name="SEXE" value="Garçon">: Garcon
  30.     <INPUT type="radio" name="SEXE" value="Fille">: Fille
  31. <li>Enumérez brièvement les allergies et contrindications médicales de votre enfant :
  32. <br/><form><textarea name="MALADIE" cols="50" rows="3">Tapez ici votre texte</textarea></form></li>
  33.    
  34. <!--Troisième partie concernant la personne à joindre en cas de problème-->
  35.     <p><P><b>Veuillez remplir les champs suivant concernant la personne à prévenir si vous n'êtes pas joignable:</b></P>
  36.   <P>Civilité :
  37.     <INPUT type="radio" name="CIVILITE_A_JOINDRE" value="Mr">Mr
  38.     <INPUT type="radio" name="CIVILITE_A_JOINDRE" value="Mme">Mme
  39.     <INPUT type="radio" name="CIVILITE_A_JOINDRE" value="Mlle">Mlle<BR>
  40.     Nom : <INPUT type="text" name="NOMS_A_JOINDRE" size="25"><BR>
  41.     Prénom : <INPUT type="text" name="PRENOM_A_JOINDRE" size="25"><BR>
  42.     Adresse : <INPUT type="text" name="RUE_A_JOINDRE" size="25"><BR>
  43.     Code postal : <INPUT type="text" name="CODE_POSTAL_A_JOINDRE" size="6"><BR>
  44.     Ville : <INPUT type="text" name="VILLE_A_JOINDRE" size="25"><BR>
  45.     </SELECT><BR>
  46.     Téléphone : <INPUT type="text" name="TELEPHONE_A_JOINDRE" size="25"><BR>
  47.     Mobile : <INPUT type="text" name="MOBILE_A_JOINDRE" size="25"><BR>
  48.     E-mail : <INPUT type="text" name="ADRESSE_MAIL_A_JOINDRE" size="25"><BR>
  49.   <P> <p>
  50.   <p>
  51.     <INPUT type="submit" name="Submit" value="Envoyer">
  52.     <INPUT type="reset" name="Submit2" value="Rétablir la page">
  53.       <p><P><em>N.B.: une fois que vous aurez sélectionné "Envoyer", vous ne pourrez plus modifier els champs ci-dessus.</em></P>
  54.     <BR>
  55.   </P>
  56. </FORM>
  57. </BODY>
  58. </HTML>


 
un petit schéma de la base: (les noms qui apparaissent ne correspondent pas au code réel (ex: nom dans la table parent correspond à nom_parent dans la table parent)
 
http://img158.imageshack.us/img158/6066/capturerea2.jpg
 
Merci beaucoup par avance...c'est un trop grand pas d'un coup pour moi!!


---------------
Si ce que tu as à dire n'est pas plus beau que le silence tais toi!!!
mood
Pub
Posté le 01-04-2008 à 19:07:21  
 

n°19220
Winny #29
Breizh Atao!!
Profil : Fossile
Posté le 02-04-2008 à 00:35:56  
 

Heuuuu Pour le CGI j'en sais fichtre rien, j'suis DBA, pas pisseur de code :whistle:
 
Mais je jetterai un coup d'oeil plus approfondi vendredi ;)


---------------
SE300B & DIY Speakers powered :sol:  DIYeur hifi en algues :pt1cable:  
Multi-Activé :love:
Guinness is good for You!!
Member of the Cool Team, du Team de la mer, et du Team des vieux.
n°19221
Memphis
Franc Archer
Profil : Habitué
Posté le 02-04-2008 à 17:12:38  
 

Oki, toujours la pour me sortir du pétrin!!!!
Merci bicoup!


---------------
Si ce que tu as à dire n'est pas plus beau que le silence tais toi!!!
n°19222
pote
Profil : Membre
Posté le 03-04-2008 à 12:16:44  
 

Je n'ai pas fait de dev depuis presque un an donc je ne sais pas si je pourrais aider, mais j'ai quelques questions :
Quel est le message d'erreur (s'il y en a un) ?
Où est la fonction javascript testForm ?
Où est la partie php qui contient les requête d'insertion en base ?

n°19225
Memphis
Franc Archer
Profil : Habitué
Posté le 03-04-2008 à 22:45:32  
 

il n'y a pas de message d'erreur, tout simplement lorsque je rempli mon formulaire et que je le valid, il ne rempli pas ma bdd.
le javascript sert à vérifier la conformité des champs remplis dans le formulaire...
voici le code:
 

Code :
  1. function testEntier(valeur)
  2. {
  3.   if (valeur == parseInt(valeur)) return true;
  4.   else return false;
  5. }
  6. function testDate(jour,mois,annee)
  7. {
  8.   var erreur;
  9.   erreur = 0;
  10.   valeurJour = jour.toString();
  11.   valeurMois = mois.toString();
  12.   valeurAnnee = annee.toString();
  13.   if ((!testEntier(valeurJour)) || (valeurJour.length != 2)) erreur = 1;
  14.   if ((!testEntier(valeurMois)) || (valeurMois.length != 2))erreur = 1;
  15.   if ((!testEntier(valeurAnnee)) || (valeurAnnee.length != 4)) erreur = 1;
  16.   var bis;
  17.   var maxFev;
  18.   bis = valeurAnnee % 4;
  19.   if (bis == 0) maxFev = 29;
  20.   else maxFev = 28;
  21.   var maxJours;
  22.   maxJours = new Array(31,maxFev,31,30,31,30,31,31,30,31,30,31);
  23.   if (valeurJour > maxJours[valeurMois-1]) erreur = 1;
  24.   if (erreur == 0) return true;
  25.   else return false;
  26. }
  27. function isDate(valeur)
  28. {
  29.   var erreur;
  30.   erreur = 0;
  31.   var jour;
  32.   var mois;
  33.   var annee;
  34.   valeurDate = valeur;
  35.   indSep1 = valeurDate.indexOf("/" );
  36.   indSep2 = valeurDate.lastIndexOf("/" );
  37.   if ((indSep1 != -1) && (indSep1 != indSep2))
  38.   {
  39.     jour = valeurDate.substring(0,indSep1);
  40.     mois = valeurDate.substring(indSep1+1,indSep2);
  41.     annee = valeurDate.substr(indSep2+1);
  42.     if (!testDate(jour,mois,annee)) erreur = 1;
  43.   }
  44.   else erreur = 1;
  45.   if (erreur == 0) return true;
  46.   else return false;
  47. }
  48. function testRadio(nomForm,nomGroupe)
  49. {
  50.   var compteur;
  51.   compteur = 0;
  52.   while (compteur < nomForm.elements[nomGroupe].length)
  53.   {
  54.     if (nomForm.elements[nomGroupe][compteur].checked)
  55.     return true;
  56.     compteur++;
  57.   }
  58.   return false;
  59. }
  60. function testMail(email)
  61. {
  62.   var posArobase;
  63.   posArobase = email.indexOf("@" );
  64.   if (posArobase == -1) return false;
  65.   var posPoint;
  66.   posPoint = email.lastIndexOf("." );
  67.   if ((posPoint == -1) || (posPoint < posArobase)) return false;
  68.   return true;
  69. }
  70. function testrequis(nom)
  71. {
  72.   if (nom.lastIndexOf("R" )==nom.length-2) return true;
  73.   return false;
  74. }
  75. function testForm(nomForm)
  76. {
  77.   champ=nomForm.elements;
  78.   nbr = champ.length;
  79.   i=0;
  80.   while (i<nbr)
  81.   {
  82.     testtemp=champ[i].type.substring(0,3);
  83. switch (testtemp)
  84.     {
  85.       case "tex" :
  86.         if (testrequis(champ[i].name))
  87.         {
  88.           if (champ[i].value=="" )
  89.           {
  90.             window.alert ("Le champ "+champ[i].name.slice(0,-2)+" doit être renseigné" );
  91.             champ[i].focus();
  92.             return false;
  93.           }
  94.         }
  95.         switch (champ[i].name.substr(champ[i].name.length-1)) 
  96.         {
  97.           case "N" :
  98.             if (!testNumerique(champ[i].value))
  99.             {
  100.               window.alert ("Le champ "+champ[i].name.slice(0,-2)+" doit être un nombre" );
  101.               champ[i].value="";
  102.               champ[i].focus();
  103.               return false;
  104.             }
  105.   break;
  106.           case "E" :
  107.             if (!testEntier(champ[i].value))
  108.             {
  109.               window.alert ("Le champ "+champ[i].name.slice(0,-2)+" doit être un nombre entier" );
  110.               champ[i].value="";
  111.               champ[i].focus();
  112.               return false;
  113.             }
  114.   break;
  115.           case "M" :
  116.             if (!testMail(champ[i].value))
  117.             {
  118.               window.alert ("Le champ "+champ[i].name.slice(0,-2)+" semble ne pas avoir le format nom@domaine.com" );
  119.               champ[i].value="";
  120.               champ[i].focus();
  121.               return false;
  122.             }
  123.   break;
  124.           case "D" :
  125.             if (!isDate(champ[i].value)) 
  126.             {
  127.               window.alert ("Le champ "+champ[i].name.slice(0,-2)+" semble ne pas avoir le format jj/mm/aaaa" );
  128.               champ[i].value="";
  129.               champ[i].focus();
  130.               return false;
  131.             }
  132.   break;
  133.           default :
  134.          
  135.         }
  136.         break;
  137.       case "sel" :
  138.         if ((testrequis(champ[i].name)) && (champ[i].options[champ[i].selectedIndex].value=="" ))
  139.         {
  140.           window.alert ("Veuillez sélectionner une option valide pour le champ "+champ[i].name.slice(0,-2));
  141.           champ[i].focus();
  142.           return false;
  143.         }
  144.  break;
  145.       case "rad" :
  146.         if ((testrequis(champ[i].name)) && (!testRadio(nomForm,champ[i].name)))
  147.         {
  148.           window.alert("Les boutons radios ne sont pas renseignés correctement " );
  149.           champ[i].focus();
  150.           return false;
  151.         }
  152.  break;
  153.       case "che" :
  154.    if ((testrequis(champ[i].name)) && (!champ[i].checked))
  155.         {
  156.           window.alert ("La case à cocher doit être validée " );
  157.           champ[i].focus();
  158.           return false;
  159.         }
  160.  break;
  161.       default :
  162.        
  163.     }
  164.     i++;
  165.   }
  166.   return true;
  167. }


---------------
Si ce que tu as à dire n'est pas plus beau que le silence tais toi!!!
  FORUM Rue-Montgallet.com
  Programmation
  Php - Sql

  [SQL-PHP] Formulaire et BDD

© 2000-2018 Forum.rue-montgallet.com - Tous droits réservés