Pb php formulaire

Fermé
isis59 - 15 juin 2009 à 14:57
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 - 15 juin 2009 à 16:49
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 502 Date d'inscription jeudi 14 mai 2009 Statut Membre Dernière intervention 10 mars 2010 46
15 juin 2009 à 14:59
Vire les crochets dans : <select name="diplome[]" MULTIPLE SIZE=5>
0
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
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 dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
15 juin 2009 à 15:36
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
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 dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
15 juin 2009 à 15:52
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
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
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
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 dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
15 juin 2009 à 16:17
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 dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
15 juin 2009 à 16:49
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