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 :

Mauvaises valeurs retournées depuis formulaire


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Inscrit en
    Octobre 2008
    Messages
    104
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 104
    Points : 70
    Points
    70
    Par défaut Mauvaises valeurs retournées depuis formulaire
    Bonjour,

    J'ai beau lire et relire ce code mais je ne vois plus ou est ce que ça cloche, surtout que ça marchait bien vendredi.
    Mon problème c'est que les valeurs saisies dans mon formulaire ne sent pas pris en considération.
    Le formulaire pour modifier (ou ajouter selon un parametre)

    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
    <td id="col2" colspan="2">
    <?php 
    	if($lg['id_tache']!='')
    	   $q = "select * from partenaire_tache where id_tache=".$lg['id_tache'];
    	else   $q = "select * from partenaire_tache where id_tache=0";
    	        $r = execreq($q);
    		$nbrpart=0;
    ?>
    <table id="tabpart" width="100%" border="1">
    <?php
    	while($l=mysql_fetch_array($r)){  ?>
    		<tr>
                     <td><?php echo $nbrpart+1 ;?> (part<?php echo $nbrpart; ?>)- <input type="text" name="part<?php echo $nbrpart; ?>" id="part<?php echo $nbrpart; ?>" value="<?php echo $l['nom']; ?>" /><img src="images/supp.gif" onclick="supppart(this.parentNode.parentNode,<?php echo $nbrpart; ?>)" />
                   </td>
                 </tr>
    <?php $nbrpart++;
    }
    ?>
    </table>
    </td>
    <td valign="bottom" ><input type="text" id="nbrpart" name="nbrpart" value="<?php echo $nbrpart  ?>"/>
    j'utilisais avant pour les zone de texte name="part[]" mais j'ai changé après l'apparition des erreures.

    Récuperation des données dans la 2ieme page:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    echo $_POST['nbrpart'].'<br />';
    for($i=0;$i<$_POST['nbrpart'];$i++){
    	//if(isset($_POST['part'.$i]) )
    	echo $_POST['part'.$i]." * ";
    }
    Je signale que je peux ajouter ou retirer d'autre champs avec javascript d'ou l'utilité du champ nbrpart. (un compteur) , il contient les bonne valeurs quand je l'affiche.
    mais echo $_POST['nbrpart'].'<br />'; dans la 2ieme page affiche la valeur initiale 0 si c'est un ajout ou le nombre d'enregistrements déjà existants si c'est une modification.
    Aussi si je fait echo $_POST['part1']." * "; (en m'assurant que le champs existe) ça m'affichera l’ancienne valeur ou champs inexistant si c'est un ajout.

    Merci pour votre aide

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    j'utilisais avant pour les zone de texte name="part[]" mais j'ai changé après l'apparition des erreures.
    reviens a cette méthode, c'est plus propre et ça evite le compteur.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre régulier
    Inscrit en
    Octobre 2008
    Messages
    104
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 104
    Points : 70
    Points
    70
    Par défaut
    j'y suis revenu mais le problème persiste encore:
    Si je fait

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $a = $_POST['part'];
    for($i=0;$i<count($a);$i++){
    	//if(isset($_POST['part'.$i]) )
    	echo $a[$i]." * ";
    }
    Le tableau contient toute les valeurs anciennes plus les nouvel valeurs.
    Si j'ai A , B , C et j'ajout un champ d j'aurais comme résultat
    A, B ,C , D, A , B , C

    donc j'ai pensé a utiliser le compteur comme ca:
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $t= $_POST['nbrpart'];
    $a = $_POST['part'];
    for($i=0;$i<=$t;$i++){
    	//if(isset($_POST['part'.$i]) )
    	echo $a[$i]." - ";
    }
    mais comme il garde la valeur initiale alors même si j'ajout un nouveau champs , il ne prendra en considération que le nombre de champs initiale : A , B ,C puis j'ajoute D , j'aurais A,B,C.

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Pour parcourir un tableau on fait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    foreach ($a as $value){
           echo $value;
    }
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre régulier
    Inscrit en
    Octobre 2008
    Messages
    104
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 104
    Points : 70
    Points
    70
    Par défaut
    Oui tu as raison et c'est comme ça que je faisait au début , après quand ça ne marchait plus j ai essayé plusieurs méthodes.
    Que ça soit foreach ou boucle for ça ne change pas le contenu du array!

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Je suis bien d'accord : le problèmes de la multiplication des données vient plutôt de ta fonction javascript.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #7
    Membre régulier
    Inscrit en
    Octobre 2008
    Messages
    104
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 104
    Points : 70
    Points
    70
    Par défaut
    Fonction javascript :
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    function nouveaupart_tache(){
    	var nbr = parseInt(document.getElementById('nbrpart').value)+1;
    	document.getElementById('nbrpart').value =nbr ;
    	var newRow = document.getElementById('tabpart').insertRow(-1);
    	var cel = newRow.rowIndex+' - <input type="text" name="part[]" id="part'+nbr+'"  /><img src="images/supp.gif" onclick="supppart(this.parentNode.parentNode,'+nbr+')" />';
    	var newCell = newRow.insertCell(0);
    	newCell.innerHTML = cel;
    }

    ayayayay je n'ai pas besoin d'ajouter un autre champs pour que les données se multiplient, c'est fait dans tous les cas

  8. #8
    Membre régulier
    Inscrit en
    Octobre 2008
    Messages
    104
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 104
    Points : 70
    Points
    70
    Par défaut
    J'ai trouvé , c'est une condition if mal formulée qui faisait que le formulaire sois crée dans une autre div invisible et c'est le formulaire invisible qui soit utilisé puisqu'il est crée en dernier

    Mercii pour avoir essayé de m'aider

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

Discussions similaires

  1. Réponses: 12
    Dernier message: 08/01/2015, 10h51
  2. [MySQL] valeurs retournées pas un formulaire
    Par tozy88 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 10/03/2008, 16h14
  3. Valeur retournée depuis le Select : 6 au lieu de 06
    Par JackBeauregard dans le forum Langage
    Réponses: 4
    Dernier message: 14/01/2007, 20h35
  4. Réponses: 14
    Dernier message: 26/04/2006, 23h14
  5. [jsp] récuperation de valeur d'un formulaire
    Par peppena dans le forum Servlets/JSP
    Réponses: 12
    Dernier message: 30/03/2004, 21h00

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