Recuperation de variable menu deroulant php
kino76
-
Reivax962 Messages postés 3672 Date d'inscription Statut Membre Dernière intervention -
Reivax962 Messages postés 3672 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
j'ai un petit soucie pour garder la variable de mon menu déroulant et l'envoyer vers une autre page
je m'explique
j'ai un menu déroulant me permettant de sélectionner des packs je voudrais garder la valeur sélectionner par l'utilisateur l'envoyer vers une autre page pour qu'une fonction l'utilise mais je n'arrive pas a faire passer la variable
voici les code des deux pages:
------- Menu Déroulant ----------
<?php
if(!mysql_connect('localhost','root'))
{
echo 'connextion impossible';
exit();
}
else
{
echo '';
}
mysql_select_db('explorer');
$requete="SELECT distinct association.num_pere FROM association where association.num_pere not in (select association.num_fils from association)";
$resultat=mysql_query($requete);
?>
<form method="POST" action="explorateur.php" name="explorateur pack">
<select name="fils">
<?php
while ($ligne=mysql_fetch_array($resultat))
{
echo "<option>".$ligne[0]."</option>\n";
}
?>
<p> <p> <input type="submit" name="ok" value="Envoyer" /></p>
</select>
</form>
<?php
mysql_close();
?>
--------------- page utilisant la fonction -----------------
<?
include 'affichagefils.php';
include 'basededonnee.php';
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title>PACK </title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE">
<META HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE">
<META NAME="COPYRIGHT" CONTENT="© Clemessy">
<META HTTP-EQUIV="EXPIRES" CONTENT="0">
<link rel="StyleSheet" HREF="style.css" TYPE="text/css">
<link rel="stylesheet" href="simpletree.css" type="text/css"/>
</head>
<body bgcolor="#FFFFFF" leftmargin="0" topmargsin="0" marginwidth="0" marginheight="0" >
<script type="text/javascript" src="simpletreemenu.js"></script>
<ul Id ='explorerpack' class='treeview'>
<li>Module C
<ul>
<li>
<?php
connect();
global $pere;
AffListeFils($pere);
echo "$pere";
?>
</li>
</ul>
</li>
<li>Module B
<ul>
<li>
<?php
connect();
global $pere;
AffListeFils($pere);
?>
</li>
</ul>
</li>
<li>Module A
<ul>
<li>
<?php
connect();
global $pere;
AffListeFils($pere);
?>
</li>
</ul>
</li>
</ul>
<script type='text/javascript'>ddtreemenu.createTree('explorerpack', false)</script>
</body>
</html>
--------------------------------------
je voudrais que le choix dans le menu déroulant devienne la variable $pere sur la page utilisant la fonction...
...comment faire?
help please
j'ai un petit soucie pour garder la variable de mon menu déroulant et l'envoyer vers une autre page
je m'explique
j'ai un menu déroulant me permettant de sélectionner des packs je voudrais garder la valeur sélectionner par l'utilisateur l'envoyer vers une autre page pour qu'une fonction l'utilise mais je n'arrive pas a faire passer la variable
voici les code des deux pages:
------- Menu Déroulant ----------
<?php
if(!mysql_connect('localhost','root'))
{
echo 'connextion impossible';
exit();
}
else
{
echo '';
}
mysql_select_db('explorer');
$requete="SELECT distinct association.num_pere FROM association where association.num_pere not in (select association.num_fils from association)";
$resultat=mysql_query($requete);
?>
<form method="POST" action="explorateur.php" name="explorateur pack">
<select name="fils">
<?php
while ($ligne=mysql_fetch_array($resultat))
{
echo "<option>".$ligne[0]."</option>\n";
}
?>
<p> <p> <input type="submit" name="ok" value="Envoyer" /></p>
</select>
</form>
<?php
mysql_close();
?>
--------------- page utilisant la fonction -----------------
<?
include 'affichagefils.php';
include 'basededonnee.php';
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><title>PACK </title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE">
<META HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE">
<META NAME="COPYRIGHT" CONTENT="© Clemessy">
<META HTTP-EQUIV="EXPIRES" CONTENT="0">
<link rel="StyleSheet" HREF="style.css" TYPE="text/css">
<link rel="stylesheet" href="simpletree.css" type="text/css"/>
</head>
<body bgcolor="#FFFFFF" leftmargin="0" topmargsin="0" marginwidth="0" marginheight="0" >
<script type="text/javascript" src="simpletreemenu.js"></script>
<ul Id ='explorerpack' class='treeview'>
<li>Module C
<ul>
<li>
<?php
connect();
global $pere;
AffListeFils($pere);
echo "$pere";
?>
</li>
</ul>
</li>
<li>Module B
<ul>
<li>
<?php
connect();
global $pere;
AffListeFils($pere);
?>
</li>
</ul>
</li>
<li>Module A
<ul>
<li>
<?php
connect();
global $pere;
AffListeFils($pere);
?>
</li>
</ul>
</li>
</ul>
<script type='text/javascript'>ddtreemenu.createTree('explorerpack', false)</script>
</body>
</html>
--------------------------------------
je voudrais que le choix dans le menu déroulant devienne la variable $pere sur la page utilisant la fonction...
...comment faire?
help please
A voir également:
- Recuperation de variable menu deroulant php
- Menu déroulant excel - Guide
- Excel menu déroulant en cascade - Guide
- Menu déroulant google sheet - Accueil - Guide bureautique
- Supprimer menu déroulant excel - Forum Word
- Effacer le contenue d'une cellule avec liste déroulante - Forum Excel
2 réponses
Bonjour,
Tu confonds deux choses : ce qui se passe côté client, et ce qui se passe côté serveur.
Le script PHP est exécuté côté serveur AVANT que le client n'ait la main. Donc, ta variable $pere NE PEUT PAS contenir le choix de ton utilisateur !
Quand le client a la main, il choisit son truc, clic sur le bouton. Là, le navigateur envoie l'élément choisi à la page explorateur.php dans les données POST (d'après la définition de ton formulaire).
Donc, dans ce fichier explorateur.php, tu peux récupérer la variable de cette façon :
$pere = (isset($_POST['fils'])) ? $_POST['fils'] : "valeur par défaut";
Si la page explorateur.php est la même que celle dont tu as donné le code source, alors il te suffit de placer ce code en haut de la page, avec les include. Et fais attention à la valeur par défaut, qui doit être celle d'origine (celle qui affiche la liste des pères)
Xavier
Tu confonds deux choses : ce qui se passe côté client, et ce qui se passe côté serveur.
Le script PHP est exécuté côté serveur AVANT que le client n'ait la main. Donc, ta variable $pere NE PEUT PAS contenir le choix de ton utilisateur !
Quand le client a la main, il choisit son truc, clic sur le bouton. Là, le navigateur envoie l'élément choisi à la page explorateur.php dans les données POST (d'après la définition de ton formulaire).
Donc, dans ce fichier explorateur.php, tu peux récupérer la variable de cette façon :
$pere = (isset($_POST['fils'])) ? $_POST['fils'] : "valeur par défaut";
Si la page explorateur.php est la même que celle dont tu as donné le code source, alors il te suffit de placer ce code en haut de la page, avec les include. Et fais attention à la valeur par défaut, qui doit être celle d'origine (celle qui affiche la liste des pères)
Xavier
kino76
je suis d'accord mais le problème c'est que le menu déroulant n'envoie rien du tout dans le POST
Ah oui, j'avais raté ça :
<p> <p> <input type="submit" name="ok" value="Envoyer" /></p>
</select>
Tu fermes ton <select> après l'input !
Et tu as un <p> en trop.
Donc remplace ces deux lignes par ça :
</select>
<p><input type="submit" name="ok" value="Envoyer" /></p>
Xavier
<p> <p> <input type="submit" name="ok" value="Envoyer" /></p>
</select>
Tu fermes ton <select> après l'input !
Et tu as un <p> en trop.
Donc remplace ces deux lignes par ça :
</select>
<p><input type="submit" name="ok" value="Envoyer" /></p>
Xavier
<form method="POST" action="explorateur.php" name="explorateur pack">
<select name="fils">
<?php
while ($ligne=mysql_fetch_array($resultat))
{
echo "<OPTION VALUE=\"".$ligne[0]."\">".$ligne[0]."</OPTION>";
}
?>
<p> <p> <input type="submit" name="ok" value="Envoyer" /></p>
</select>
</form>
tu n'a pas de value dans ton option,
comme sa tu récupèrera une valeur.
<select name="fils">
<?php
while ($ligne=mysql_fetch_array($resultat))
{
echo "<OPTION VALUE=\"".$ligne[0]."\">".$ligne[0]."</OPTION>";
}
?>
<p> <p> <input type="submit" name="ok" value="Envoyer" /></p>
</select>
</form>
tu n'a pas de value dans ton option,
comme sa tu récupèrera une valeur.