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 22/05/2007, 15h00   #1
Nouveau Membre du Club
 
Inscription : avril 2007
Messages : 98
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 98
Points : 25
Points : 25
Par défaut reload automatique de la page a la selection dans un menu déroulant (dans un popup)

slt a tous
alors voila je sais comment realoder automatiquement un page lors d'un selection dans un menu déroulant, mais la je voudrais le faire dans un popup et a ma surprise ca ne marche pas ...

voila mon code :
dans la page web pour appeler la popup :
Code :
echo	"<td align='center'><a  href='javascript: javascript:envoi(\"pp_confirmation.php?id=$id_historique_2[id]&amp;palier=$id_historique_2[palier]&amp;numero_reac=$id_historique_2[numero_reac]&amp;type_caps=$id_historique_2[type_caps]&amp;num_caps=$id_historique_2[num_caps]&amp;site=$id_historique_2[site]&amp;\")' class='capsule'> Importer </a></td>";
dans ma popup (menu deroulant) :
Code :
echo"Dans quel dossier se trouve votre cre : <select name='dossier_cre' onChange='this.form.submit()'>";
...

le OnChange marche lorsque je ne suis pas dans une popup ...

meric pour votre aide
maverick56 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/05/2007, 15h12   #2
Membre confirmé
 
Inscription : avril 2007
Messages : 254
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 254
Points : 262
Points : 262
Que fait la fonction envoi?
__________________
Quand un problème a une solution, rien ne sert de s'inquiéter. Quand il n'y a pas de solution, s'inquiéter n'arrange rien.
Ouach est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/05/2007, 15h16   #3
Nouveau Membre du Club
 
Inscription : avril 2007
Messages : 98
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 98
Points : 25
Points : 25
elle ouvre la popup avec le lien donné :

<script language="javascript">
function envoi(lien)
{window.open(lien,'Newsletter','width=500,height=350');}
</Script>
maverick56 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/05/2007, 15h34   #4
Membre confirmé
 
Inscription : avril 2007
Messages : 254
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 254
Points : 262
Points : 262
Peux-tu mettre un peu plus de code de pp_confirmation.php? (le formulaire)
__________________
Quand un problème a une solution, rien ne sert de s'inquiéter. Quand il n'y a pas de solution, s'inquiéter n'arrange rien.
Ouach est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/05/2007, 15h45   #5
Nouveau Membre du Club
 
Inscription : avril 2007
Messages : 98
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 98
Points : 25
Points : 25
coila mon ficher entier :
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
 
<?php
		session_start();
//utilisateur
	if (isset ($_SESSION['nom'])) {$nom = $_SESSION['nom'];}
	if (isset ($_SESSION['prenom'])) {$prenom = $_SESSION['prenom'];}
//
	if (isset($_POST['$dossier_cre'])) {$_SESSION['dossier_cre']=$_POST['$dossier_cre'];}
//
	if (isset ($_GET['palier'])) {$_SESSION['palier'] = $_GET['palier'];}
	if (isset ($_GET['numero_reac'])) {$_SESSION['numero_reac'] = $_GET['numero_reac'];}
	if (isset ($_GET['type_caps'])) {$_SESSION['type_caps'] = $_GET['type_caps'];}
	if (isset ($_GET['num_caps'])) {$_SESSION['num_caps'] = $_GET['num_caps'];}
	if (isset ($_GET['site'])) {$_SESSION['site'] = $_GET['site'];}
//données capsule	
	if (isset ($_SESSION['site'])) {$site = $_SESSION['site'] ;}
	if (isset ($_SESSION['n_reacteur'])) {$n_reacteur = $_SESSION['n_reacteur'] ;}
	if (isset ($_SESSION['type_caps'])) {$type_caps = $_SESSION['type_caps'];}
	if (isset ($_SESSION['num_caps'])) {$num_caps = $_SESSION['num_caps'];}
	if (isset ($_SESSION['id'])) {$id = $_SESSION['id'];}
	if (isset ($_SESSION['numero_reac'])) {$numero_reac = $_SESSION['numero_reac'];}
	if (isset ($_SESSION['palier'])) {$palier = $_SESSION['palier'];}
	if (isset ($_SESSION['affiche_histo'])) {$affiche_histo = $_SESSION['affiche_histo'];}
	if (isset ($_SESSION['dossier_cre'])) {$dossier_cre = $_SESSION['dossier_cre'];}
	if (!isset($i)) {$i=0;$_SESSION['$i']=$i;}
	else $i=$i+1;
?>
 
<html>
<head>
<title>importer un r&eacute;sultat manquant</title>
<script>
	function calcul() { window.opener.location = "../inter_tafia.php"; window.close() }
	function accueil() { window.opener.location = "../choix_action.php"; window.close() }
</script>
	<style type="text/css">
	@import url(../CSS/style2.css);
	.Style1 {
	color: #FFFFFF;
	font-weight: bold;
}
    </style>
</head>
 
<body>
<p align="center">&nbsp;</p>
<p align="center">Veuillez indiquer le dossier depuis lequel vous voulez ins&eacute;rer les r&eacute;sultats :</p>
<p align="center">&nbsp;</p>
<p align="center"> <br>
   <br>
  </p>
<?php  
		echo "<form  method='post' action='pp_confirmation.php'>";
		echo"Dans quel dossier se trouve votre cre : <select name='dossier_cre' onChange='this.form.submit()'>";
		echo"<option selected='selectionner'>"; if (!isset ($dossier_cre)) {echo"-- Choisissez --";}else{echo"$dossier_cre";} echo"</option>";
	//liste les dossiers
		$dossier = opendir("../DATA/$palier");
		while ($fichier = readdir($dossier)) 
		{
			if ($fichier != '.' && $fichier != '..')
			{		
				if(is_dir("../DATA/$palier/$fichier")) echo "<option> $fichier </option>";
			}
		}
		closedir($dossier);			
		echo" </select>";
		echo"</form>";
 
	if(isset($dossier_cre))
	{
	//test pour le fichier histo.tif
		if(is_file("../DATA/$palier/$dossier_cre/histo.tif")) {$affiche_histo = 'oui';}
		else {$affiche_histo = 'non';}
		$_SESSION['affiche_histo'] = $affiche_histo;
		echo "nico <br>";
	}
	else echo "tan pi $i<br>";
 
echo "<br>";
echo"id : $id <br>";
echo"palier : $palier <br>";
 
?> 
 
 <table width="100%" border="0">
   <tr>
     <td width="45%"><div align="center"></div></td>
     <td width="55%"><div align="center">
       <input type=submit class='bouton' value="Valider">
     </div></td>
   </tr>
 </table>
</body>
</html>
maverick56 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/05/2007, 16h03   #6
Nouveau Membre du Club
 
Inscription : avril 2007
Messages : 98
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 98
Points : 25
Points : 25
en faite j'ai l'impression que ma page est reloader, mais par contre je recupere pas la variable "$dossier_cre".
je comprend pas prk ...

merci
maverick56 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/05/2007, 21h17   #7
Membre émérite
 
Avatar de ozzmax
 
Inscription : novembre 2005
Messages : 986
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : novembre 2005
Messages : 986
Points : 863
Points : 863
Envoyer un message via MSN à ozzmax
Bonjour
Le probleme doit venir de là
Code :
1
2
3
4
 
...
if (isset($_POST['$dossier_cre'])) {$_SESSION['dossier_cre']=$_POST['$dossier_cre'];}
...
Si $dossier_cre n'est pas instancié avant cette validation alors ca doit faire un message d'erreur du genre
Citation:
Notice: Undefined index:$dossier_cre in C:\tes_pages\page_valide.php on line ...
Donc c'est surment pour cela que ca ne fonctionne pas car c'est seulement là que tu valide avec une variable au lieu des names des champs postés

Alors vérifie cela
je te fais une petite suggestion en meme temps
utilise les concatenation pour tes strings
exemple:
Code :
1
2
3
4
5
 
if(is_dir("../DATA/$palier/$fichier")) echo "<option> $fichier </option>";
 
//Remplacé par
if(is_dir('../DATA/'.$palier.'/'.$fichier)) echo '<option>'.$fichier.'</option>';
__________________
La perfection n'est pas un but, l'amélioration constante devrait l'être!
La position des Développeurs de developpez avec les explications
ozzmax est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/05/2007, 08h13   #8
Nouveau Membre du Club
 
Inscription : avril 2007
Messages : 98
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 98
Points : 25
Points : 25
merci ozzmax
mais non je n'ai aucun message d'erreur
prk est ce que ce devrai en avoir un ??
mon " if (isset($_POST['$dossier_cre'])) " n'est vrai que lorsque je POST $dossier_cre.
ensuite je met en variable de session...

qu'entend tu par "insatancié" ?

en dessous de cette ligne j'ai également :
if (isset ($_SESSION['dossier_cre'])) {$dossier_cre = $_SESSION['dossier_cre'];}

c'est peut etre de ca que tu parle non ?

merci encore
maverick56 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/05/2007, 15h54   #9
Membre émérite
 
Avatar de ozzmax
 
Inscription : novembre 2005
Messages : 986
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : novembre 2005
Messages : 986
Points : 863
Points : 863
Envoyer un message via MSN à ozzmax
Bonjour
Citation:
Envoyé par maverick56
mais non je n'ai aucun message d'erreur
prk est ce que ce devrai en avoir un ??
mon " if (isset($_POST['$dossier_cre'])) " n'est vrai que lorsque je POST $dossier_cre.

qu'entend tu par "insatancié" ?
Tu n'as pas de message d'erreur?... hmm j'avais pourtant testé le tout avant
Je disais que tu devrais en avoir un car, si on suit la logique tu demandes
Si est setté la variable $_POST à l'indexe '$dossier_cre' alors mets la valeur en session
Moi je me demandais comment tu faisais pour posté une variable...?
j'entendais par instancier, attribution d'une valeur à $dossier_cre car actuellement ca doit valoir rien, elle n'a pas d'espace mémoire encore...

Est-ce que tu es certain que ca entre et met en valeur ta variable session?
fait un test pour voir
Code :
1
2
3
4
5
6
7
8
 
...
if (isset($_POST['$dossier_cre'])){
  echo'oui sa valeur est : '.$_POST['$dossier_cre'].' la valeur de l\'index est -> '.$dossier_cre;
}
else{
  echo'non pas setté';
}
ensuite..
Citation:
Envoyé par maverick56
en dessous de cette ligne j'ai également :
if (isset ($_SESSION['dossier_cre'])) {$dossier_cre = $_SESSION['dossier_cre'];}

c'est peut etre de ca que tu parle non ?
Ca entre encore ladedans?, si ta variable de session['dossier_cre'] est définie une première fois dans ton application, ca va toujours rentré à cet endroit...

Aussi, pourquoi est-ce que tu mets la valeur de $_SESSION['dossier_cre'] dans une variable?

Sinon, je viens de relire ton premier post...
Je sais pas si je saisi totalement ton probleme

Voilà ce que j'en vois:
-Dans une page, tu as un lien "Importer", sur son click, en fait dans le href tu appel une fonction qui ouvre une popup...en passant dans ton code, tu as 2 fois javascript dans le href du liens..
-Ensuite une fois la popup ouverte (j'imagine que ca fonctionne rendu là ) tu as un select... il a des valeurs fixe ton select? ou tu le rempli à l'aide d'une requete?
-Dans son événement on change, tu voudrais rafraichir...la popup?

J'ai des questions...
Les valeurs que tu récupère de tes variables $_post, elles proviennent de où?
car si elle proviennent de la page qui appelle la popup, et que la popup est afficher dans un liens, alors ya pas de soumission de formulaire...?
Si c'est variables sont définies avant, et que tu les récupère dans la page appelant la popup, je ne sais pas si tu peux les accèder dans la popup (en fait j'ai jamais testé) moi je les metterais en session avant d'appeler la popup et utiliserais les session dans la popup pour ne pas avoir de conflit
Si ta variable $dossier_cre est définie dans ta page appelant ta popup, c'est p-e pour cela que tu n'y a pas accès ou au contraire que tu lui a accès dans ta popup...

Mon post est trop long la je me perds dans mes idées et suggestions
réponds à ces quelques question et on continura
__________________
La perfection n'est pas un but, l'amélioration constante devrait l'être!
La position des Développeurs de developpez avec les explications
ozzmax est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h43.


 
 
 
 
Partenaires

Hébergement Web