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 :

$_POST renvoi X fois la même valeur


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    512
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Juin 2007
    Messages : 512
    Points : 97
    Points
    97
    Par défaut $_POST renvoi X fois la même valeur
    Bonjour,

    je suis en train depuis un petit moment d'essayer de comprendre pourquoi mon $_POST["choix_entite"] me renvoi X fois ma valeur

    Voici mon code
    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
     
    if(!$ENTITE_CORRESPOND)
    				{
    				//$req_ent= "SELECT id_entite,nom_entite FROM entites";
    				//$res_ent=mysql_query($req_ent);
    				//$ent=mysql_fetch_array($res_ent);
    				echo "<p>Légende : </p>";
    				echo "<p>Entité 5 : DCECL, Entité 6 : DCPP GC.</p>";
     
    				if($entite==6)
    				{
    				$pos=strpos($entites_bd,'5');
     
    				if($pos!='')
    				{
    				if(strpos($entites_bd,rtrim($entite,'"'))===false)
    				{
    				echo "<p><input type=\"radio\" name=\"choix_entite\" value=\"".$entites_bd.",8\">entité possible: \"5,".rtrim($entite,'"')."\"</p>";	
    				echo '<p><input type="radio" name="choix_entite" value=\"'.rtrim($entite,'"').'\">entité indiquée dans le fichier: "'.rtrim($entite,'"').'"</p>';
    				echo "<p><input type=\"radio\" name=\"choix_entite\" value=\"NO_MODIF\">Ou ne pas modifier: \"5\"</p>";
    				}
    				}
    				}
    				if($entite==5)
    				{
    				$pos=strpos($entites_bd,'6');
    				if($pos!='')
    				{
    				if(strpos($entites_bd,rtrim($entite,'"'))===false)
    				{
    				echo "<p><input type=\"radio\" name=\"choix_entite\" value=\"".$entites_bd.",8\">entité possible: \"6,".rtrim($entite,'"')."\"</p>";	
    				echo '<p><input type="radio" name="choix_entite" value="'.rtrim($entite,'"').'">entité indiquée dans le fichier: "'.rtrim($entite,'"').'"</p>';
    				echo "<p><input type=\"radio\" name=\"choix_entite\" value=\"NO_MODIF\">Ou ne pas modifier: \"6\"</p>";
    				}
    				}
    				}
    				echo "<hr/>";
    				}
    Et voici mon résultat lorsque je fais echo $_POST["choix_entite"];

    3,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,83,5,7,8

    Dans la logique ma valeur devrait être 3,5,7,8 uniquement
    Est-ce qu'on peut m'expliquer pourquoi cela pourrait faire ça? MErci

  2. #2
    Membre expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Points : 3 390
    Points
    3 390
    Par défaut
    Bonjour,

    Et la valeur de $entites_bd, c quoi ?
    Meuuh en AI à l'INRA
    Domaines: {java, php, js, jquery}{hibernate, doctrine}{MyLib, symfony, Zend}
    fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes (balise à cliquer en bas de l'écran)

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    512
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Juin 2007
    Messages : 512
    Points : 97
    Points
    97
    Par défaut
    cela provient de ma base de données. ce formulaire permet à l'utilisateur de modifier les données de ma base selon ce qu'il coche. Soucis c'est que pour faire les modif je me base sur la valeur de mon $_POST mais comme il retourne X fois la valeur cela ne marche pas

  4. #4
    Membre expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Points : 3 390
    Points
    3 390
    Par défaut
    Oui, je comprends bien

    Mais pour n'importe quelle case cochée, tu as le même post ?

    Et puis manque un '/>' à la fin de chaque radio, non!
    Meuuh en AI à l'INRA
    Domaines: {java, php, js, jquery}{hibernate, doctrine}{MyLib, symfony, Zend}
    fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes (balise à cliquer en bas de l'écran)

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    512
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Juin 2007
    Messages : 512
    Points : 97
    Points
    97
    Par défaut
    non non il repère bien quelle case est cochée mais il prends X fois la valeur

  6. #6
    Membre expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Points : 3 390
    Points
    3 390
    Par défaut
    Donc la value du $_POST["choix_entite"] est tjs 3,5,7,83,5,7,83,5,7,83....
    Meuuh en AI à l'INRA
    Domaines: {java, php, js, jquery}{hibernate, doctrine}{MyLib, symfony, Zend}
    fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes (balise à cliquer en bas de l'écran)

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    512
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Juin 2007
    Messages : 512
    Points : 97
    Points
    97
    Par défaut
    non soit c'est 3,5,7,83,5,7,8...Etc
    soit c'est 6666666666666666666666666666666...Etc
    soit NO_MODIFNO_MODIF...etc

    et je voudrais juste 3,5,7,8 ou 6 ou NO_MODIF

  8. #8
    Membre expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Points : 3 390
    Points
    3 390
    Par défaut
    OK

    C trop fort ton truc !!!!!!!

    Sauf si il y a une boucle qq part mais d'après ton code non

    Sinon, si personne trouve la solution, j'aurais essayé de faire ton même bout de code mais simplifié au max genre:
    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
     
       echo "<p>Légende : </p>";
       echo "<p>Entité 5 : DCECL, Entité 6 : DCPP GC.</p>";
     
       if($entite==6) {
             $pos=strpos($entites_bd,'5');
     
             if($pos!='') {
    	  if(strpos($entites_bd,rtrim($entite,'"'))===false) {
    		echo "<input type=\"radio\" name=\"choix_entite\"     value=\"".$entites_bd.",8\">;	
    		echo '<p><input type="radio" name="choix_entite" value=\"'.rtrim($entite,'"').'\">;
    		echo "<p><input type=\"radio\" name=\"choix_entite\" value=\"NO_MODIF\">;
    	  }
              }
        }
    En ne prenant que le cas 6 et en virant tes paragraphes .... et voir le résultat
    Parceque à part ça, je vois pas désolé
    Meuuh en AI à l'INRA
    Domaines: {java, php, js, jquery}{hibernate, doctrine}{MyLib, symfony, Zend}
    fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes (balise à cliquer en bas de l'écran)

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    512
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Juin 2007
    Messages : 512
    Points : 97
    Points
    97
    Par défaut
    Tu n'as qu'une petite partie du code...Cette partie est contenue dans une boucle while....en faite je lis un fichier CSV et je fais des comparaison avec ma base. ces comparaisons peuvent donner lieu à des modifs, des ajouts, des suppression.

    Je suis en train de modifier mon fichier .php car mon fichier CSV a changé. je n'ai pas touché à la boucle et avant cela fonctionnait très bien..............

  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    512
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Juin 2007
    Messages : 512
    Points : 97
    Points
    97
    Par défaut
    je crois que j'ai trouvé d'où ça vient ^^

    le problème est dans un bout de code qui fait le traitement selon la case cochée...c'est une fois la comparaison faite que mon $_POST devrait se vider et ne le fait pas...

  11. #11
    Membre expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Points : 3 390
    Points
    3 390
    Par défaut
    Salut,

    J'aimerais bien voir ce bout de code par curiosité

    J'aimerais bien comprendre ces itérations d'une même chaine

    Merci
    Meuuh en AI à l'INRA
    Domaines: {java, php, js, jquery}{hibernate, doctrine}{MyLib, symfony, Zend}
    fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes (balise à cliquer en bas de l'écran)

  12. #12
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    512
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Juin 2007
    Messages : 512
    Points : 97
    Points
    97
    Par défaut
    Le voilà,

    d'après les tests ça marche

    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
     
    $ENTITE_CORRESPOND=false;
    			echo $_POST["choix_entite"];
    			if(rtrim($entite,'"')==$entites_bd)$ENTITE_CORRESPOND=true;
    			else
    			{
    					//si le formulaire de choix a été rempli
    				if (isset($_POST["choix_entite"]))
    					{
    					//si l'utilisateur a choisit de modifier les valeurs en BD
    					if($_POST["choix_entite"]!="NO_MODIF")
    						{
    						$requete="UPDATE agents SET id_entites='".$_POST["choix_entite"]."' WHERE nni='$nni'";
    						echo $requete;
    						connect_BD();
    						$sql=mysql_query($requete);
    						if($sql)	//La requete de modification a réussi
    							{
    							fwrite($fichier_LOG,"[MODIFICATION DE L'ENTITE] [NNI: \"".$result_BD['nni']."\" ] [Entites: \"".$result_BD['id_entites']."\" devient: \"".$_POST["choix_entite"]."\"]\n");
    							}
    						}
    				$ENTITE_CORRESPOND=true;
    				unset($_POST["choix_entite"]);
    				}
    				else if(($entites_bd=="")||($entites_bd==null))
    					{
    						$requete="UPDATE agents SET id_entites='".rtrim($entite,'"')."' WHERE nni='$nni'";
    						connect_BD();
    						$sql=mysql_query($requete);
    						if($sql)	//La requete de modification a réussi
    							{
    							fwrite($fichier_LOG,"[MODIFICATION DE L'EMAIL] [NNI: \"".$result_BD['nni']."\" ] [Email: \"".$result_BD['email']."\" devient: \"".rtrim($entite,'"')."\"]\n");
    							}
    						$ENTITE_CORRESPOND=true;
    					}
    				}
    le unset était juste mal placé

  13. #13
    Membre expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Points : 3 390
    Points
    3 390
    Par défaut
    Bon bein si tu as trouvé c cool

    Je vois pas trop l'utilité de ton unset dans ton code car je vois pas le problème de la concaténation de tes X chaines.

    Le principal est que tu sois ok sur ton pg donc A+


    Meuuh en AI à l'INRA
    Domaines: {java, php, js, jquery}{hibernate, doctrine}{MyLib, symfony, Zend}
    fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes (balise à cliquer en bas de l'écran)

  14. #14
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    512
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Juin 2007
    Messages : 512
    Points : 97
    Points
    97
    Par défaut
    Et bien dans mon fichier CSV j'ai environ 1000lignes à parcourir et une dizaine de colonne. je trouvais cette façon de faire la plus simple pour moi.

    A+ et merci.

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

Discussions similaires

  1. Recherche par mots clés : afficher qu'une seule fois la même valeur
    Par Zazou48 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 3
    Dernier message: 09/05/2013, 15h30
  2. Réponses: 2
    Dernier message: 05/07/2012, 11h59
  3. Insérer plusieurs fois la même valeur
    Par chalmou dans le forum SQL
    Réponses: 9
    Dernier message: 15/04/2010, 12h30
  4. [PHP 5.1] Mon tableau renvoie deux fois la même valeur
    Par Sebastien14 dans le forum Langage
    Réponses: 8
    Dernier message: 19/02/2010, 09h10
  5. Ne pas avoir deux fois la même valeurs
    Par diki38 dans le forum Débuter avec Java
    Réponses: 2
    Dernier message: 11/01/2010, 11h45

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