[RESOLU] problème d'affichage de variable de base de données

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] problème d'affichage de variable de base de données

Re: [RESOLU] problème d'affichage de variable de base de données

par or 1 » 01 mars 2022, 20:57

la solution dans le cas présent n'est pas d'ajouter un global mais de passer aussi la valeur à afficher en paramètre à la fonction.

Re: [RESOLU] problème d'affichage de variable de base de données

par eldudu » 01 mars 2022, 20:16

et le problème était un problème de portée de variable, voir https://www.php.net/manual/fr/language. ... .scope.php
super! je comprends mieux maintenant :-) Merci !

Re: [RESOLU] problème d'affichage de variable de base de données

par eldudu » 01 mars 2022, 20:15

Le code HTML généré n'est pas correct si tu ne mets pas de guillemets autour de la valeur de tes attributs (en particulier placeholder qui peut contenir des espaces et des caractères spéciaux) donc si tu veux éviter les problèmes, mets des guillemets comme je t'ai indiqué. :-D
yes , j'ai fait le mauvais copié/collé! c'est ça qui marche:

Code : Tout sélectionner

$useritem = $user['age']; echo '<tr>'; echo '<td>'; echo "<label>$cellitemlabel :</label>"; echo '</td>'; echo '<td>'; echo "<input type=text name=\"$newcellitemlabel\" placeholder=\"$placeholder\" value=\"$useritem\" /><br /><br />";

Re: [RESOLU] problème d'affichage de variable de base de données

par or 1 » 01 mars 2022, 15:14

et le problème était un problème de portée de variable, voir https://www.php.net/manual/fr/language. ... .scope.php

Re: [RESOLU] problème d'affichage de variable de base de données

par @rthur » 01 mars 2022, 15:12

Le code HTML généré n'est pas correct si tu ne mets pas de guillemets autour de la valeur de tes attributs (en particulier placeholder qui peut contenir des espaces et des caractères spéciaux) donc si tu veux éviter les problèmes, mets des guillemets comme je t'ai indiqué. :-D

Re: problème d'affichage de variable de base de données

par eldudu » 28 févr. 2022, 23:16

merci pour vos réponses :-)
Bon au final j'ai rusé et ça marche comme ça:

Code : Tout sélectionner

$useritem = $user['$cellitemlabel']; echo '<tr>'; echo '<td>'; echo "<label>$cellitemlabel :</label>"; echo '</td>'; echo '<td>'; echo "<input type=text name=$newcellitemlabel placeholder=$placeholder value=$useritem /><br /><br />";

Re: problème d'affichage de variable de base de données

par @rthur » 27 févr. 2022, 23:33

Vérifie le code HTML généré (clic droit, afficher la source).
Je ne sais pas si c'est l'origine du problème que tu rencontres, mais quoi qu'il en soit, il faut que les attributs des inputs soient entre guillemets.

Et pour éviter un conflit de guillemets doubles dans le code PHP, il faut que tu échappes tes guillemets avec un antislash :

Code : Tout sélectionner

echo "<input placeholder=\"$placeholder\" ...>";

Re: problème d'affichage de variable de base de données

par eldudu » 27 févr. 2022, 22:49

au temps pour moi, c'est aussi $cellitemlabel, je modifie le post de départ.Désolé :-(

Re: problème d'affichage de variable de base de données

par or 1 » 27 févr. 2022, 22:42

cellitem ($cellitemlabel,$placeholder)
la fonction prend 2 paramètres or il y en a besoin de 3.

problème d'affichage de variable de base de données

par eldudu » 27 févr. 2022, 22:39

Bonjour,

Je n'arrive pas à afficher une variable, et je n'arrive pas à voir où ça pêche.

J'essaie d'écrire une fonction en début de code pour éviter de retaper du code:

Code : Tout sélectionner

function cellitem ($cellitemlabel,$placeholder) { echo '<tr>'; echo '<td>'; echo "<label>$cellitemlabel :</label>"; echo '</td>'; echo '<td>'; echo "<input type=text name=new$cellitemlabel placeholder=$placeholder value="$user['$cellitemlabel']"/><br /><br />"; echo '</td>'; echo '</tr>'; }
Mais quand j'appelle, ma page, ça ne marche pas pour cette variable:

Code : Tout sélectionner

value="$user['$cellitemlabel']"
Si je fais mon echo sans passer par la fonction, ça fonctionne, et si je remplace la variable par du texte, ça marche aussi.
Mon soucis c'est de trouver la bonne syntaxe :-( j'ai essayé avec des ' , des ", des [], mais rien n'y fait :-(