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 :

Affichage de données dans les champs


Sujet :

Langage PHP

  1. #1
    Membre actif

    Homme Profil pro
    Software Engineer
    Inscrit en
    Août 2004
    Messages
    173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Août 2004
    Messages : 173
    Points : 220
    Points
    220
    Par défaut Affichage de données dans les champs
    Bonjour,
    Je poste ici car je suis actuellement en train de développer une application en PHP et j'ai un soucis pour afficher des données (provenant d'une base de données MySQL) en valeur par défaut d'un formulaire.
    (Précision je travaille en PHP4 et MySQL 3)

    L'opération se déroule de la façon suivante :

    Je récupère les données de la base de données et les mémorise dans un tableau associatif (avec mysql_fetch_assoc), la requête étant ciblée sur un identifiant il n'y a qu'un seul tuple en résultat.

    J'affiche ensuite des formulaires qui doivent être pré-rempli par les valeurs de la base de données

    Et.. pour certains les données s'afichent bien, d'autre non juste un caractère "<" qui s'affiche a l'intérieur (voir screenshot)

    J'ai afficher le tableau avec un print_r, toute les données nécessaire sont bien dedans, j'ai ensuite fait un copier/coller d'un echo $data['nomduchamp'] qui marche pas hors du formulaire, la donnée s'affiche correctement .
    J'en déduis que le probleme vient du formulaire, mais les premiers fonctionnent pourtant très bien ..

    Voici le code d'un formulaire qui marche
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <label>Telephone : </label><input name="tel" type="text" value="<?php echo $data['telephone']?>" />
    				<?php echo $tel_non_valide,$tel_vide;?>
    Et le code d'un formulaire ne fonctionnant pas( affichant "<")
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <label>Propriétaire du lieu : </label><input name="prop_lieu" type="text" value="<?php echo $data['proprietaire_lieu']?>" />
    				<?php echo $prop_lieu_non_valide,$prop_lieu_vide; ?>
    Globalement voici le code d'un fieldset complet ne fonctionnant pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <fieldset>
    		<legend>Elements juridiques</legend>
    			<p>
    				<label>Propriétaire du lieu : </label><input name="prop_lieu" type="text" value="<?php echo $data['proprietaire_lieu']?>" />
    				<?php echo $prop_lieu_non_valide,$prop_lieu_vide; ?>
    				<br /><label>Nom de la structure gestionnaire : </label><input name="nom_str_ges" type="text" value="<?php echo $data['nom_structure_gestionnaire']?>" />
    				<?php echo $nom_str_ges_non_valide,$nom_str_ges_vide; ?>
    				<br /><label>Statut de la structure gestionnaire : </label><input name="statut_str" type="text" value="<?php echo $data['statut_str']?>" />
    				<?php echo $statut_str_non_valide,$statut_str_vide;?>
    			</p>
    	</fieldset>
    et le screenshot du résultat :


    Si vous avez une solution

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 235
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 235
    Points : 15 532
    Points
    15 532
    Par défaut
    pour mettre les valeurs dans les champs, tu dois utiliser ce qui est expliqué ici :
    http://php.developpez.com/faq/?page=...rite-failleXSS

  3. #3
    Membre actif

    Homme Profil pro
    Software Engineer
    Inscrit en
    Août 2004
    Messages
    173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Août 2004
    Messages : 173
    Points : 220
    Points
    220
    Par défaut
    J'ai pas vaiment compris le rapport avec mon problème sur ce coup.

    Si jamais, les données qui doivent être affichée ne peuvent pas contenir de caractères spéciaux, elles sont vérifiées lors d'une saisie
    Donc les données à afficher sont de simple chaine de caractère alphanumérique.

  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
    A priori, tes données contiennent pourtant parfois des guillemets, ce qui "coupe" le code HTML.

    Ce que t'indique mathieu c'est de "proteger" le texte afficher par htmlspecialchars() ou htmlentities() ce qui permet à la fois a l'utilisateur de saisir des guillemets et à toi de les affichier.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre actif

    Homme Profil pro
    Software Engineer
    Inscrit en
    Août 2004
    Messages
    173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Août 2004
    Messages : 173
    Points : 220
    Points
    220
    Par défaut
    Ben justement non elles ne contiennent pas de guillemet.
    Dans le doute j'ai tout de même vérifié les données en clair via phpmyadmin, et il n'y a aucun caractère de ce genre nulle part.

    D'autre part j'utilise déjà htmlentities() et addslashes() lorsque je récupère les données après une saisie.

    Du coup je suis un peu perdu


    Edit : toujours dans le doute et parce que ca coûte pas grand chose j'ai recollé un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    htmlentities($string,ENT_QUOTES,'ISO-8859-1')
    lors de l'affichage, le problème est toujours le même.

  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
    Est-ce qu'on pourrait voir le code de la partie qui pose probleme et son resultat html ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #7
    Membre actif

    Homme Profil pro
    Software Engineer
    Inscrit en
    Août 2004
    Messages
    173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Août 2004
    Messages : 173
    Points : 220
    Points
    220
    Par défaut
    Bon je viens relire en détail tout le code de la page, et au final je suis un boulet .

    Juste avant que les formulaires ne commence a ne plus s'afficher correctement j'ai en fait un appel à la base de données pour créer une liste à partir d'une table... sauf que la variable qui reçoit la liste n'est autre que celle qui contenait le tableau de données ..

    Bon ben voilà désolé du dérangement :/

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

Discussions similaires

  1. Réponses: 9
    Dernier message: 11/05/2014, 18h17
  2. [AC-2007] affichage de données dans un champ à partir d'un choix d'une liste déroulante
    Par Joebar-3 dans le forum Requêtes et SQL.
    Réponses: 0
    Dernier message: 07/07/2009, 10h43
  3. [MySql/c#]Affichage de donnée dans les texts fields
    Par nostalamigo dans le forum Windows Forms
    Réponses: 16
    Dernier message: 11/03/2009, 12h16
  4. Affichage dans les champs d'un formulaire
    Par perlgirl dans le forum Langage
    Réponses: 2
    Dernier message: 25/08/2006, 16h40
  5. inserer de longues donn dans les champs
    Par zorian dans le forum Outils
    Réponses: 5
    Dernier message: 29/06/2006, 20h39

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