Probleme avec une liste <SELECT> </SELECT>

softflower Messages postés 13 Date d'inscription mercredi 12 mars 2003 Statut Membre Dernière intervention 5 octobre 2004 - 15 févr. 2004 à 19:24
sidf Messages postés 1216 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 18 octobre 2012 - 13 janv. 2009 à 16:49
J'ai un enorme probleme, dans une de mes pages php je fais intervenir une liste <SELECT></SELECT> que je rempli avec des info se trouvant sur une base de données. La liste se remplie bien mais ensuite impossible d'acceder à la variable de la liste qui contient l'element selectionner par l'utilisateur.

Ma partie du listing ou intervient la liste :

<?php
Connexion_Serv_Base();
//Remplissage de la liste des themes perso$rech1 "SELECT * FROM themes WHERE proprio '$est_abonne[email]'";
if(!($res1 = mysql_query($rech1)))
{
echo "

Erreur execution requete";
exit();
}if(($nb1 mysql_num_rows ($res1)) 0) echo "Aucun theme perso

";
echo "Mes themes: <select name='them'>";
while($enr1 = mysql_fetch_object($res1)) echo "<option value=$enr1->theme>$enr1->theme</option>";
echo "</select>";
echo "
Modifier/Ajouter_Docs";
?>

En effet je veux envoyer le contenu de la variable $them vers une autre page mais elle reste constamment vide.

Aidez moi svp... j'ai essayer de mettre dans uen fonction ca chiait ossi.

Aîe

18 réponses

softflower Messages postés 13 Date d'inscription mercredi 12 mars 2003 Statut Membre Dernière intervention 5 octobre 2004
15 févr. 2004 à 19:25
la variable T que j'envoi a ma page destinataire reste par consequent vide egalement.
0
davwart Messages postés 855 Date d'inscription mardi 19 novembre 2002 Statut Membre Dernière intervention 28 juillet 2009 1
15 févr. 2004 à 19:57
lu..
je c pas si ça va resoudre ton pb..
mais essai un formulaire, c plus propre (la method "post" est mieux que de passer par "url?$var=valeur").

voila ce que ça donnerai:

<form action="modif_theme.php" method="post" enctype="text/plain">
<select name='them'>;

<?php
while($enr1 = mysql_fetch_array($res1))
{
echo "<option value='".$enr1['theme']."'>$enr1['theme']</option>";
}
?>

</select>

</form>

et dans ton fichier modif:

$theme=$_POST["them"];

-------------------------------------
Les ordinateurs, plus on s'en sert moins, moins ça a de chance de mal marcher. [Les Shadoks]
0
softflower Messages postés 13 Date d'inscription mercredi 12 mars 2003 Statut Membre Dernière intervention 5 octobre 2004
16 févr. 2004 à 00:00
Merci mais j'ai essayer ca ne marche tjs pas.
$theme=$_POST["them"] reste vide.

Aîe
0
davwart Messages postés 855 Date d'inscription mardi 19 novembre 2002 Statut Membre Dernière intervention 28 juillet 2009 1
16 févr. 2004 à 08:32
mets un copier collé de ton code ici, je v le faire tourner chez moi pour voir si ça fonctionne (si c le cas, c un pb de config!)
-------------------------------------
Les ordinateurs, plus on s'en sert moins, moins ça a de chance de mal marcher. [Les Shadoks]
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
perig Messages postés 358 Date d'inscription vendredi 1 novembre 2002 Statut Membre Dernière intervention 5 septembre 2006
16 févr. 2004 à 09:06
Ton site il est chez qui?
Et essai avec $_POST[them] sans les ""

---Perig---
Pour vous servir 8-)
Et parfois en galère :blush)
Souvent même :)
0
softflower Messages postés 13 Date d'inscription mercredi 12 mars 2003 Statut Membre Dernière intervention 5 octobre 2004
16 févr. 2004 à 18:46
Voila un copier/coller de ma page php.
C'est pas un site en ligne c'est un projet pour mes cours, je le fais tourner avec easyphp 1.6.
mon msn : softflower77220@hotmail.com

<?php
include('util.inc');
session_start();
?>
<HTML>

<head>
<title>Themes</title>
<LINK Href="index.css" REL="stylesheet" type="text/css">
</head>

<center>
<?php
//Connexion au serveur et a la base
Connexion_Serv_Base();
echo " Accueil - ";
if(!isset($est_abonne))
{
echo " Inscription - 
Theme - 
Contact

";
}
else
{
//Si c'est un abonné
echo " Theme - 
Contact - 
Deconnection

Créer un nouveau theme

";
//Remplissage de la liste des themes perso $rech1 "SELECT * FROM themes WHERE proprio '$est_abonne[email]'";
if(!($res1 = mysql_query($rech1)))
{
echo "

Erreur execution requete";
exit();
} if(($nb1 mysql_num_rows ($res1)) 0)echo "Aucun theme perso

";

echo"<form action='modif_theme.php' method='post' enctype='text/plain'>
<select name='them'>";
while($enr1 = mysql_fetch_object($res1))
{
echo "<option value='$enr1->theme'>$enr1->theme</option>";
}
echo "</select></form>";
echo "
$them";
}

//Affichage de tous les themes
$rech = "SELECT * FROM themes";
if(!($res = mysql_query($rech)))
{
echo "

Erreur execution requete";
exit();
}
echo "

LISTE GENERALE DES THEMES REFERENCE SUR LE SITE

";if(($nb mysql_num_rows ($res)) 0)echo "Aucun theme enregistre

";
else
{
while($enr = mysql_fetch_object($res))
{
if(!isset($est_abonne)) echo "theme'>$enr->theme
";
else echo " theme'>$enr->theme
";
}
}
?>
</center>

</HTML>

Tu peux voir ke juste apres la liste je fais afficher la variable $them mais elle reste vide.

Merci d'avance.

Aîe
0
perig Messages postés 358 Date d'inscription vendredi 1 novembre 2002 Statut Membre Dernière intervention 5 septembre 2006
17 févr. 2004 à 09:38
Oui mais c'est quoi le nom de cette page?
Et surtout y'a quoi dans la page 'modif_theme.php'?

Sinon, c'est normal que la variable $them reste vide car tu affiche $them juste après la création du menu mais y'a encore rien de sélectionné dans ce menu.
La variable $them ne prendra une valeur qu’après avoir cliqué sur le bouton de validation de ton form.
Il faut donc afficher cette variable dans la page 'modif_theme.php' en tout début de page.

---Perig---
Pour vous servir 8-)
Et parfois en galère :blush)
Souvent même :)
0
davwart Messages postés 855 Date d'inscription mardi 19 novembre 2002 Statut Membre Dernière intervention 28 juillet 2009 1
17 févr. 2004 à 09:42
perig a raison !
c'est pour ça que je te disais d'utiliser un formulaire: sinon ton lien a href ne prendra pas de parametre vu qu'à l'interpretation du php, term vaut rien !

-------------------------------------
Les ordinateurs, plus on s'en sert moins, moins ça a de chance de mal marcher. [Les Shadoks]
0
softflower Messages postés 13 Date d'inscription mercredi 12 mars 2003 Statut Membre Dernière intervention 5 octobre 2004
17 févr. 2004 à 10:07
Non mais en fait des le debut il selectionne le premier element de la liste.
Mais mm sinon une foi ke je selectionne un element dans la liste la variable $them devrait se remplir automatikement non ?

Aîe
0
davwart Messages postés 855 Date d'inscription mardi 19 novembre 2002 Statut Membre Dernière intervention 28 juillet 2009 1
17 févr. 2004 à 10:16
oui bien sur, mais ta page n'est pas raffraichi!

faut comprendre le scenario:
1/ tu crees ta page, them vaut rien.
2/ tu selectionnes ton them -> /!\ them vaudra quelque chose quand tu le passeras en parametre vers une autre page, mais sur ta page, il faut tjours rien, car ta page a été crée à l'etape 1 !!!!!
3/ tu vas sur ta page cible, la them vaut la valeur que tu as choisie.

-------------------------------------
Les ordinateurs, plus on s'en sert moins, moins ça a de chance de mal marcher. [Les Shadoks]
0
softflower Messages postés 13 Date d'inscription mercredi 12 mars 2003 Statut Membre Dernière intervention 5 octobre 2004
17 févr. 2004 à 10:19
Mais justement ca ne marche pas :

1/ la page se charge
2/je selectionne dans la liste un element
3/je clic sur envoyer ce qui envoie la variable a ma page cible
4/ ma variable est vide en arrivant sur ma page cible

pourtant je fai bien $theme=$_POST["them"]

Aîe
0
davwart Messages postés 855 Date d'inscription mardi 19 novembre 2002 Statut Membre Dernière intervention 28 juillet 2009 1
17 févr. 2004 à 10:25
mais ou est le code de modif_theme???
-------------------------------------
Les ordinateurs, plus on s'en sert moins, moins ça a de chance de mal marcher. [Les Shadoks]
0
softflower Messages postés 13 Date d'inscription mercredi 12 mars 2003 Statut Membre Dernière intervention 5 octobre 2004
17 févr. 2004 à 11:49
mon modif_theme.php

<?php
include('util.inc');
session_start();
?>
<HTML>
<head>
<title>Modification THEME</title>
<LINK Href= "index.css" REL="stylesheet" type="text/css">
<script language="JavaScript">
function ferme()
{
window.opener.location.reload()
window.close()
}
</script>
</head>

<center>

<?php
Connexion_Serv_Base();
//upload d'un fichier
if(!empty($desc))
{
if(!empty($userfile))
{
form_fic($PHP_SELF,0);
echo " Fichier soumis :

Nom : $userfile

Nom initial : $userfile_name

Taille : $userfile_size

Type : $userfile_type
";
$dest=".\\fichiers\\$est_abonne[temp]\\$userfile_name";
if (copy($userfile, $dest))
{
//Ajout du doc dans la table docs
$rechdoc = "INSERT INTO docs VALUES ('$userfile_name','$est_abonne[temp]','$desc','$est_abonne[email]')";
if(!($resdoc = mysql_query($rechdoc)))
{
echo "

Erreur execution requete";
exit();
}
else echo(" copie réussite et document ajoute ");
}
else echo("echec de copie.");
unlink($userfile);
}
}
if(!isset($userfile))
{
$est_abonne[temp] = $_POST[them];
echo "$est_abonne[temp]";
form_fic($PHP_SELF,0);
}
else if(empty($userfile) || empty($desc))
{

form_fic($PHP_SELF,array($desc,0));
echo "selectionner un fichier et une description";
}
//Affichage de tous les themes$rech1 "SELECT * FROM docs WHERE theme '$est_abonne[temp]'";
if(!($res1 = mysql_query($rech1)))
{
echo "

Erreur execution requete";
exit();
}
echo "

LISTE DOCUMENT REFERENCE DANS CE THEME

";if(($nb mysql_num_rows ($res1)) 0)echo "Aucun Doc enregistre

";
else while($enr1 = mysql_fetch_object($res1)) echo "nomdoc'> $enr1->nomdoc   $enr1->descri   
nomdoc' target='blank'>Supprimer  - 
nomdoc' target='blank'>Modifier Descriptif
";
?>

CHANGEMENT DE PROPRIETAIRE DU THEME

<?php
if(!empty($email2) && !empty($password2) && !empty($nom2))
{
//Connexion_Serv_Base();
//Recherche de l'existence de la personne $rech2 "SELECT * FROM personnes WHERE email '$email2'";
if(!($res2 = mysql_query($rech2)))
{
echo "

Erreur execution requete";
exit();
}
$enr2 = mysql_fetch_object($res2);
//changement du proprietaire dans la table theme $rech3 "UPDATE themes SET proprio '$email2' WHERE theme = '$est_abonne[temp]'";
if(!($res3 = mysql_query($rech3)))
{
echo "

Erreur execution requete";
exit();
}
if($enr2->email == $email2) echo "Merci, le changement de proprietaire est effectue.
Cliquez ici pour retourner sur la page des themes";
else
{
//Ajout de la personne dans la table personnes
$rech4 = "INSERT INTO personnes VALUES ('$nom2','$email2','$password2')";
if(!($res4 = mysql_query($rech4)))
{
echo "

Erreur execution requete";
exit();
}
else
{
echo " Merci, le changement de proprietaire est effectue.
Cliquez ici pour retourner sur la page des themes";
}
}
}
if(!isset($email2) && !isset($password2) && !isset($nom2)) Affiche_newuser(0, $PHP_SELF);
else
{
if(empty($email2) || empty($nom2) || empty($password2))
{
Affiche_newuser(array($email2,$nom2,$password2),$PHP_SELF);
if(empty($email2))
{
echo "

Veuillez entrer un email";
exit();
}

if(empty($nom2))
{
echo "

Veuillez entrer un nom";
exit();
}
if(empty($password2))
{
echo "

Veuillez entrer un mot de passe";
exit();
}
}
}
?>
</center>

</HTML>

Aîe
0
davwart Messages postés 855 Date d'inscription mardi 19 novembre 2002 Statut Membre Dernière intervention 28 juillet 2009 1
17 févr. 2004 à 13:58
Re..

pas facile à lire le code..

juste une remarque: je lis:
if(!isset($userfile))
{
$est_abonne[temp] = $_POST[them];
echo "$est_abonne[temp]";
form_fic($PHP_SELF,0);
}
else if(empty($userfile) || empty($desc))
{

form_fic($PHP_SELF,array($desc,0));
echo "selectionner un fichier et une description";
}
//Affichage de tous les themes$rech1 "SELECT * FROM docs WHERE theme '$est_abonne[temp]'";
if(!($res1 = mysql_query($rech1)))
{
echo "

Erreur execution requete";
exit();
}

ta variable $est_abonne n'est déclaré que si isset($userfile) est false.pourtant ta requete $rech1 "SELECT * FROM docs WHERE theme '$est_abonne[temp]'"; est faite tout le temps, et elle utilise la variable $est_abonné..

ça risque pas de foirer ça??

si userfile vaut qque chose, ta variable ne sera peut etre pas déclarée, et donc ta requete sera vide... t'auras pas de themes.. (à moins que ta variable est une valeur prédéfinie ailleurs...)
-------------------------------------
Les ordinateurs, plus on s'en sert moins, moins ça a de chance de mal marcher. [Les Shadoks]
0
softflower Messages postés 13 Date d'inscription mercredi 12 mars 2003 Statut Membre Dernière intervention 5 octobre 2004
17 févr. 2004 à 18:34
Ma variable $est_abonne est une variable de session ca ne pose pas de probleme.

kkun d'experiemente serait cho pour ke je lui envoi tou mon truc pour ki voit vraiement ?

merci d'avance.

Aîe
0
softflower Messages postés 13 Date d'inscription mercredi 12 mars 2003 Statut Membre Dernière intervention 5 octobre 2004
17 févr. 2004 à 18:36
Ma variable $est_abonne est une variable de session ca ne pose pas de probleme.

kkun d'experiemente serait cho pour ke je lui envoi tou mon truc pour ki voit vraiement ?

merci d'avance.

Aîe
0
cs_JCML Messages postés 5 Date d'inscription mercredi 16 août 2006 Statut Membre Dernière intervention 31 août 2007
31 août 2007 à 00:54
bonsoir,

essaie : $est_abonne[temp] = $_POST['them'];

Jean-Claude
0
sidf Messages postés 1216 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 18 octobre 2012 5
13 janv. 2009 à 16:49
salut

je suppose que le champ du  fichier themes s'appelle bien theme ?
0
Rejoignez-nous