Précédent   Forum des professionnels en informatique > PHP > Langage > Formulaires
Formulaires Forum d'entraide sur les formulaires avec PHP. Avant de poster -> FAQ formulaires, Cours de formulaires et Sources de formulaires
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 25/09/2007, 14h27   #1
Mut
Membre confirmé
 
Avatar de Mut
 
Inscription : mars 2003
Messages : 789
Détails du profil
Informations personnelles :
Âge : 29
Localisation : France, Seine Maritime (Haute Normandie)

Informations forums :
Inscription : mars 2003
Messages : 789
Points : 237
Points : 237
Envoyer un message via MSN à Mut
Par défaut Passer une variable d'une page php vers une autre déjà chargée

Bonjour,

j'ai une page php (page1) dans laquelle j'ai une zone de texte et un bouton.La zone de texte doit contenir une date qui peut être remplie manuellement ou bien automatiquement par le biais d'un bouton (situé à coté de cette zone de texte).


Le bouton m'ouvre une popup (page php que nous nommerons page2) dont voici le code :

Code :
1
2
3
4
5
6
7
8
9
 
<?php
 
require ("calendrier.php");
 
echo calendar();
 
 
?>
Cette page fait donc référence à une autre page php (page3) qui contient une fonction.


La variable que je dois récupérer est dans cette page 3.

Comment je pourrais passer la variable contenue dans la page 3 vers la page1 ? faut-il obligatoirement passer par la méthode "post" et donc par un formulaire ?

Merci !
Mut est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/09/2007, 14h57   #2
Membre émérite
 
Avatar de julien.63
 
Inscription : décembre 2005
Messages : 1 322
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 1 322
Points : 981
Points : 981
Envoyer un message via MSN à julien.63
Salut,
tu peux utiliser les sessions
http://fr2.php.net/manual/fr/ref.session.php
julien.63 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/09/2007, 15h13   #3
Mut
Membre confirmé
 
Avatar de Mut
 
Inscription : mars 2003
Messages : 789
Détails du profil
Informations personnelles :
Âge : 29
Localisation : France, Seine Maritime (Haute Normandie)

Informations forums :
Inscription : mars 2003
Messages : 789
Points : 237
Points : 237
Envoyer un message via MSN à Mut
J'utilise déjà les sessions, mais je n'arrive pas à passer ma variable dans de la page 3 à la page 2 sachant que la variable de la page 3 est dans une fonction...
Mut est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/09/2007, 15h18   #4
Membre émérite
 
Avatar de julien.63
 
Inscription : décembre 2005
Messages : 1 322
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 1 322
Points : 981
Points : 981
Envoyer un message via MSN à julien.63
Pourtant je pense que ça devrait marcher.
Comment enregistres-tu ta variable dans ta fonction?
Et comment la récupères-tu?
julien.63 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/09/2007, 15h26   #5
Mut
Membre confirmé
 
Avatar de Mut
 
Inscription : mars 2003
Messages : 789
Détails du profil
Informations personnelles :
Âge : 29
Localisation : France, Seine Maritime (Haute Normandie)

Informations forums :
Inscription : mars 2003
Messages : 789
Points : 237
Points : 237
Envoyer un message via MSN à Mut
oui je pense aussi mais c'est justement la manière dont je la récupère qui ne va pas....j'ai déjà une variable de session qui me récupère le nom d'utilisateur mais par la méthode issue d'un "post".

Le bouton de la Page1 me renvoit à la Page2 dont le code est :

Code :
1
2
3
4
5
6
7
8
9
10
11
 
<?php
session_start();
$User = $_SESSION['User_Name'];
 
require ("calendrier.php");
echo calendar();
echo "<br />";
echo "<center><input type='submit' name='Valider' value='Ok' /></center>";
echo $_SESSION[$DateSelect];
?>
le "echo" m'affiche bien la bonne valeur mais j'ai quand meme une erreur "indefined variable sur echo $_SESSION[$DateSelect];
Mut est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/09/2007, 15h44   #6
Mut
Membre confirmé
 
Avatar de Mut
 
Inscription : mars 2003
Messages : 789
Détails du profil
Informations personnelles :
Âge : 29
Localisation : France, Seine Maritime (Haute Normandie)

Informations forums :
Inscription : mars 2003
Messages : 789
Points : 237
Points : 237
Envoyer un message via MSN à Mut
Bon désolé pour le post précédent c'était "évident"...

Par contre maintenant que j'ai récupéré ma variable sur la Page2, je dois la renvoyer sur la Page1 (qui est déjà "chargée") et remplir une zone de texte...tout en conservant les données d'autres zones de texte

Je remets mon code à jour :

Code :
1
2
3
4
5
6
7
8
9
10
11
 
<?php
session_start();
$User = $_SESSION['User_Name'];
$DateSelect="";
require ("calendrier.php");
echo calendar();
echo "<br />";
echo "<center><input type='submit' name='Valider' value='Ok' /></center>";
//echo $_SESSION[$DateSelect];
?>
le echo $_SESSION[$DateSelect]; me renvoit ma variable. Cette variable doit être passée à la page1 par le biais d'un bouton.
Mut est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/09/2007, 16h18   #7
Membre émérite
 
Avatar de julien.63
 
Inscription : décembre 2005
Messages : 1 322
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 1 322
Points : 981
Points : 981
Envoyer un message via MSN à julien.63
Citation:
(qui est déjà "chargée")
en fait, j'avais un peu zappé ceci et c'est pourtant tout le noeud du problème...
du coup je te conseille plutot de passer par javascript...
tu peux aller voir ce bout de code : http://julienbessiere.free.fr/codelibrary/?mid=11#53
qui permet de passer une info à partir d'un popup vers sa fenêtre mère.

Ensuite tu peux stocker la valeur reçu dans un champ cacher et utiliser enfin les sessions pour conserver la valeur.
julien.63 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/09/2007, 08h29   #8
Mut
Membre confirmé
 
Avatar de Mut
 
Inscription : mars 2003
Messages : 789
Détails du profil
Informations personnelles :
Âge : 29
Localisation : France, Seine Maritime (Haute Normandie)

Informations forums :
Inscription : mars 2003
Messages : 789
Points : 237
Points : 237
Envoyer un message via MSN à Mut
En fait je pense que je vais sauvegarder toutes les variables du formulaire dans des variables de session, puis tout réinscrire ensuite dans les zones de texte a chaque fois que je fais appel au calendrier...mais je ne vois pas trop comment procéder....comment récupérer tous les champs du formulaire en variable de session ?

je mets le code du formulaire uniquement pour pas que ce soit trop long...

Code :
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
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
 
if( $envoye==0 || $erreur==1) {
 
echo'<p align="center">';
echo'   <table border="2" cellpadding="1" cellspacing="1">';
echo"       <tr>";
echo'	        <td width="800" height="100" align="middle">';
echo'	            <font face="Times New Roman" size="6" color="#000000">';
echo"	                <b>";
echo"	                    <i>Gestion des postes en déplacement</i>";
echo"       	        </b>";
echo"	            </font>";
echo"	        </td>";
echo"       </tr>";
echo"       <tr>";
echo'	        <td width="800" height="100">';
echo'    	        <font face="arial" size="3" color="#000000">Ici, vous pouvez saisir les postes qui partent en déplacement à lextérieur.</font>';
echo"    	            <br />";
echo"    	            <br />";
echo'    	        <font face="arial" size="3" color="#000000"><b><u>Remarque :</b></u>&nbsp; Les champs marqués d&acute;un astérisque sont obligatoires !!</font>';
echo" 	        </td>";
echo"       </tr>";
echo"</p>";
echo"<tr>";
echo"   <form action=\"\" method=\"post\">";
echo"       <input type=\"hidden\" name=\"envoye\" value=\"1\" />";
echo"           <table cellpadding=\"1\" cellspacing=\"1\" align=\"center\" border=\"0\" width=\"800\">";
echo"               <tr>";
echo"                   <td width=\"452\">";
echo"                       <p>".$msg_erreur."</p>";
echo"                   </td>";
echo"               </tr>";
echo"           </table>";
echo"           <table align=\"center\" cellpadding=\"1\" cellspacing=\"1\" border=\"2\" width=\"800\" bordercolorDARK=\"black\" bordercolorLIGHT=\"black\" bgcolor=\"#FFFFFF\">";
echo"               <tr>";
echo"                   <td width=\"459\" colspan=\"2\">";
echo"                       <p align=\"right\">&nbsp;</p>";
echo"                   </td>";
echo"               </tr>";
echo"               <tr onmouseover=\"this.style.backgroundColor='66CC66'\" onmouseout=\"this.style.backgroundColor='#C0C0FF'\">";
echo"                   <td width=\"232\">";
echo"                       <p align=\"right\">&nbsp;(*)N° d'immo du poste : </p>";
echo"                   </td>";
echo"                   <td width=\"227\">"; 
//execution de la requete
include('../Connect.php');
$connect = odbc_connect(SERVEUR, NOM, PASS)or die("Echec de la connexion à la base");
$SQL = "SELECT DISTINCT UC.NumImmoUC FROM UC,Deplacement WHERE UC.NumImmoUC Not in (SELECT Deplacement.NumImmoUC FROM Deplacement)";
$result=@ odbc_do($connect,$SQL) or die("veuillez nous contacter !");
echo"                       <select name='NumeroImmoUC'> ";
echo "                          <option selected>Choisissez un poste...</option>";
while($val=odbc_fetch_array($result)) {
echo"                           <option>".$val['NumImmoUC']."</option>";
}
echo"                       </select>  "; 
echo"                   </td>";
echo"               </tr>";
echo"               <tr onmouseover=\"this.style.backgroundColor='#66CC66'\" onmouseout=\"this.style.backgroundColor='#C0C0FF'\">";
echo"                   <td width=\"232\">";
echo"                       <p align=\"right\">&nbsp;(*)N° d'immo de l'écran : </p>";
echo"                   </td>";
echo"                   <td width=\"227\">";
$SQL = "SELECT DISTINCT Ecran.NumImmoEcran FROM Ecran,Deplacement WHERE Ecran.NumImmoEcran Not in (SELECT Deplacement.NumImmoEcran FROM Deplacement)"; 
$result=@ odbc_do($connect,$SQL) or die("veuillez nous contacter !");
echo"                       <select name='NumeroImmoEcran'> ";
echo "                          <option selected>Choisissez un écran...</option>";  
while($val=odbc_fetch_array($result)) { 
echo "                          <option>".$val['NumImmoEcran']."</option>";
}
echo"                       </select>  ";
odbc_close($connect); 
echo"                   </td>";
echo"               </tr>";
echo"               <tr onmouseover=\"this.style.backgroundColor='#66CC66'\" onmouseout=\"this.style.backgroundColor='#C0C0FF'\">";
echo"                   <td width=\"232\">";
echo"                       <p align=\"right\">&nbsp;(*)Destination (Client) : </p>";
echo"                   </td>";
echo"                   <td width=\"227\">";
echo"                       <input type='text' name='Destination' value='".$Destination."' size=\"30 \" />";
echo"                   </td>";
echo"               </tr>";
echo"               <tr onmouseover=\"this.style.backgroundColor='#66CC66'\" onmouseout=\"this.style.backgroundColor='#C0C0FF'\">";
echo"                   <td width=\"232\">";
echo"                       <p align=\"right\">&nbsp;(*)Date de départ :</p>";
echo"                   </td>";
echo"                   <td width=\"227\">";
echo"                       <input type='text' name='Depart' value='".$Depart."' size=\"30\" />&nbsp;&nbsp;<input type='submit' name='Calendrier' value='Calendrier'  onclick=\"javascript:popup('Calendrier/Date.php')\" style=\"background-color:'#3cb371'\" style=\"color:white; font-weight:bold\"onclick />";
echo"                   </td>";
echo"               </tr>";
echo"               <tr onmouseover=\"this.style.backgroundColor='#66CC66'\" onmouseout=\"this.style.backgroundColor='#C0C0FF'\">";
echo"                   <td width=\"232\">";
echo"                       <p align=\"right\">&nbsp;(*)Date de retour : </p>";
echo"                   </td>";
echo"                   <td width=\"227\">";
echo"                       <input type='text' name='Retour' value='".$Retour."' size=\"30\" />&nbsp;&nbsp;<input type='button' name='Calendrier' value='Calendrier'  onclick=\"javascript:popup('Calendrier/Date.php')\" style=\"background-color:'#3cb371'\" style=\"color:white; font-weight:bold\"onclick />";
echo"                   </td>";
echo"               </tr>";
echo"               <tr onmouseover=\"this.style.backgroundColor='#66CC66'\" onmouseout=\"this.style.backgroundColor='#C0C0FF'\">";
echo"                   <td width='232'>";
echo"                       <p align=\"right\">&nbsp;Nom de l'utilisateur:</p>";
echo"                   </td>";
echo"                   <td width=\"227\">";
echo"                       <input type='text' name='NomUser' value='".$NomUser."' size=\"30\" />";
echo"                   </td>";
echo"               </tr>";
echo"               <tr onmouseover=\"this.style.backgroundColor='#66CC66'\" onmouseout=\"this.style.backgroundColor='#C0C0FF'\">";
echo"                   <td width=\"232\">";
echo"                       <p align=\"right\">&nbsp;Nom du responsable :</p>";
echo"                   </td>";
echo"                   <td width=\"227\">";
echo"                       <select name='Responsable' value='".$NomResp."'>";
echo"                           <option selected>Choisissez un responsable...</option>"; 
echo"                           <option >Personne1</option>";
echo"                           <option >Personne2</option>";
echo"                           <option >Personne3</option>";
echo"                           <option >Personne4</option>";
echo"                       </select>";
echo"                   </td>";
echo"               </tr>";
echo"               <tr onmouseover=\"this.style.backgroundColor='#66CC66'\" onmouseout=\"this.style.backgroundColor='#C0C0FF'\">";
echo"                   <td width=\"232\">";
echo"                       <p align=\"right\">&nbsp;Commentaires/Matériel additionnel : </p>";
echo"                   </td>";
echo"                   <td width=\"227\">";
echo"                       <textarea name='Commentaires' value='".$Commentaires."' rows=\"2\" cols=\"23\">Clavier, souris, cordons alimentation x2</textarea>";
echo"                   </td>";
echo"               </tr>";
echo"               <tr>";
echo"                   <td width=\"232\">";
echo"                       <br />";
echo"                           <p align=\"center\">";
echo"                               <input type='reset' name='Reset' value='Initialiser' />&nbsp;";
echo"                           </p>";
echo"                           <br />";
echo"                   </td>";
echo"                   <td width=\"227\">";
echo"                       <br />";
echo"                           <p align =\"center\">";
echo"                               <input type='submit' name='Soumettre' value='Envoyer'>";
echo"                           </p>";
echo"                           <br />";
echo"                   </td>";
echo"               </tr>";
echo"               <tr>";
echo"                   <td align='center' width='459' height='18' colspan='2'>";
echo"                       <p align='right'>&nbsp;";
echo"                           <a href='mailto:'>";
echo"                               <center>Signaler un problème</center>";
echo"                           </a>";
echo"                       </p>";
echo"                   </td>";
echo"               </tr>";
echo"           </table>";
echo"           <p>&nbsp;</p>";
echo" </form>";
echo"</tr>";
Voila en fait je vérifie les données du formulaire et si elles ne sont pas correctes, il indique celle qui ne vont pas et réaffiche celles qui sont correctes...je pense donc que ce que je souhaite faire est possible dans mon cas. En résumé je voudrais valider le formulaire ce qui me permettrait d'incorporer la valeur de ma page2 (du calendrier).


Merci beaucoup
Mut est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/09/2007, 09h06   #9
Membre émérite
 
Avatar de julien.63
 
Inscription : décembre 2005
Messages : 1 322
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 1 322
Points : 981
Points : 981
Envoyer un message via MSN à julien.63
Citation:
comment récupérer tous les champs du formulaire en variable de session
Si ton formulaire est soumis, je pense que tu peux faire simplement :
à tester...
julien.63 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/09/2007, 10h19   #10
Mut
Membre confirmé
 
Avatar de Mut
 
Inscription : mars 2003
Messages : 789
Détails du profil
Informations personnelles :
Âge : 29
Localisation : France, Seine Maritime (Haute Normandie)

Informations forums :
Inscription : mars 2003
Messages : 789
Points : 237
Points : 237
Envoyer un message via MSN à Mut
Oui ok ça c'est il me reste je pense plus qu'une chose à faire...Sur la page2 (la page du calendrier où je dois choisir une date) j'ai un bouton "ok" qui est censé valider cette date. En fait je souhaiterais que ce bouton "valide" mon formulaire de la page1...(j'en profiterais pour inscrire la valeur du calendrier ! )cela est-il possible ?
Mut est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/09/2007, 11h43   #11
Membre émérite
 
Avatar de julien.63
 
Inscription : décembre 2005
Messages : 1 322
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 1 322
Points : 981
Points : 981
Envoyer un message via MSN à julien.63
oui je pense que c'est possible en utilisant
Code :
window.opener.document.getElementById('id_form').submit;
ou quelque chose comme ça
julien.63 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/09/2007, 14h49   #12
Mut
Membre confirmé
 
Avatar de Mut
 
Inscription : mars 2003
Messages : 789
Détails du profil
Informations personnelles :
Âge : 29
Localisation : France, Seine Maritime (Haute Normandie)

Informations forums :
Inscription : mars 2003
Messages : 789
Points : 237
Points : 237
Envoyer un message via MSN à Mut
C'est très bien je te remercie beaucoup !

Il me reste un probleme. Pour l'instant ça fonctionne très bien dès lors que le champ est une zone de texte. Pas de probleme. Par contre lorsqu'il s'agit d'une liste déroulante là il me conserve pas le résultat que j'ai sélectionné.

Je pense en connaitre la raison.Lorsque je réaffiche le formulaire dans mon code, les zones de liste déroulantes sont alimentés par une base de données. Je pense donc que la solution serait de ne pas réalimenter les zones de liste déroulantes mais j'ai beau chercher je ne trouve pas le moyen de bloquer ça.
Mut est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/09/2007, 15h01   #13
Membre émérite
 
Avatar de julien.63
 
Inscription : décembre 2005
Messages : 1 322
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 1 322
Points : 981
Points : 981
Envoyer un message via MSN à julien.63
Est ce que tu mets un SELECTED dans l'option qui a été choisi au moment du rechargement?
julien.63 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/09/2007, 15h18   #14
Mut
Membre confirmé
 
Avatar de Mut
 
Inscription : mars 2003
Messages : 789
Détails du profil
Informations personnelles :
Âge : 29
Localisation : France, Seine Maritime (Haute Normandie)

Informations forums :
Inscription : mars 2003
Messages : 789
Points : 237
Points : 237
Envoyer un message via MSN à Mut
Oui....en effet...je dois donc l'enlever ?

voici le code du select :
Code :
1
2
3
4
5
6
7
8
9
10
 
echo"                       <select name='NumeroImmoUC'> ";
echo "                          <option>Choisissez un poste...</option>";
//if ($_SESSION['NumImmoUC']=="" || $_SESSION['NumImmoUC']=="Choisissez un poste..." ){ 
while($val=odbc_fetch_array($result)) {
echo"                           <option>".$val['NumImmoUC']."</option>";
}
//$_SESSION['NumImmoUC']=$val['NumImmoUC'];
//}
echo"                       </select>  ";

Je pense qu'il faudrait que je récupère la valeur du select pour le mettre dans une variable de session du genre :

Code :
1
2
 
echo "window.opener.document.getElementById('NumeroImmoUC').options[window.opener.document.getElementById('NumeroImmoUC').selectedIndex].text=$_SESSION['NumImmoUC']";
Mais je vois pas comment faire j'arrive bien à récupérer la valeur sélectionnée en javascript mais pour la passer dans la variable de session $_SESSION['NumImmoUC'] là je bloque
Mut est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 26/09/2007, 17h08   #15
Membre émérite
 
Avatar de julien.63
 
Inscription : décembre 2005
Messages : 1 322
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 1 322
Points : 981
Points : 981
Envoyer un message via MSN à julien.63
Citation:
Oui....en effet...je dois donc l'enlever ?
Non, c'est ça qui te permet de garder tes éléments sélectionnées d'une page sur l'autre. Mais je ne vois pas où tu le mets. Dans ta boucle while tu dois tester les valeurs. Quand elles correspondent tu ajoutes SELECTED dans ton tag OPTION pour qu'il soit sélectionné.


Citation:
passer dans la variable de session $_SESSION['NumImmoUC']
Il faut que tu passes la valeurs via un POST ou un GET avant de la mettre dans ta session. Tu ne peux pas la mettre directement de javascript vers les $_SESSIONS.
julien.63 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/10/2007, 09h57   #16
Mut
Membre confirmé
 
Avatar de Mut
 
Inscription : mars 2003
Messages : 789
Détails du profil
Informations personnelles :
Âge : 29
Localisation : France, Seine Maritime (Haute Normandie)

Informations forums :
Inscription : mars 2003
Messages : 789
Points : 237
Points : 237
Envoyer un message via MSN à Mut
Désolé pour le retard j'ai du m'absenter un moment...

Alors pour remémorer un peu le problème... j'ai une page web dans laquelle il y a un formulaire. Pour remplir ce formulaire, je fais appel à une autre page php (en popup) qui me sert à sélectionner une date (en fait la page est un calendrier) qui doit lors d'un clic sur un bouton s'afficher dans un champ de ma page qui contient le formulaire. Jusque là nous avions réussi par le biais d'un "POST" sur la page calendrier. Donc j'ai bien ma date qui s'affiche dans le formulaire mais le problème qu'il me reste à résoudre est de sauvegarder toutes les valeurs du formulaire dans des variables de session car lorsque je fais un submit sur la page du calendrier, le formulaire se réinitialise
Mut est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/10/2007, 10h42   #17
Membre habitué
 
Inscription : juin 2006
Messages : 133
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 133
Points : 125
Points : 125
Bonjour,

Ce calendrier vous sert à renseigner un champ de votre formulaire. Si c'est un champ qui n'est pas modifiable par l'utilisateur, vous pouvez appliquer l'une de mes solutions qui vous évitera de passer par l'intermédiaire d'un popup.

Dans un premier temps, vous insérer votre calendrier dans votre page, en le mettant entre un div :

Code :
1
2
3
4
5
<div id='calendrier'>
<?php
       include "CalendrierGeneral.php4";
?>
</div>
Ensuite ajouter cette petite fonction javascript dans l'appel de la page qui aura pour conséquence de cacher le calendrier.

Code :
1
2
3
<script type='text/javascript'>
     document.getElementById('calendrier').style.display = 'none';
</script>
Après dans le head de votre page, vous venez rajouter ces 2 fonctions Javascript, la première sert à afficher le calendrier.
La seconde sert à renseigner la case du formulaire en fonction de ce qui a été cliqué sur le calendrier.

Code :
1
2
3
4
5
function MontreMessage(pope)
{
       if(document.getElementById(pope).style.display == "none")
	document.getElementById(pope).style.display = "block";
}
Code :
1
2
3
4
5
function gopage(jour,mois,annee)
{
	document.getElementById('ZoneDate').value =jour+"/"+mois+"/"+annee;
             document.getElementById('calendrier').style.display = 'none'
}
Ensuite sur votre calendrier, (tout dépend comme en quoi il a été scripté), au lieu d'envoyer l'utilisateur quelques part ou autre, vous l'envoyer sur ce lien, qui correpond à la fonction.
Code :
gopage(Variable du jour, Variable du mois, Variable de l'année);
Bon la fonction gopage est a modifié en fonction de ce que vous renvoie votre calendrier, s'il renvoit une date complète, vous n'avez pas besoin d'avoir 3 variable mais une seule.

Et enfin sur votre formulaire vous rajouter la case qui va recevoir la date de cette manière :

Code :
<input id='ZoneDate' type='text' name='Date'  value='' onFocus='MontreMessage("calendrier");' readonly>
Voilà, il ne vous reste plus qu'à adapter en fonction de ce que vous avez de votre côté.
Andalor est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/10/2007, 11h16   #18
Mut
Membre confirmé
 
Avatar de Mut
 
Inscription : mars 2003
Messages : 789
Détails du profil
Informations personnelles :
Âge : 29
Localisation : France, Seine Maritime (Haute Normandie)

Informations forums :
Inscription : mars 2003
Messages : 789
Points : 237
Points : 237
Envoyer un message via MSN à Mut
waaouu mais le probleme de l'include c'est que le calendrier prend beaucoup de place dans la colonne du tableau et ça fait pas vraiment présentable...(déjà que niveau graphisme c'est pas terrible ). La popup est plus proche de ce que je recherche question présentation, mais c'est vrai que votre solution semble pouvoir résoudre mon problème...
Mut est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/10/2007, 11h56   #19
Membre habitué
 
Inscription : juin 2006
Messages : 133
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 133
Points : 125
Points : 125
Vous n'êtes pas forcé de le faire apparaître dans un tableau, vous pouvez très bien définir vous même les coordonnées d'apparition du calendrier (je ne sais plus comment se nomme la méthode) en intégrant ceci dans une feuille de style et en définissant le style du div contenant le calendrier par ce style Css.

Code :
1
2
3
4
5
6
7
#calendrier{
position:absolute;
top:265px;
left:25%;
width:50%;
height:220px;
}
Andalor est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/10/2007, 12h22   #20
Mut
Membre confirmé
 
Avatar de Mut
 
Inscription : mars 2003
Messages : 789
Détails du profil
Informations personnelles :
Âge : 29
Localisation : France, Seine Maritime (Haute Normandie)

Informations forums :
Inscription : mars 2003
Messages : 789
Points : 237
Points : 237
Envoyer un message via MSN à Mut
Cela reviendrait au même vu que ma page entière est sous forme d'un tableau...
Mut est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 05h35.


 
 
 
 
Partenaires

Hébergement Web