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 28/08/2007, 10h32   #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 Variables non définies pour deux champs liste déroulante et textarea

Bonjour, j'essais de passer les valeurs d'une liste déroulante et d'une textarea dans une base de données Access mais sans succès. J'ai des erreurs sur des variables non définies... Lorsque la liste déroulante est alimentée en php ça fonctionne bien mais pas quand c'est du html. Ca doit bloquer au niveau de mes attributs "value". Voici mon code :

Code :
1
2
3
4
5
6
7
8
9
 
 
echo"<select name='Responsable'> ";
echo"<option value='".$NomResp."' selected></option>";
echo"<option value='".$NomResp."'>Bertin.JP</option>";
echo"<option value='".$NomResp."'>Ducreux.F</option>";
echo"<option value='".$NomResp."'>Duez.B</option>";
echo"<option value='".$NomResp."'>França.Q</option>";
echo"</select>  ";
ça c'est pour la liste déroulante. Je souhaite faire ressortir la valeur que l'utilisateur choisit pour ensuite envoyé la variable $NomResp dans la base.
L'envoi se fait par le bien d'un submit dans un formulaire.

J'ai le même problême avec une textarea :

Code :
1
2
3
 
echo"   <textarea name=Commentaires value='".$Commentaires."' rows=\"2\" COLS=\"23\">comments";
echo"</textarea>  ";
Mut est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/08/2007, 10h34   #2
Membre Expert
 
Inscription : janvier 2005
Messages : 2 288
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 2 288
Points : 2 287
Points : 2 287
On pourrait avoir le code du formulaire complet ainsi que le code qui récupère les infos et les met dans la base s'il te plait?
Pourrait-on aussi avoir le message d'erreur exact pour savoir quelle(s) variable(s) pose(nt) problème.
koopajah est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/08/2007, 10h34   #3
Expert Confirmé

 
Avatar de Amara
 
Inscription : juillet 2004
Messages : 2 684
Détails du profil
Informations personnelles :
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : juillet 2004
Messages : 2 684
Points : 2 910
Points : 2 910
Si tu fais un echo de $NomResp tu as bien ce que tu souhaites ?

Et y'a un truc bizarre toutes tes values vont être identiques là donc je vois pas comment tu avs savoir ce qui a été sélectionné (à moins que tu n'ai pas mis tout le code là...).
__________________
Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)
Amara est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/08/2007, 10h50   #4
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
Merci de vos réponses

Le formulaire est assez long j'ai donc mis que les champs qui posent probème.

Voici le code qui envoit les données dans la base :

Code :
1
2
3
4
5
6
7
8
9
10
11
 
 
include('../Connect.php');
 
//Connexion à la base
$connect = odbc_connect(SERVEUR, NOM, PASS)or die("Echec de la connexion à la base");
 
if ($connect) {
//connexion réussie
//création de la requete
$query="insert into Deplacement (NumImmoUC,NumImmoEcran,Destination,Depart,RetourPrevu,MaterielSup,NomResp) VALUES ('$NumImmoUC','$NumImmoEcran','$Destination','$Depart','$Retour','$Commentaires','$NomResp');";
Voilà.

J'ai essayé sans les deux champs commentaires et Nomresp et l'envoi s'effectue correctement. donc c'est bien ces deux là qui posent problème.
Voici le message d'erreur :

Code :
1
2
3
4
5
 
 
Notice: Undefined variable: Commentaires in c:\pages\gestion_info.php on line 113
 
Notice: Undefined variable: NomResp in c:\pages\gestion_info.php on line 113
sachant que la ligne 113 correspond à la ligne "query" de la requête.

Concernant le code :

Code :
1
2
3
4
5
6
7
8
9
 
 
echo"<select name='Responsable'> ";
echo"<option value='".$NomResp."' selected></option>";
echo"<option value='".$NomResp."'>Bertin.JP</option>";
echo"<option value='".$NomResp."'>Ducreux.F</option>";
echo"<option value='".$NomResp."'>Duez.B</option>";
echo"<option value='".$NomResp."'>França.Q</option>";
echo"</select>  ";
J'avais essayé en fesant ça :

Code :
1
2
3
4
5
6
7
8
9
 
 
echo"<select name='Responsable' value='".$NomResp."'> ";
echo"<option selected></option>";
echo"<option >Bertin.JP</option>";
echo"<option >Ducreux.F</option>";
echo"<option >Duez.B</option>";
echo"<option >França.Q</option>";
echo"</select>  ";
Mais ça fonctionnait pas non plus...
Mut est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/08/2007, 10h54   #5
Expert Confirmé

 
Avatar de Amara
 
Inscription : juillet 2004
Messages : 2 684
Détails du profil
Informations personnelles :
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : juillet 2004
Messages : 2 684
Points : 2 910
Points : 2 910
Ton SELECT s'appelle Responsable et pas NomResp.

Reste le souci de tes VALUES, là c'est bien ce que je disais, quelque soit la sélection tu vas récupérer la même chose vu que $NomResp ne bouge pas entre chaque OPTION (si tant est que $NomResp est bien initialisé quelque part avant la liste déroulante...).

Pour récupérer les valeurs c'est plus propre de faire $_POST['Nom'] plutôt que $Nom directement (si tu es en $_POST).

Et pour Commentaires c'est mieux de l'encadrer par des quotes comme tu as fait pour NomResp dans ton formulaire.
__________________
Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)
Amara est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/08/2007, 11h42   #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
Citation:
(si tant est que $NomResp est bien initialisé quelque part avant la liste déroulante...).

Effectivement !!! et c'est pas la première fois que j'oublie !

Code :
1
2
3
4
 
 
if(isset($_POST['NomResp'])){$NomResp=$_POST['NomResp'];}else{$NomResp="";} 
if(isset($_POST['Commentaires'])){$Commentaires=$_POST['Commentaires'];}else{$Commentaires="";}
Donc maintenant ça fonctionne !

Citation:

Et pour Commentaires c'est mieux de l'encadrer par des quotes comme tu as fait pour NomResp dans ton formulaire.
Merci du conseil j'ai corrigé dans tout le formulaire !


Citation:

Pour récupérer les valeurs c'est plus propre de faire $_POST['Nom'] plutôt que $Nom directement (si tu es en $_POST).
Je comprends pas bien ou je dois mettre le $_POST...

Code :
1
2
3
4
 
 
echo"   <textarea name='Commentaires' value='".$_POST['Commentaires']."' rows=\"2\" COLS=\"23\">Comments";
echo"</textarea>  ";
Comme ça ???


Citation:

Reste le souci de tes VALUES, là c'est bien ce que je disais, quelque soit la sélection tu vas récupérer la même chose vu que $NomResp ne bouge pas entre chaque OPTION (si tant est que $NomResp est bien initialisé quelque part avant la liste déroulante...).
Effectivement il ne me renvoyait "rien" dans la base de données.

Code :
1
2
3
4
5
6
7
8
 
echo"<select name='Responsable' value='".$NomResp."'> ";
echo"<option selected></option>";
echo"<option >Bertin.JP</option>";
echo"<option >Ducreux.F</option>";
echo"<option >Duez.B</option>";
echo"<option >França.Q</option>";
echo"</select>  ";
Comme ça ça fonctionne bien

En résumé il me reste les problêmes du $_POST à résoudre et ce sera très bien !

Merci beaucoup !
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 22h42.


 
 
 
 
Partenaires

Hébergement Web