Rechercher : dans
Par :

Pb php formulaire

Dernière réponse le 15 jun 2009 à 16:49:10 isis59, le 15 jun 2009 à 14:57:57 
 Signaler ce message aux modérateurs

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)";
}

Configuration: Windows 2003 Internet Explorer 7.0

Meilleures réponses pour « pb php formulaire » dans :
[PHP] Upload de fichiers VoirLe langage PHP permet de gérer des fichiers envoyés (uploadés) grâce à un formulaire HTML. Formulaire d'envoi de fichiers Configuration de PHP pour permettre l'upload Récupération du fichier avec PHP Formulaire d'envoi de fichiers La...
[Webmaster] Un formulaire de contact pour votre site VoirCe formulaire permet d'avoir une page pour être contacté sur son site, sans utiliser de logiciel de messagerie. La personne qui vous contacte indique son adresse, l'objet du message et son message (évidemment). Le code est une version...
PHP - Récupération de données VoirPHP rend très simple la récupération de données envoyées par l'intermédiaire de formulaires HTML. Création d'un formulaire Grâce à la balise FORM du langage HTML, il est très simple de créer des formulaires comprenant : des champs de saisie des...

1

Ozimandias, le 15 jun 2009 à 14:59:16

Vire les crochets dans : <select name="diplome[]" MULTIPLE SIZE=5> Deux intellectuels assis vont moins loin qu'une brute qui marche.
!!! Vous avez obtenu une réponse ... Pensez à marquer vos sujets comme résolus !!!

!! Pensez à marquer les sujets Résolus !!

Répondre à Ozimandias

2

isis59, le 15 jun 2009 à 15:18:10

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

Répondre à isis59

3

isis59, le 15 jun 2009 à 15:21:00

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

Répondre à isis59

4

Alain_42, le 15 jun 2009 à 15:36:06

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']

Répondre à Alain_42

5

isis59, le 15 jun 2009 à 15:44:42

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']

Répondre à isis59

6

Alain_42, le 15 jun 2009 à 15:52:42

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

Répondre à Alain_42

7

isis59, le 15 jun 2009 à 15:57:01

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

Répondre à isis59

8

isis59, le 15 jun 2009 à 15:58:30

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

Répondre à isis59

9

isis59, le 15 jun 2009 à 16:11:55

C'est bon ça fonctionne,il fallait simplement remplacer le + par >= dans le foreach ^^


Meci beaucoup et bonne journée a tous

Répondre à isis59

10

Alain_42, le 15 jun 2009 à 16:17:38

On ne voit plus on champ diplome ?

esayes en remetant les [] pour voir ce que te donne le print_r ?

Répondre à Alain_42

11

 Alain_42, le 15 jun 2009 à 16:49:10

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 ?????

Répondre à Alain_42