Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 03/08/2011, 11h59   #1
Invité de passage
 
Inscription : octobre 2010
Messages : 4
Détails du profil
Informations forums :
Inscription : octobre 2010
Messages : 4
Points : 0
Points : 0
Par défaut Problème d'affichage de requètes SQL

Bonjour,

Je viens de mettre en ligne un site web sur lequel je travaille (je précise que c'est mon premier site dynamique).

J'ai sur ce site un espace blog, un espace livre d'or, un espace membre, etc.
Bref, je fais donc appel à une base de donnée. (j'utilise MySql)

En local, tout fonctionnait bien, normalement on va dire. J'avais le résultat que j'attendais.

Mais depuis que je suis passé en ligne, j'ai des "trous" dans mes commentaires, dans mes articles ou dans mes témoignages du livre d'or...

En fait, j'ai par exemple sur ce site une partie "livre d'or". Quand on va dessus, certains témoignages apparaissent, d'autres pas. C'est aussi le cas pour les commentaires des articles du blog attaché au site, certains n'apparaissent pas (et pourtant, on voit l'entête "Posté par xxx à xxhxx", mais il n'y a rien après). C'est pareil pour les articles du blog, aucun ne s'affiche... il y a juste quelque fois le titre qui apparaît.

Bref, je trouve cela très étrange. Je n'arrive pas à trouver de liens entre ces affichages défectueux (au niveau de la taille par ex). Ce sont pourtant toujours les mêmes qui n'apparaissent pas à chaque rechargement de la page !

Je reviens sur l'affichage des commentaires.

Voilà la requête qui appelle les ressources en BDD :

Code :
$req = $bdd->query('SELECT auteur, contenu, YEAR(date) AS annee, MONTH(date) AS mois, DAY(date) AS jour, MINUTE(date) AS minutes, HOUR(date) AS heures FROM commentaires WHERE article = '.$_GET['article'].'');


J'affiche ensuite ce qu'il faut :

Code :
1
2
3
4
5
6
7
8
9
10
while ($donnees = $req->fetch())  
      {  
       echo  '<div class="b_commentaire">  
          <div class="entete_message">Par <strong>'.$donnees['auteur'].'</strong>, le '.$donnees['jour'].'/'.$donnees['mois'].'/'.$donnees['annee'].' à '.$donnees['heures'].'h'.$donnees['minutes'].' :</div>  
          <div class="contenu_commentaire">  
           '.htmlspecialchars($donnees['contenu']).'  
          </div>  
         </div>';  
      }  
      $req->closeCursor();
(je sais, l'affichage des pseudos n'est pas protégé, je change ça de suite :p)

Et c'est là que ça devient intriguant... parce que, dans une même requête, il a pu trouver le pseudo de l'auteur, l'heure à laquelle le message a été posté mais il ne peut pas afficher le message !

Je finis par préciser que la base de donnée est hébergée chez 1and1.

J'espère trouver de l'aide. Je peux pas vraiment chercher sur internet, le problème n'a pas vraiment de nom... enfin, j'ai déjà beaucoup de mal à l'expliquer alors dans un moteur de recherche...

Merci bien.
Mouchh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/08/2011, 12h32   #2
Rédacteur
 
Avatar de jreaux62
 
Homme Jérôme Réaux
Webdesigner
Inscription : août 2008
Messages : 2 993
Détails du profil
Informations personnelles :
Nom : Homme Jérôme Réaux
Âge : 45
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations professionnelles :
Activité : Webdesigner
Secteur : Arts - Culture

Informations forums :
Inscription : août 2008
Messages : 2 993
Points : 5 786
Points : 5 786
Envoyer un message via Skype™ à jreaux62
Bonjour,
a priori, ca vient de htmlspecialchars($donnees['contenu']) ?

- as-tu vérifier le contenu de "contenu" dans ta BdD, pour voir ceux qui clochent comparés à ceux qui s'affichent ?
(contiennent-ils des caractères particuliers susceptibles de gêner l'affichage ?)
- si tu remplaces htmlspecialchars($donnees['contenu']) par nl2br($donnees['contenu']) : ca donne quoi ?
- et aussi : print_r($donnees['contenu']);
- le problème peut aussi venir de la façon d'enregistrer les données en BdD ...
__________________
"Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément."
Nicolas Boileau-Despréaux, Homme de lettres français (1636-1711), principal théoricien de l'esthétique classique.
Site perso Mes tutos DVP : Gestion-Affichage de Nouvelles - Affichage en tableau HTML - Fonctions de redimensionnement d'images
jreaux62 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/08/2011, 13h43   #3
Invité de passage
 
Inscription : octobre 2010
Messages : 4
Détails du profil
Informations forums :
Inscription : octobre 2010
Messages : 4
Points : 0
Points : 0
Oui effectivement, cela semblait venir de htmlspecialchar. Le contenu de ma BDD était bien intact (j'ai oublié de vous le préciser dans mon premier message)

Je les ai tous remplacé par nl2br et tout semble s'afficher. Bon par contre, cette fonction filtre pas les balises HTML, enfin, je vais me renseigner sur son utilisation !

Merci jreaux62

PS : C'est étrange de la part de htmlspecialchar de trier comme ça ce qu'il affiche ou pas non ? Visiblement, il n'affichait pas les messages qui contenaient un ou des accents...
Mouchh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/08/2011, 13h55   #4
Rédacteur
 
Avatar de jreaux62
 
Homme Jérôme Réaux
Webdesigner
Inscription : août 2008
Messages : 2 993
Détails du profil
Informations personnelles :
Nom : Homme Jérôme Réaux
Âge : 45
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations professionnelles :
Activité : Webdesigner
Secteur : Arts - Culture

Informations forums :
Inscription : août 2008
Messages : 2 993
Points : 5 786
Points : 5 786
Envoyer un message via Skype™ à jreaux62
Je pense qu'il faut plutot regarder du coté de htmlentities() ... et vérifier l'encodage (dans la BdD, dans la page ...) (?)
__________________
"Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément."
Nicolas Boileau-Despréaux, Homme de lettres français (1636-1711), principal théoricien de l'esthétique classique.
Site perso Mes tutos DVP : Gestion-Affichage de Nouvelles - Affichage en tableau HTML - Fonctions de redimensionnement d'images
jreaux62 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/08/2011, 14h27   #5
Membre chevronné
 
Avatar de Marc3001
 
Homme
Ingénieur développement logiciels
Inscription : février 2008
Messages : 430
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 28
Localisation : France, Ille et Vilaine (Bretagne)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : février 2008
Messages : 430
Points : 682
Points : 682
Si tu vas voir directement en base, les contenus des articles posant problème sont-ils bien présents?
Marc3001 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/08/2011, 15h20   #6
Invité de passage
 
Inscription : octobre 2010
Messages : 4
Détails du profil
Informations forums :
Inscription : octobre 2010
Messages : 4
Points : 0
Points : 0
Oui, dans la base ils sont bien présentés, tous entiers et les accents ne semblent pas poser de problèmes.
Mouchh est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 12h23.


 
 
 
 
Partenaires

Hébergement Web