Formulaire PHP chez online et choix multiples

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 : Formulaire PHP chez online et choix multiples

par Cyrano » 06 janv. 2006, 22:33

Pour récupérer toutes les valeurs d'un choix multiple, essaye avec ça:
<?php
$choix = isset($_POST['choix']) ? $_POST['choix'] : "";
if(!empty($choix))
{
    $nb = count($choix);
    echo("<ul>\n");
    for($i = 0; $i < $nb; $i++)
    {
        echo("<li>". $choix[$i] ."</li>\n");
    }
    echo("</ul>\n");
}
?>
Note également que la formulation $HTTP_POST_VARS est obsolète, j'ai utilisé une formulation correcte. C'est valable pour $_GET au lieu de $HTTP_GET_VARS

Formulaire PHP chez online et choix multiples

par nini » 06 janv. 2006, 19:54

J'ai besoin d'aide pour un petit problème de récupération de données
d'une liste en choix multiples dans un formulaire PHP (hébergé chez online) il me récupère que la dernière valeur sélectionnée.

Merci de m'aider
Je sais qu'il faut peut être mettre les [] dans le select <select name="choix[]" size="3" multiple> mais après du côté du PHP je ne sais pas ????

Je vous donne le code select de la page HTML :
<select name="choix[]" size="3" multiple>
                              <option value="1">choix1
                              <option value="2">choix2
                              <option value="3">choix3
                              <option value="4">choix4
                              <option value="5">choix5
                                     
</select>
Voici le code PHP donné chez online qui récupére tout sauf les valeurs multiples (il ne prend que la dernière sélectionnées)

<?php


$dest="[email protected]";
$referer= getenv("HTTP_REFERER");

$ok=1;

if($ok){

 $sujet= "Form2Mail de ".$referer;
 $body.="Page d'origine : $referer\n";
 $body.="\n*** Valeurs resultats ***\n";

 if(count($HTTP_POST_VARS)){
    while (list($key, $val) = each($HTTP_POST_VARS)){
       $body.="$key : $val\n";
    }
 }

 if(count($HTTP_GET_VARS)){
    while (list($key, $val) = each($HTTP_GET_VARS)){
      $body.="$key : $val\n";
    }
 }

 $body.="*************************\n";
 if(!email("webmaster",$dest,$sujet,$body)){
     print "erreur envoi email <br>";
 }

?>