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 :

Script qui fonctionne dans un formulaire mais pas dans un autre


Sujet :

Langage PHP

  1. #1
    Membre habitué Avatar de monlou
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    363
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2010
    Messages : 363
    Points : 144
    Points
    144
    Par défaut Script qui fonctionne dans un formulaire mais pas dans un autre
    Bonjour à tous,

    Depuis 1 semaine, j'essaie de solutionner une affaire de plus bizarre que j'ai vue à date et j'aimerais avoir des avis sur ce cas.

    J’ai 2 formulaires modification membres qui font a peu près la même chose soit la mise à jour des infos du membre selon sa catégorie de membre.

    Au début de chaque formulaire, je fais une requête SELECT mysql pour faire sortir les infos qui ont été enregistres dans la table pour ainsi afficher dans les cases du formulaire et rappeler au membre ce qu'il y a dans son dossier de membre.

    Jusque-là tout va bien

    Mais il y a un champ select dans un des formulaires qui n'affiche pas la valeur comparée de la requête et ça fonctionne dans l'autre.

    Chaque formulaire est relié à une table distincte

    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
     select name="province" id="province">
    			<?php
    			$List = array("alberta"=>"Alberta" , "colombie_britanique"=>"Colombie Britanique" , "manitoba"=>"Manitoba" , "nouveau_brunswick"=>"Nouveau-Brunswick" ,
    			"ile_du_prince_edouard"=>"Ile du Prince Edouard" , "ontario"=>"Ontario" , "nunavut"=> "Nunavut" , "nouvelle_ecosse"=>"Nouvelle-Ecosse" , "saskatchewan"=>"Saskatchewan" ,
    			"quebec"=>"Quebec" , "terre_neuve_labrador"=>"Terre-Neuve, Labrador" , "yukon"=>"Yukon" , "terr_nord_ouest"=>"Territoires du Nord Ouest", "autre"=>"Autre");
     
    				$ProvinceSelect = $_province;
     
    					foreach ($List as $cle =>$valeur) {
     
    					$selected = ($cle ==  $ProvinceSelect) ? 'selected="selected"' : "";
    					echo '<option value="' . $cle . '"' . $selected .'>' . $valeur . '</option>';
     
    		}
     
    	?>
          </select>
    Dans un ça affiche Alberta soit la première valeur du tableau et dans l'autre tout est ok!!

    Les questions que je me pose maintenant sont:

    1- Est-ce que ma table serait contaminée?
    Pourtant que je fais écho sur la requête, ça affiche bien la valeur désirée mais pas dans le select

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $_province = $info['province'];
    echo $_province;
    2- ou mon formulaire serait-il contaminé?

    Ou je ne sais pas quoi d'autres.

    Merci

  2. #2
    Membre émérite Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Points : 2 566
    Points
    2 566
    Par défaut
    Bonsoir,

    à priori tu sembles cibler le problème comme étant un problème SQL mais tu nous montres pas de code SQL...?

    Sinon, peu probable que ça vienne de là mais il te manques un espace avant , il est collé à ta variable De plus par convention on écrit les variables en camel case (minuscule pour commençer suivi de majuscules pour chaque début de mot cestUnExemple)

  3. #3
    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
    Une méthode simple pour débuguer :

    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
    <select name="province" id="province">
                <?php
                $List = array("alberta"=>"Alberta" , "colombie_britanique"=>"Colombie Britanique" , "manitoba"=>"Manitoba" , "nouveau_brunswick"=>"Nouveau-Brunswick" ,
                "ile_du_prince_edouard"=>"Ile du Prince Edouard" , "ontario"=>"Ontario" , "nunavut"=> "Nunavut" , "nouvelle_ecosse"=>"Nouvelle-Ecosse" , "saskatchewan"=>"Saskatchewan" ,
                "quebec"=>"Quebec" , "terre_neuve_labrador"=>"Terre-Neuve, Labrador" , "yukon"=>"Yukon" , "terr_nord_ouest"=>"Territoires du Nord Ouest", "autre"=>"Autre");
     
                    $ProvinceSelect = $_province;
     
                        foreach ($List as $cle =>$valeur) {
     
                        $selected = ($cle ==  $ProvinceSelect) ? 'selected="selected"' : "";
                        echo '<option value="' . $cle . '"' . $selected .'>' . $valeur . ' - ' . $cle;
                        echo ($cle ==  $ProvinceSelect) ? " pareil que " : " différent de "; }
                        echo $ProvinceSelect . '</option>';
     
            }
     
        ?>
          </select>

  4. #4
    Membre habitué Avatar de monlou
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    363
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2010
    Messages : 363
    Points : 144
    Points
    144
    Par défaut
    sabotage

    j'ai bien fait ton test de débuggage mais je ne sais pas comment l'interpréter

    ça affiche chacune des valeurs associés avec la clef et est différent de

    et le dernier n'affiche rien

  5. #5
    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
    Ton ne contient donc rien.

  6. #6
    Membre habitué Avatar de monlou
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    363
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2010
    Messages : 363
    Points : 144
    Points
    144
    Par défaut
    excuse-moi sabotage, je commence a mieux comprendre ton truc la!!
    apres vérification ca affiche

    Nouveau-Brunswick-nouveau_brunswick différent de nouveau_brunswick
    et la syntaxe est pourtant pareil

  7. #7
    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
    On peut imaginer un caractere invisible :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo ($cle ==  trim($ProvinceSelect)) ? " pareil que " : " différent de "; }

  8. #8
    Membre habitué Avatar de monlou
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    363
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2010
    Messages : 363
    Points : 144
    Points
    144
    Par défaut
    merci des millions de fois sabotage,

    c'était ça le problème!!


    Maintenant crois tu que ça viendrait de la table?

  9. #9
    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
    Il faudrait quand même que tu regardes pourquoi tu as un caractère parasite.

  10. #10
    Membre habitué Avatar de monlou
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    363
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2010
    Messages : 363
    Points : 144
    Points
    144
    Par défaut
    Il faudrait quand même que tu regardes pourquoi tu as un caractère parasite
    moi aussi, j'aimerais bien savoir pourquoi mais comment?

    quand a la table, si j'essaie avec une nouvelle table et sans utiliser trim, ca me donnerait la réponse si elle est positive bien entendu

  11. #11
    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
    C'est au moment de l'insertion des données que se situe le problème.
    Je ne sais pas d'ou viennent les données mais le caractère est peut etre déjà la a l'orgine, un retour chariot dans un fichier texte par exemple.

  12. #12
    Membre habitué Avatar de monlou
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    363
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2010
    Messages : 363
    Points : 144
    Points
    144
    Par défaut
    tu avais tout à fait raison sabotage

    c'était au niveau de l'insertion

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    VALUES ('" . $nom . "', '" . $prenom . "', '" . $adresse . "', '" . $ville . "', '" . 
                $pays . "' ,' " . $province . "', etc..
    au lieu de


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

Discussions similaires

  1. Script qui fonctionne dans un onglet mais pas dans un popup
    Par lwolf dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 29/08/2012, 20h13
  2. [XL-2007] Macro qui fonctionne sur un poste mais pas sur un autre
    Par Runsh63 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 08/06/2012, 10h24
  3. Réponses: 0
    Dernier message: 24/06/2010, 15h10
  4. Réponses: 3
    Dernier message: 30/07/2008, 11h56
  5. [RegEx] Regex qui fonctionne dans un preg_replace mais pas dans un ereg
    Par méphistopheles dans le forum Langage
    Réponses: 4
    Dernier message: 31/03/2007, 11h56

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