Bonjour,
Je buche sur un petit truc tout bête, mais je ne trouve pas la solution.
J'ai un formulaire qui permet de rentrer des "activités" dans une base de donnée. Pour ceci je dois remplire les diffrents champs et 2 de ceux-ci sont des select box pour selectionner la date et l'heure.
Pour l'instant en fait je fais le contrôle des dates (jour, mois, année) en javascript, mais de se fait je ne peux pas par la suite passer dans mon fichier de verification les autres champs pour savoir s'ils peuvent être inscrit dans la base.
Donc la question est de savoir si c'est possible de le faire en PHP uniquement (avec le contrôle) ou comment puis-je renvoyer mes données de jour, mois et date vu que je suis en JS (côte client) au code PHP (cote serveur)?
Formulaire d'ajout:
Fonction JS
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91 <? require("fonction.js"); ?> <form method="post" action="controle_ajout_raid.php" name="ajout_raid"> <h1> Ajout de raid </h1> <br> <label class="label_raid_form"> Nom du Raid </label> <input type="text" name="raid" size="20" maxlength="30" class="input"> <br> <label class="label_raid_form"> Lieu </label> <input type="text" name="lieu" size="20" maxlength="30" class="input"> <br> <label class="label_raid_form"> Date </label> <script language="JavaScript">creerselect();</script> <? /* echo '<select name="day">'; for($i=1; $i<=31; $i++) { echo '<option value='.$i; if($i == $day) { echo 'selected'; } echo'>'.$i.'</option>'; } echo '</select>'; echo '<select name="month" onChange="verif()">'; for($i=0; $i<=11; $i++) { echo '<option value='.$i; if($i == $nmois) { echo ' selected'; } echo '>'.$nmois[$i].'</option>'; } echo '</select>'; echo '<select name="year">'; for($i=$anneeactu; $i <=$anneeactu+1; $i++) { echo '<option value='.$i; if($i == $year) { echo 'selected'; } echo '>'.$i.'</option>'; } echo '</select>'; */ ?> <br> <label class="label_raid_form"> Heure </label> <? echo '<select name="hh">'; for($z=1; $z<=24; $z++) { echo '<option value='.$z.'>'.$z.'</option>'; } echo '</select>'; echo '<select name="min">'; for($y=0; $y<=45; $y=$y+15) { echo '<option value='.$y.'>'.$y.'</option>'; } echo '</select>'; ?> <br> <label class="label_raid_form"> Raid Leader </label> <input type="text" name="leader" size="20" maxlength="30" class="input"> <br> <label class="label_raid_form"> Participant Max </label> <input type="text" name="maxparticipant" size="4" maxlength="2" class="input" onBlur="maxparti()"> <br> <input type="submit" value="Ajouter" onClick="verif()" class="button_form"> </form>
Je vais mettre encore une image pour vraiment expliquer ce que je fais.
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75 // Pour générer les années aujour=new Date(); // table des libellés des mois mois=new Array("Jan","Fév","Mar","Avr","Mai","Jui","Jui","Aoû", "Sep","Oct","Nov","Déc"); //**************************** Création des select pour la date ******************************// //********************************************************************************************// function creerselect() { // Création de la liste déroulante des numéros des jours document.write("<select name='jj'>"); for(i=1;i<=31;i++) { document.write("<option value="+i); if(aujour.getDate()==i) { document.write(" selected"); } document.write(">"+i+"</option>"); } document.write("</select>"); // Création de la liste déroulante des libellés des mois document.write("<select name='mm' onChange='verif()'>"); for(i=0;i<=11;i++) { document.write("<option value="+i); if(aujour.getMonth()==i) { document.write(" selected"); } document.write(">"+mois[i]+"</option>"); } document.write("</select>"); // Création de la liste déroulante des 10 années avant et après annee=aujour.getYear(); if(annee<1900) { annee=annee+1900; } document.write("<select name='aa'>"); for(i=-2;i<=2;i++) { document.write("<option value="+(annee-i)); if(i==0) { document.write(" selected"); } document.write(">"+(annee-i)+"</option>"); } document.write("</select>"); } //********************************************************************************************// //************************** Fin création des select pour la date ****************************// //************************** Verification des select pour la date ****************************// //********************************************************************************************// // Vérification des select function verif() { // On crée une date avec les jj/mm/aa saisis testDate = new Date(document.ajout_raid.aa.value,document.ajout_raid.mm.value,document.ajout_raid.jj.value); mess=""; // Est-ce le numéro du jour correspond à celui de la date créée ? if((testDate.getDate()!=document.ajout_raid.jj.value) || (testDate.getMonth()!=document.ajout_raid.mm.value)) { alert("ATTENTION le "+document.ajout_raid.jj.value+" "+mois[document.ajout_raid.mm.value]+" n'existe pas"); } else { alert("La date est correcte"); } // Et si on corrigeait automatiquement... // On prend le numéro du jour de la date créée document.ajout_raid.jj.options[testDate.getDate()].selected=true; }
Donc en gros je cherche à faire ces menus deroulants pour la date, mais quand je veux valider mon formulaire et qu'il passe dans le premier test qui verifi que tout est rempli. Il passe dans mon "else" sans trouver les champs deroulants fait en java recup avec $_POST['jj']
Partager