8791 sujets

Développement web côté serveur, CMS

Bonjour à tous,

J'ai un script de galerie photo qui a quelques soucis. Tout d'abord, pour l'ajout d'un commentaire quand l'utilisateur met son site, le lien n'est pas cliquable. De plus, je n'arrive pas à prendre en charge les accents dans le textarea. Comment faire pour y remédier ?

Enfin, l'affichage des photos sous Firefox ne se fait pas, à la place il affiche le nom des photos, à quoi cela est il dût ?

la galerie conçernée !

Merci beaucoup pour votre aide.
Modifié par Chypster (29 Jul 2007 - 22:30)
Salut,

pour l'affichage des photos le problème vient des chemins que tu utilises pour les différentes photos tu utilises le caractère \ au lieu de / Smiley cligne
Pour les accents et les liens tu as l'aire de faire un htmlspecialchars() de trop. Ce qui fait que le code:
<a href="test.htm" title="lien test">test</a> &eacute;ho

qui s'afficherait correctement, devient
&lt;a href=&quot;test.htm&quot; title=&quot;lien test&quot;&gt;test&lt;/a&gt; &amp;eacute;ho

qui donne un affichage erroné.


Pour les images c'est simple: le backslash n'est pas un séparateur de dossier valide ailleur que sous windows.

EDIT: grilled Smiley rolleyes
Modifié par Necromantik (28 Jul 2007 - 14:21)
Necromantik a écrit :
Pour les accents et les liens tu as l'aire de faire un htmlspecialchars() de trop. Ce qui fait que le code:
<a href="test.htm" title="lien test">test</a> &eacute;ho

qui s'afficherait correctement, devient
&lt;a href=&quot;test.htm&quot; title=&quot;lien test&quot;&gt;test&lt;/a&gt; &amp;eacute;ho

qui donne un affichage erroné.


Pour les images c'est simple: le backslash n'est pas un séparateur de dossier valide ailleur que sous windows.

EDIT: grilled Smiley rolleyes


Merci à toi et rafale29, je vais modifier mes chemins d'accés aux photos mais pour les liens et accents j'ai pas tout compris.
Modifié par Chypster (28 Jul 2007 - 14:49)
Le contenu de tes champs est transformé en entités html (c.f. wikipedia) une fois de trop ce qui a pour effet de transformer les codes d'entités eux-même (tels &amp; pour &) en entités (tels &amp;amp;).
Necromantik a écrit :
Le contenu de tes champs est transformé en entités html (c.f. wikipedia) une fois de trop ce qui a pour effet de transformer les codes d'entités eux-même (tels &amp; pour &) en entités (tels &amp;amp;).


Trés bien, merci pour ton explication claire.

Bon je modifie tout ça et je vous tiens au courant.
bon j'ai essayé de modifier mon code mais rien y fait. J'ai bien compris les raisons de mon problème mais je dois mal m'y prendre.

Si une personne veut bien se dévouer pour me guider, je lui en serais reconnaissante.

De mon côté, je vais voir si je peux avançer.
Necromantik a écrit :
Dans ce cas il faudrait avoir accès à ton code sinon ça va être difficile Smiley murf .


Tu peux télécharger la page de code conçernée ici en cliquant sur "index.php".

Si vous avez besoin des autres fichiers ce que je ne pense pas, dites le moi.

Voilà.
Modifié par Chypster (28 Jul 2007 - 22:53)
Après avoir jeté un oeil ce qui cloche c'est les lignes suivantes:

399:  $noms[$i] = htmlentities(stripslashes($noms[$i]));

408:  <div class="commentmeta"><span class="commentauthor">'.htmlentities($noms[$i]).'</span> dit:

410:  <div class="commentbody">'.str_replace('\n', '<br />', htmlentities(stripslashes($textes[$i]))).'


Les entités sont déjà ajoutées lignes 235 à 238.
Necromantik a écrit :
Après avoir jeté un oeil ce qui cloche c'est les lignes suivantes:

399:  $noms[$i] = htmlentities(stripslashes($noms[$i]));

408:  <div class="commentmeta"><span class="commentauthor">'.htmlentities($noms[$i]).'</span> dit:

410:  <div class="commentbody">'.str_replace('\n', '<br />', htmlentities(stripslashes($textes[$i]))).'


Les entités sont déjà ajoutées lignes 235 à 238.


ah ok, je te remercis beaucoup, effectivement tout est rentré dans l'ordre pour les commentaires.

Maintenant, il me reste l'affichage des photos sous firefox !
D'après ton fichier php il y a une constante DIRECTORY_SEPARATOR qui correspond au séparateur à utiliser.
Elle doit être définie à backslashe au lieu de slashe (probablement dans le fichier de préférence).
Salut,

Oui, mais comment puis je passer outre la fonction directory_separator qui renvoie le séparateur courant du système ?
Le plus simple est de mettre la fonction qui définit cette constante en commentaire et de la définire manuellement:
define('DIRECTORY_SEPARATOR', '/');
Necromantik a écrit :
Le plus simple est de mettre la fonction qui définit cette constante en commentaire et de la définire manuellement:
define('DIRECTORY_SEPARATOR', '/');


Je peux pas mettre en commentaire la fonction php directory_separator, je ne la définie nulle part.

Logiquement si je met tout de même "define(...)"=>erreur php : variable DIRECTORY_SEPARATOR déjà définie.
Oh, désolé je n'avais pas réalisé qu'il s'agissait d'une constante native de php, mes excuses.

Dans ce cas le mieux est de faire un chercher&remplacer de toutes les occurences dans index.php et d'utiliser ta propre constante que tu définiras à '/'.
Necromantik a écrit :
Oh, désolé je n'avais pas réalisé qu'il s'agissait d'une constante native de php, mes excuses.

Dans ce cas le mieux est de faire un chercher&remplacer de toutes les occurences dans index.php et d'utiliser ta propre constante que tu définiras à '/'.


Oui c'est clair, que parfois ça ne sert à rien de se prendre la tête.
Solution radicale et efficace !
En tout cas merci de ta patience et de ton aide, vraiment sympa.

Bon j'aurais d'autres choses à te demander mais je ne vais pas abuser de ta bonne foi.

Ciao et encore merci.
De rien Smiley smile .


Je penses que tu peux ajouter [résolu], pour d'autres questions je crois qu'il y a une fonction messages privés Smiley murf .