IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

récupération de la valeur d'un champ crée dynamiquement


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 42
    Points : 34
    Points
    34
    Par défaut récupération de la valeur d'un champ crée dynamiquement
    Bonjour,

    J'ai en général aucun soucis avec les formulaires, mais là il y quelque chose qui ne fonctionne pas, et je comprend pas pourquoi...

    J'ai une page "index.php" qui inclu d'autre page en fonction de critère (choix dans le menu entre autre) dont une page "jour.php" qui contient un tableau dynamique avec la liste des utilisateurs dont la dernière colonne est un champ texte modifiable "remarques", il y a egalement un champ caché avec la date du jour traité. Le submit renvoit vers "action.php" qui inclu l'index où je fais le traitement. Le problème c'est qu'il ne récupère pas la valeur de mon champ remarque. La valeur du jour est bien récuperée.

    Jour.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    <?php 
    ...
     
    if($_SESSION['MM_UserGroup']==1){echo '<form id="remarque" name="remarque" method="post" action="action.php"> <input type="hidden" name="jour" id="jour" value="'.$_POST['jour'].'" />';}
     
    ...
    $query_ptage= "select * from ptage left outer join horraire on ptage.$jour_semaine=horraire.id order by ptage.nom, ptage.jour DESC, ptage.heure";
    $result_ptage= mysql_query($query_ptage,$Infotel) or die("La requête a échoué : ".mysql_error());
    while ($ptage=mysql_fetch_array($result_ptage)){
    $badge=$ptage[1];
     
    ...
     
    if($_SESSION['MM_UserGroup']==1){echo '<td><input type="text" name="'.$badge.'" id="'.$badge.'" value="'.$rem.'" /></td>';}
    else{echo "<td>".$rem."</td>";}
     
    ...
    }
    ...
     
    if($_SESSION['MM_UserGroup']==1){
    echo '<p align="right"><input type="submit" name="remarque" id="remarque" value="Mettre a jour les remarques" /></p>';
    echo '</form>';}
    ?>
    Index.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    <?php 
    ...
     
    if ((isset($_POST['jour'])) and  ($_POST['jour']!='jour')){
    $page=jour;
    if(isset($_POST['remarque'])){
    $jour=$_POST['jour'];
    $query_general= "select badge, id, remarque from ptage where jour='$jour' and jour>=d_contrat AND jour<=d_contrat_fin order by nom, jour, heure";
    $result_general= mysql_query($query_general,$Infotel) or die("La requête a échoué : ".mysql_error());
    while ($general=mysql_fetch_array($result_general)){
    $badge=$general[0];
    $id=$general[1];
    $rem=$general[2];
         echo 'remarque : '.$_POST['$badge'].'<br>';
    if(isset($_POST[$badge]) and ($_POST[$badge]!=$rem)){
    $rem=$_POST[$badge];
         echo $rem.' - '.$badge.' - '.$jour.'<br>';
     
    /* $query_rem= "Update ptage set remarque='$rem' where id='$id' and jour='$jour'";
    mysql_query($query_date,$Infotel) or die("La requête a échoué : ".mysql_error()); */
    }}}}
     
    ...
    Les echos sont là pour les tests. $badge et $jour on bien les valeurs attendues, mais $_POST[$badges] est toujours vide. Les guillemets ne change rien, le fait que le champs "remarque" de la DB soit vide ou pas ne change rien.

    Merci d'avance pour votre aide.

    Nico

  2. #2
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Bonjour

    Dans ce genre de cas, j'ajoute un print_r($_POST) au début de la page de traitement, histoire de voir ce qui passe réellement. Ton $_POST[$badge] est peut-être vide, mais ce qu'il devrait contenir est peut-être passé dans une autre valeur (on ne sait jamais )

    Mais ce que je ne comprends pas bien c'est ce que $badge vient faire dans l'affaire. Ton champ ne s'appelle pas remarque ?

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 42
    Points : 34
    Points
    34
    Par défaut
    Merci pour l'idée du print_r($_POST), il y avait un décalage dans mes champs...

    Le champ à le numero d'identifiant de l'utilisateur($badge), sinon j'aurrais 50 champs s'appelant remarque... "remarque" c'est le nom du submit.

    C'est donc en ordre maintenant! Merci

    Nico

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Récupération de la valeur d'un champ
    Par projetM dans le forum Développement de jobs
    Réponses: 4
    Dernier message: 25/12/2008, 11h34
  2. Récupération de la valeur d'un champ
    Par jakkihm dans le forum Langage
    Réponses: 2
    Dernier message: 12/01/2007, 19h23
  3. Réponses: 22
    Dernier message: 04/09/2006, 12h53
  4. Récupération de la valeur d'un champ au nom variable
    Par Oluha dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 10/02/2005, 15h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo