recuperer la valeur ainsi que le texte d'un formulaire select php

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : recuperer la valeur ainsi que le texte d'un formulaire select php

Re: recuperer la valeur ainsi que le texte d'un formulaire select php

par ewen » 31 déc. 2015, 10:53

merci beaucoup , bonne année à toi et à tous les membres de ce superbe site internet

Re: recuperer la valeur ainsi que le texte d'un formulaire select php

par @rthur » 30 déc. 2015, 19:48

Le message d'erreur est plutôt explicite.
Notice: Undefined index: couleurs in /Applications/MAMP/htdocs/essaiformulaire/traitementcouleur.php on line 12
D'abord, il faut identifier où se situe le problème.
Là c'est clair, c'est dans le fichier traitementcouleur.php à la ligne 12
C'est donc la ligne suivante qui pose problème :
$clef = $_POST['couleurs'];
Et le problème est "Undefined index: couleurs"
Dit autrement : "couleurs" n'existe pas dans $_POST

Il faut donc que tu testes l'existence de $_POST['couleurs'] avant de l'appeler pour la mettre dans $clef

Re: recuperer la valeur ainsi que le texte d'un formulaire select php

par ewen » 30 déc. 2015, 19:38

j'ai réussi à part un problème au démarrage de la page où il me marque :

Notice: Undefined index: couleurs in /Applications/MAMP/htdocs/essaiformulaire/traitementcouleur.php on line 12

Notice: Undefined index: couleurs in /Applications/MAMP/htdocs/essaiformulaire/traitementcouleur.php on line 13

Notice: Undefined index: in /Applications/MAMP/htdocs/essaiformulaire/traitementcouleur.php on line 13
<?php
$couleurs =array('Couleur verte','Couleur bleue', 'Couleur rouge','Couleur violet','Couleur jaune','Couleur rose','Couleur verte','Couleur marron','Couleur noir');
  

 if(isset($_POST['couleurs']))
{
	echo ($_POST['couleurs']);
	
	echo $couleurs[$_POST['couleurs']];
}

$clef = $_POST['couleurs'];
$valeur = $couleurs[$_POST['couleurs']];
?>
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>Document sans nom</title>
<body>




<form method="post" action="" name="formulaire">
 <select name="couleurs">
<option value="">entrez la valeur</option>
<?php
foreach($couleurs as $key => $couleur):
echo '<option value="'.$key.'">'.$couleur.'</option>'; //close your tags!!
endforeach;
?>
</select>
<p><input type="submit" name"envoyer"></p>
<?php 






echo 'la clef est ' . $clef .' et la valeur est '. $valeur;

 ?>
</body>
</html>

Re: recuperer la valeur ainsi que le texte d'un formulaire select php

par or 1 » 29 déc. 2015, 22:42

tiens, j'ai plutôt l'impression qu'en disant
print $resumes[$_POST['resumes']];
tu l'as bien donné la solution ;-)

Re: recuperer la valeur ainsi que le texte d'un formulaire select php

par @rthur » 29 déc. 2015, 20:44

pourrais tu être plus explicite svp
Euh bah si tu as lu le tutoriel de la doc sur les tableaux que je t'ai donné plus haut + ce que je t'ai dit, je vois mal ce que je peux te dire de plus.

As-toi de me dire ce que tu ne comprends pas, ce que tu as essayé et les messages d'erreurs éventuellement rencontrés.


Si ta question c'est "est-ce que tu peux le faire à ma place ?", la réponse est non, désolé.

Re: recuperer la valeur ainsi que le texte d'un formulaire select php

par ewen » 29 déc. 2015, 17:22

pourrais tu être plus explicite svp

Re: recuperer la valeur ainsi que le texte d'un formulaire select php

par @rthur » 29 déc. 2015, 12:50

Ton <select> renvoie donc la valeur de la clé (=l'index) de ton tableau avec les libellés.

Donc si tu appelles ton tableau en lui passant la clé récupérée, ça devrait t'afficher le libellé correspondant :
print $resumes[$_POST['resumes']];
Par contre si je peux me permettre une remarque ce n'est pas très malin d'appeler de la même façon la variable qui contient l'id que tu reçois en $_POST et ton tableau qui contient les libellés.
Ça fonctionne, mais c'est moyennement clair quand tu va relire ton code plus tard.

Re: recuperer la valeur ainsi que le texte d'un formulaire select php

par ewen » 29 déc. 2015, 12:10

j'ai crée un tableau mais je n'arrive toujours pas à récupérer la clef et la valeur texte merci




$resumes =array(1=>'Couleur verte','Couleur bleue', 'Couleur rouge','Couleur violet','Couleur jaune','Couleur rose','Couleur verte','Couleur marron','Couleur noir');
 
     if(isset($_POST['resumes']))
     {
           echo htmlentities($_POST['resumes']);
     }
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>Document sans nom</title>





<form method="post" action="" name="formulaire">
<select name="resumes" id="resumes">
<?php foreach($resumes as $id => $resume): ?>
<option><?php  $id ?><?php echo $resume ?></option>
<?php endforeach ?>
</select>
<input type="submit" name="envoyer"/>

Re: recuperer la valeur ainsi que le texte d'un formulaire select php

par @rthur » 28 déc. 2015, 10:52

pourrais tu me montrer comment faire avec ta 1° solution ? SVP
Je préfère t'aider pour que tu le fasses toi même, comme ça tu sauras le refaire. :D
Voici la page de la doc avec des exemples pour faire des tableaux : http://php.net/manual/fr/language.types.array.php

Essaye de faire quelque chose et si ça ne marche pas, dis nous où ça bloque.

Re: recuperer la valeur ainsi que le texte d'un formulaire select php

par ewen » 28 déc. 2015, 07:07

pourrais tu me montrer comment faire avec ta 1° solution ? SVP

Re: recuperer la valeur ainsi que le texte d'un formulaire select php

par @rthur » 28 déc. 2015, 00:31

Bonjour,

Avec un <select>, tu ne va récupérer que ce qui est dans value et donc pas le texte associé.
2 possibilités :
- soit tu fais un tableau en PHP qui fait la correspondance entre tes ID et leur libellé, et donc quand tu reçoit l'ID en $_POST, tu peux retrouver le libellé
- soit tu ajoute le libellé dans value avec un séparateur, par exemple |, et dans ton traitement PHP, tu fais un explode() sur le caractère | pour récupérer les 2 infos.

Ma préférence va à la 1ère solution car elle est + sécurisée vu que le libellé sera dans ton script et non pas fourni par l'utilisateur (et donc potentiellement modifiable donc il faudra le filtrer)

recuperer la valeur ainsi que le texte d'un formulaire select php

par ewen » 27 déc. 2015, 19:18

Bonjour, je souhaite récupérer la valeur numérique de mon formulaire select ainsi que le texte qui y est approprié

merci d'avance , je galère
if(isset($_POST['couleur']))
     {
           echo htmlentities($_POST['couleur']);
     }
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>Document sans nom</title>





<form action="traitement.php" method="post">
<p>
<select name="couleur">
     
     <option value="1" selected="selected">Couleur verte</option>
     <option value="2">Couleur bleue</option>
     <option value="3">Couleur rouge</option>
     <option value="4">Couleur violet</option>
     <option value="5">Couleur jaune</option>
     <option value="6">Couleur rose</option>
     <option value="7">Couleur verte</option>
     <option value="8">Couleur marron</option>
     <option value="9">Couleur noir</option>
     
     
     
</select></p>
<p><input type="submit" value="Envoyer" /></p>
</form>