A voir également:
- Passer tout un select en post
- Passer de windows 7 à windows 10 - Guide
- Passer en azerty - Guide
- Passer un texte en majuscule - Guide
- Mettre un mot de passe sur un dossier - Guide
- Post it windows - Télécharger - Agendas & Calendriers
7 réponses
kadeh
Messages postés
334
Date d'inscription
vendredi 21 décembre 2007
Statut
Membre
Dernière intervention
15 novembre 2012
92
Modifié par kadeh le 6/05/2011 à 23:13
Modifié par kadeh le 6/05/2011 à 23:13
Bonjour,
@+
if(isset($_POST['test']) && !empty($_POST['test'])){ $motcles = $_POST['test']; foreach($motcles as $selectValue){ //affichage des valeurs sélectionnées echo $selectValue."<br/>"; } }
@+
Bonjour,
Merci pour la réponse, mais le problème est que le test ne passe pas, vu que le $_POST['test'] n'est pas initialisé. D'ailleurs lorsque j'arrive à cette page, j'ai une erreur "undefined index : test", avec numero de ligne correspondant à la ligne où j'utilise $_POST['test'];
J'ai plusieurs autres valeurs qui passent en POST, mais pas des tableaux.
Merci
Merci pour la réponse, mais le problème est que le test ne passe pas, vu que le $_POST['test'] n'est pas initialisé. D'ailleurs lorsque j'arrive à cette page, j'ai une erreur "undefined index : test", avec numero de ligne correspondant à la ligne où j'utilise $_POST['test'];
J'ai plusieurs autres valeurs qui passent en POST, mais pas des tableaux.
Merci
kadeh
Messages postés
334
Date d'inscription
vendredi 21 décembre 2007
Statut
Membre
Dernière intervention
15 novembre 2012
92
7 mai 2011 à 22:22
7 mai 2011 à 22:22
Bonjour,
"D'ailleurs lorsque j'arrive à cette page, j'ai une erreur "undefined index : test", avec numero de ligne correspondant à la ligne où j'utilise $_POST['test']; "
c'est normal, il faut vérifier que le formulaire est posté avant de faire $_POST['test']
pouvez-vous poster le script du formulaire et celui de traitement(utiliser la balise code svp)
@+
"D'ailleurs lorsque j'arrive à cette page, j'ai une erreur "undefined index : test", avec numero de ligne correspondant à la ligne où j'utilise $_POST['test']; "
c'est normal, il faut vérifier que le formulaire est posté avant de faire $_POST['test']
pouvez-vous poster le script du formulaire et celui de traitement(utiliser la balise code svp)
@+
Formulaire
Les lignes en gras sont pour utiliser un code javascript permettant une autocomplétion dans ma zone de texte. Mon select se remplit lorsque j'appuie sur le bouton "Ajouter".
Le script où je récupère le poste.
}
<form action="afficher" method="post" name="recherche"> <div class="demo"><div class="ui-widget"> <label for="txt_motcle">Mot clés: </label><br/> <input id="txt_motcle" /> <input type="button" value="Ajouter" id="btn_ajout"/></div></div> <select name="test[]" id="lst_motscles" style="width:200px; display:none;" multiple="multiple"> </select> </form>
Les lignes en gras sont pour utiliser un code javascript permettant une autocomplétion dans ma zone de texte. Mon select se remplit lorsque j'appuie sur le bouton "Ajouter".
Le script où je récupère le poste.
public function index() { print_r($_POST); var_dump($_POST); $nom=$_POST['nomauteur']; $titre=$_POST['titre']; $dept=$_POST['departement']; //code que vous m'avez donné plus tôt if(isset($_POST['test']) && !empty($_POST['test'])){ $motcles = $_POST['test']; foreach($motcles as $selectValue){ //affichage des valeurs sélectionnées echo $selectValue."<br/>"; } }
}
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Utilisateur anonyme
7 mai 2011 à 23:05
7 mai 2011 à 23:05
salut,
Mon select se remplit avec des fonctions javascript, mais je doute que cela change quelque chose...
1. as tu qui sélectionné les options générés par le script javascript ?
car si le select n'a pas de "value" (valeurs sélectionnées) ne t'attend pas à un $_POST['test'] non vide.
2. $_POST['test'] est un tableau mais déjà répond à ma première question.
Mon select se remplit avec des fonctions javascript, mais je doute que cela change quelque chose...
1. as tu qui sélectionné les options générés par le script javascript ?
car si le select n'a pas de "value" (valeurs sélectionnées) ne t'attend pas à un $_POST['test'] non vide.
2. $_POST['test'] est un tableau mais déjà répond à ma première question.
kadeh
Messages postés
334
Date d'inscription
vendredi 21 décembre 2007
Statut
Membre
Dernière intervention
15 novembre 2012
92
7 mai 2011 à 23:31
7 mai 2011 à 23:31
<form action="afficher" method="post" name="recherche">
dans l'attribut "action" on doit indiquer l'adresse du fichier de traitement ou on peut le laisser vide si le traitement se fait sur la même page
- n'oublier pas l'attribut "name" pour récuperer les données du formulaire:
<input id="txt_motcle" />
public function index() { print_r($_POST); // à quoi sert ? var_dump($_POST); // à quoi sert ? $nom=$_POST['nomauteur']; // d'où vient "nomauteur" $titre=$_POST['titre']; // d'où vient "titre" $dept=$_POST['departement']; //d'où vient "departement" //code que vous m'avez donné plus tôt if(isset($_POST['test']) && !empty($_POST['test'])){ $motcles = $_POST['test']; foreach($motcles as $selectValue){ //affichage des valeurs sélectionnées echo $selectValue."<br/>"; } }
- comment vous appelez votre fonction pour afficher les données du formulaire?
- les deux script (formulaire et traitement) sont-ils sur la même page?
essayez en premier lieu cette solution:
1- laissez l'attribut "action" du formulaire vide
2- mettez le code suivant juste avant le formulaire et voyez ce que ça donne
<?php if(isset($_POST['test']) && !empty($_POST['test'])){ $motcles = $_POST['test']; foreach($motcles as $selectValue){ //affichage des valeurs sélectionnées echo $selectValue."<br/>"; } } ?>
@+
var_dump et print_r servent juste à afficher ce que contient $_POST.
Mon script où j'utilise $_POST s'appelle "afficher.php", donc il me semble que l'attribut "action" est bien rempli. D'ailleurs les variables "nomauteur" par exemple proviennent du même formulaire que "test". Il y a uniquement "test" qui ne passe pas.
En laissant l'attribut "action" vide, même problème, uniquement le "test" ne passe pas.
Mon script où j'utilise $_POST s'appelle "afficher.php", donc il me semble que l'attribut "action" est bien rempli. D'ailleurs les variables "nomauteur" par exemple proviennent du même formulaire que "test". Il y a uniquement "test" qui ne passe pas.
En laissant l'attribut "action" vide, même problème, uniquement le "test" ne passe pas.