Pb php formulaire

isis59 -  
Alain_42 Messages postés 5361 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

voila j'ai actuelement un formulaire qui envoie sur une page en php, et une fonction dans cette page qui se sert des infos du formulaire. Le probleme est que lorsque je fait un isset($_POST[diplome]) il renvoie toujours false alors que la donée est bel et bien envoyée. Quelqu'un pourait-il m'aider pliz ^^merci d'avance


dans mon formulaire :

<td colspan='2' align="left">
<select name="diplome[]" MULTIPLE SIZE=5>
<?php
$requeteSql = "select * from diplome";
$resSql = SQLSelect($requeteSql);
while( $row = mysql_fetch_assoc($resSql))
{
print ("<option value=".$row['id_diplome'].">".$row['nom_diplome']."</option>");
}
?>
</select>
</td>


et dans la page php :

if(isset($_POST['diplome']))
{

$Str_Tables = $Str_Tables.", formation ";
$SQL = $SQL." and jeune.id_jeune = formation.id_jeune AND (";

foreach($Id_diplome as $valeur) {
$SQL = $SQL." formation.id_diplome = ".$valeur." OR";
}

$SQL = $SQL." 0=1)";
}

11 réponses

Ozimandias Messages postés 505 Date d'inscription   Statut Membre Dernière intervention   46
 
Vire les crochets dans : <select name="diplome[]" MULTIPLE SIZE=5>
0
isis59
 
désolé pour celui qui a posté une reponse, il y a un bug j'ai beau rafraichir et faire tout ce que je veux, cette reponse ne s'affiche pas
0
isis59
 
ah c'est bon apres avoir repondu j'ai pu lire ta reponse ^^

si j'enleve les crochet, ça ne fonctionne pas non plus. mais les crochets servent a declare diplome comme un tableau, leur present est donc normale je pense
0
Alain_42 Messages postés 5361 Date d'inscription   Statut Membre Dernière intervention   894
 
foreach($Id_diplome as $valeur)

$Id_diplome tu le récupères ou ?

il faut que tu fasses:


if(isset($_POST['diplome']))
{ 
$Id_diplome=$_POST['diplome']; //car ta liste poste un array sous le name=diplome[]

//avant ta boucle foreach


et si dans ta config du php.ini tu as Register_Global à OFF, ce qui est par défaut, les variables postées par un formulaire doivent être récupérées par $variable=$_POST['variable']
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
isis59
 
les autres valeur envoyées pa le formulaires fonctionnent bien donc ça ne viennent pas de php.ini

et le Id_diplome vient d'ici :

ma fonction : RechercheAvancee ($Id_SecteurRecherche, $Id_permis, $Id_programme, $AgeMaxi, $AgeMini, $duree_experience, $niveau_formation, $RTH, $Id_langueparlee, $Id_langueecrit, $niveau_parle, $niveau_ecrit, $mr, $mme, $AgeMini, $AgeMaxi, $Id_diplome)

et quand je l'apelle j'ai fait : RechercheAvancee ($_POST['Id_SecteurRecherche'], $_POST['id_permis'], $_POST['id_programme'], $_POST['AgeMaxi'], $_POST['AgeMini'], $_POST['duree_experience'], $_POST['niveau_formation'], $_POST['rth'], $_POST['id_langueparlee'], $_POST['id_langueecrit'], $_POST['niveau_parle'], $_POST['niveau_ecrit'], $mr, $mme, $_POST['AgeMini'], $_POST['AgeMaxi'], $_POST['diplome']);


tout fonctionne sauf ce $_POST['diplome']
0
Alain_42 Messages postés 5361 Date d'inscription   Statut Membre Dernière intervention   894
 
Je confirme il ne faut pas de [] dans le name d'un select MULTIPLE

si tu le mets ça fait un tableau a deux dimensions

fais un :

echo '<pre>';
print_r($_POST);
echo '</pre>';

pour voir ce que tu reçoit
0
isis59
 
j'ai retiré les [] et voila le tableau $_POST

Array
(
[Id_SecteurRecherche] => 36
[niveau_formation] => 0
[duree_experience] => 0
[id_permis] => 0
[rth] => 0
[AgeMini] => 16
[AgeMaxi] => 26
[id_langueecrit] => 0
[niveau_ecrit] => 0
[id_langueparlee] => 0
[niveau_parle] => 0
[id_programme] => Indifférent
[Btn_rechercher_x] => 44
[Btn_rechercher_y] => 7
)


donc tjr pas de diplome comme vous le voyez. je vois pas trop la :s
0
isis59
 
bon j'ai réssayé, et mintnant on me dit :


Warning: Invalid argument supplied for foreach() in /home/missionl/public_html/cvtheque/MissionLocale/Recherches/Milo_FonctionRechercheAvancee.php on line 40
0
isis59
 
c'est bon ça fonctionne,il fallait simplement remplacer le + par >= dans le foreach ^^


Meci beaucoup et bonne journée a tous
0
Alain_42 Messages postés 5361 Date d'inscription   Statut Membre Dernière intervention   894
 
on ne voit plus on champ diplome ?

esayes en remetant les [] pour voir ce que te donne le print_r ?
0
Alain_42 Messages postés 5361 Date d'inscription   Statut Membre Dernière intervention   894
 
Je viens de faire l'essai avec un petit bout de formulaire, effectivement il faut bien les [] sur le name

si on veut recevoir toutes les options selectionnées dans un array

je ne retrouve ça sur aucun site ?????
0