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 01/08/2007, 13h14   #1
Futur Membre du Club
 
Inscription : juin 2007
Messages : 79
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 79
Points : 19
Points : 19
Par défaut Récupérer valeur d'un select multiple

Bonjour,

J'ai fait le tour du forum et malgré toute les explications je ne parviens à récupérer la/les valeurs de la liste déroulante. Le formulaire est en method POST.

Code :
1
2
3
4
5
6
7
8
9
10
//insertion des valeurs dans le select
<SELECT name="ZLMail" size="30" multiple>
      MYSQL_CONNECT($serveur,$login,$pass);
			mysql_select_db("$base");
			$enregistrement = mysql_query($Rq);
			while ($ligne=mysql_fetch_array($enregistrement))
			{
				printf("<option value='" .$ligne['email'] ."' selected>" .$ligne['prenom'] ." " .strtoupper($ligne['nom']) ."</option>");
			}
</select>
Voici comment j'essaie de récupèrer les valeurs
Code :
1
2
3
4
5
6
7
if (isset($_POST['Env']))
	{
 
	for ($i = 0,  $list = count($_POST['ZLMail']); $i < $list; $i++)
				{
					$reussi .= $_POST['ZLMail'][$i];
				}
J'ai essayé beaucoup de chose, rien ne marche. Le code ci-dessus me m'affiche la notice suivante :
Uninitialized string offset: 0
Des idées ?

Christian.
christgh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/08/2007, 13h26   #2
Modératrice
 
Avatar de Celira
 
Femme
Développeuse PHP/Java
Inscription : avril 2007
Messages : 3 686
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 27
Localisation : France

Informations professionnelles :
Activité : Développeuse PHP/Java

Informations forums :
Inscription : avril 2007
Messages : 3 686
Points : 5 451
Points : 5 451
Bonjour

A priori ton erreur provient du fait que tu concatènes quelque chose à une variable non intialisée. Ajoute une initialisation avant la boucle et ça marchera sans doute mieux.
Code :
1
2
3
4
5
$reussi = '';
for ($i = 0,  $list = count($_POST['ZLMail']); $i < $list; $i++)
{
  $reussi .= $_POST['ZLMail'][$i];
}
et aussi Comment extraire les valeurs d'un SELECT multiple ?
__________________
Modératrice PHP
Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)

Pour afficher votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur)
Celira est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/08/2007, 13h37   #3
Futur Membre du Club
 
Inscription : juin 2007
Messages : 79
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 79
Points : 19
Points : 19
Bonjour,

Merci pour la réponse.

La variable $reussi est déjà initialisée dans la partie générale de la page. Je viens de la glissé dans la partie if(isset$POST[]) et cela revient au même.

Je désespère.

Christian.
christgh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/08/2007, 14h53   #4
Futur Membre du Club
 
Inscription : juin 2007
Messages : 79
Détails du profil
Informations forums :
Inscription : juin 2007
Messages : 79
Points : 19
Points : 19
J'ai trouvé, grâce à vous. Différentes coquille polluaient mon code. Merci.
christgh 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 04h03.


 
 
 
 
Partenaires

Hébergement Web