Intégrer un script de commentaires dans un album photo

Intégrer un script de commentaires dans un album photo - PHP - Programmation

Marsh Posté le 12-03-2008 à 23:15:02    

Salut à tous,  
 
En partant d'un script d'album photo (sur Phprog) qui me convient super bien, j'aimerais y intégrer un script pour que les visiteurs ajoutent leurs commentaires. En gros, le script de l'album photo crée automatiquement une miniature et lorsqu'on clique sur celle-ci, cela affiche la photo en grand.
Voici la partie principale qui affiche ces miniatures:

Code :
  1. <div align="center">
  2. <?php
  3. echo "<table cellpadding=0 cellspacing=0 class=tablo width=100%>
  4. <tr>
  5. <td class=tablo-titre><span class=texte-titre>$album</span></td>";
  6. if (test_admin()) {
  7. echo "
  8. <td class=tablo-titre><span class=texte-titre><a class=\"lien-titre\" href=\"?id=12&album=$album\">Ajouter une photo</a></span></td>
  9. </tr><tr height=\"100%\"><td colspan=2>";
  10. }
  11. else {
  12. echo "
  13. </tr><tr height=\"100%\"><td>";
  14. }
  15. include('fonction/liste_photos.func.php');
  16. if ($photo=liste_photos($dossier,$album)) {
  17. $nb=count($photo);
  18. //mini exist
  19. $mini_exist=1;
  20. for ($k=0;$k<$nb;$k++) {
  21.  if (!file_exists($dossier."/".$album."/miniatures/".$photo[$k])) {
  22.   $mini_exist=0;
  23.   break;
  24.  }
  25. }
  26. //afficher les photos
  27. if ($mini_exist) {
  28.  for ($i=0;$i<$nb;$i++) {
  29.   list($photo_width, $photo_height) = getimagesize("$dossier/$album/$photo[$i]" );
  30.   $photo_size=round(filesize("$dossier/$album/$photo[$i]" )/1000)." ko";
  31.   $photo_name=explode('.',$photo[$i]);
  32.   //<a href=# onClick=\"javascript:window.open('photo_cadre.php?album=$album&i=$i&nb=$nb','','chanelmode,scrollbars');return(false)\"><img border=0 src=\"".rawurlencode($dossier)."/".rawurlencode($album)."/miniatures/".rawurlencode($photo[$i])."\"></a>
  33.   if (test_admin()) {$dim_height=$dim_mini+40;}
  34.   else {$dim_height=$dim_mini+20;}
  35.   echo "
  36.   <div style=\"float:left;margin-top:10px;margin-left:5;margin-right:5;width:105px;height:".$dim_height."px\" class=\"texte-photo\">
  37.    <div align=center>
  38.    <a href=\"?id=5&i=".$i."&album=".$album."\"><img title=\"$photo_name[0]\n$photo_width x $photo_height\n$photo_size\" border=0 src=\"".rawurlencode($dossier)."/".rawurlencode($album)."/miniatures/".rawurlencode($photo[$i])."\"></a>
  39.    </div>
  40.    <div align=center>
  41.    $photo_name[0]
  42.    </div>
  43.    <div align=center>
  44.    <? comment(\"photo\" ); ?>
  45.    </div>";
  46.    if (test_admin()) {
  47.     echo "
  48.    <div align=center style=\"margin-top:5px;\">
  49.    <a href=\"?id=16&album=$album&i=$i\"><img border=0 src=\"images/rename.gif\" title=\"Renommer\"></a> <a href=\"?id=18&album=$album&i=$i\"><img border=0 src=\"images/resize.gif\" title=\"Redimensionner\"></a> ";
  50.     if (function_exists('imagerotate')) {
  51.      echo "<a href=\"?id=20&album=$album&i=$i\"><img border=0 src=\"images/rotate.png\" title=\"Retourner\"></a> ";
  52.      }
  53.     echo "<a href=\"?id=14&album=$album&i=$i\"><img border=0 src=\"images/suppr.gif\" title=\"Supprimer\"></a>
  54.     </div>";
  55.    }
  56.   echo "</div>";
  57.  }
  58. }
  59. else {
  60.  echo text_mini_non;
  61.  include('miniature.php');
  62. }
  63. }
  64. else {
  65. echo "<div align=center>".text_album_vide."</div>";
  66. }
  67. echo "</td></tr></table>";
  68. ?>
  69. </div>


 
Et moi, j'ai rajouté les lignes 52 à 54. C'est la partie du script qui est censé m'afficher le lien pour avoir le popup et ainsi ajouter/lire les commentaires.
Bien sûr, je comprends bien que comme cela, ca ne peut fonctionner vu que le script qui affiche les photos est prévu pour qu'il affiche toutes les photos présentes, c'est donc une sorte de boucle. Mais maintenant, comment faire pour que mon script d'ajout de commentaire corresponde à chaque photo qui s'affiche?
 
Merci d'aider clairement le débutant que je suis... Merci d'avance!!!


Message édité par bingojm le 12-03-2008 à 23:15:58
Reply

Marsh Posté le 12-03-2008 à 23:15:02   

Reply

Marsh Posté le 13-03-2008 à 10:59:44    

<? comment(\"photo\" ); ?>
 
c'est ta fonction qui affiche tes commentaires? c'est surement pas \"photo\" le bon parametre, mais plutot un truc du genre comment($photo[$i])

Reply

Marsh Posté le 13-03-2008 à 11:27:21    

texaff a écrit :

<? comment(\"photo\" ); ?>
 
c'est ta fonction qui affiche tes commentaires? c'est surement pas \"photo\" le bon parametre, mais plutot un truc du genre comment($photo[$i])


oui c'est bien cette fonction-là...
En fait, si j'utilise <? comment(\"photo\" ); ?> dans une page quelconque, cela fonctionne très bien. Mais c'est précisément dans l'album photo que j'aimerais l'utiliser.
A première vue, je dois modifier une grande partie du code du script des commentaires?
Voilà la partie des fonctions:

Code :
  1. function comment($categorie)
  2.         {
  3.        
  4.         require($GLOBALS["pathcom"]."config/comment.inc.php" );
  5.  require($GLOBALS["pathcom"]."config/langue/"."$langue".".php" );
  6.        
  7.         mysql_connect($hote,$login,$mdp) or die("$err_connect[lang]" );
  8.         mysql_select_db($base);
  9.         $req=mysql_query("SELECT id FROM $table_comment WHERE categorie='$categorie' AND valid='1' AND pseudo!='vote'" );
  10.         $num=mysql_num_rows($req);
  11.        
  12.         $appel_comment=$GLOBALS["pathcom"]."comment.php?actiona=comment&categorie=$categorie";
  13.         if($choixc=='0')
  14.   {
  15.  $appel_img=$GLOBALS["pathcom"]."$commentaf";
  16.  $codec="<img src=\"$appel_img\" align=\"absmiddle\" border=0 alt=\"$ajout[lang]\">";
  17.   }
  18.  else
  19.   {
  20.  $codec="$commentaf";
  21.   }
  22.         echo "[<font size=1>$num</font>";
  23.         echo " <a href=\"#\" onClick=\"open('$appel_comment','Comment','toolbar=0,menuBar=0,resizable=0,scrollbars=yes,width=$widthc,height=$heightc')\">";
  24.         echo "$codec";
  25.         echo "</a>]";
  26.         mysql_close();
  27.         }


Merci d'être clair... je débute.

Reply

Marsh Posté le 13-03-2008 à 11:46:49    

ouai mais la en fait tu peux ajouter des commentaire pour une catégorie et non pour une photo...  
 
tu peux toujours essayé devoir si tu peux créer une catégorie par photo  
en tentant de mettre a ligne 53 :  
<? comment($photo_name[0]); ?>
ou ptete  
<? comment("$photo_name[0]" ); ?>

Reply

Marsh Posté le 13-03-2008 à 11:50:49    

Ben non, ca ne va pas.
J'ai essayé ceci aussi:
<? comment(\"$photo_name[0]\" ); ?> vu qu'il faut les \
Mais rien ne s'affiche en plus.
Le fait de mettre des <? ?> dans echo, ca ne pose pas de problème?
Encore une bonne idée stp?

Reply

Marsh Posté le 13-03-2008 à 12:04:33    

haha mais lol j'avais pas vu  
 
ca va pas fait ca  
 
".comment($photo_name[0])."
 
 
a la place de  
<? comment("$photo_name[0]" ); ?>

Reply

Marsh Posté le 13-03-2008 à 12:10:22    

texaff a écrit :

haha mais lol j'avais pas vu  
 
ca va pas fait ca  
 
".comment($photo_name[0])."
 
 
a la place de  
<? comment("$photo_name[0]" ); ?>


Super mon gars, grâce à toi, je viens encore d'apprendre qqch d'hyper important. Merci
Maintenant, y a juste un souci, l'icône pour ajouter le commentaire se place en haut des images. Une idée pour qu'il reste bien en dessous de chaque photo?
Voilà ce que j'ai essayé:

Code :
  1. <div align=center>
  2.    <a href=\"?id=5&i=".$i."&album=".$album."\"><img title=\"$photo_name[0]\n$photo_width x $photo_height\n$photo_size\" border=0 src=\"".rawurlencode($dossier)."/".rawurlencode($album)."/miniatures/".rawurlencode($photo[$i])."\"></a>
  3.    </div>
  4.    <div align=center>
  5.    $photo_name[0] <br> ".comment($photo_name[0])."
  6.    </div>";



Message édité par bingojm le 13-03-2008 à 15:25:34
Reply

Marsh Posté le 13-03-2008 à 12:17:29    

ligne 45 vire ca : height:".$dim_height."px

Reply

Marsh Posté le 13-03-2008 à 12:18:45    

ou alors genre ligne 42 et 43 change +40 par +60  
et +20 par +40

Reply

Marsh Posté le 13-03-2008 à 12:19:16    

et augmente si y a besoin de plus... (genre +70...)

Reply

Marsh Posté le 13-03-2008 à 12:19:16   

Reply

Marsh Posté le 13-03-2008 à 12:20:26    

Voilà, mais ça n'arrange rien. l'écriture est un peu plus grande et le cadre plus petit... mais les icones tjs au dessus...

Reply

Marsh Posté le 13-03-2008 à 12:22:21    

tu as viré \"  en trop...

Reply

Marsh Posté le 13-03-2008 à 12:24:06    

Bien vu; l'écriture est ok mnt, mais les icones... tjs au-dessus.

Reply

Marsh Posté le 13-03-2008 à 12:26:32    

t'es sur que tu a bien fais ca :
 

Code :
  1. <div align=center>
  2.    <a href=\"?id=5&i=".$i."&album=".$album."\"><img title=\"$photo_name[0]\n$photo_width x $photo_height\n$photo_size\" border=0 src=\"".rawurlencode($dossier)."/".rawurlencode($album)."/miniatures/".rawurlencode($photo[$i])."\"></a>
  3.    </div>
  4.    <div align=center>
  5.    $photo_name[0] <br> ".comment($photo_name[0])."
  6.    </div>";


 
 
le commentaire s'affiche au dessus de l'image...

Reply

Marsh Posté le 13-03-2008 à 12:30:30    

oui, certain, je viens de vérifier. Tu as vu le résultat avec mon lien?
Pcq oui ca s'affiche au dessus et centrer sur tout le cadre

Reply

Marsh Posté le 13-03-2008 à 12:49:16    

essaye ca ... mais tu m'etonnes... (on oublie le xhtml ici lol)
 

Code :
  1. <div align=center>
  2.    <a href=\"?id=5&i=".$i."&album=".$album."\"><img title=\"$photo_name[0]\n$photo_width x $photo_height\n$photo_size\" border=0 src=\"".rawurlencode($dossier)."/".rawurlencode($album)."/miniatures/".rawurlencode($photo[$i])."\"></a>
  3.   <br /> $photo_name[0] <br /> ".comment($photo_name[0])."
  4.    </div>";


Reply

Marsh Posté le 13-03-2008 à 12:53:00    

tjs pas...
Pas très logique tout ca.
Encore une autre idée?;)

Reply

Marsh Posté le 13-03-2008 à 13:47:38    

tu te plantes quelque part c'est sur... remet le code de ta page pour voir...

Reply

Marsh Posté le 13-03-2008 à 14:41:13    

Code :
  1. <div align="center">
  2. <?php
  3. echo "<table cellpadding=0 cellspacing=0 class=tablo width=100%>
  4. <tr>
  5. <td class=tablo-titre><span class=texte-titre>$album</span></td>";
  6. if (test_admin()) {
  7. echo "
  8. <td class=tablo-titre><span class=texte-titre><a class=\"lien-titre\" href=\"?id=12&album=$album\">Ajouter une photo</a></span></td>
  9. </tr><tr height=\"100%\"><td colspan=2>";
  10. }
  11. else {
  12. echo "
  13. </tr><tr height=\"100%\"><td>";
  14. }
  15. include('fonction/liste_photos.func.php');
  16. if ($photo=liste_photos($dossier,$album)) {
  17. $nb=count($photo);
  18. //mini exist
  19. $mini_exist=1;
  20. for ($k=0;$k<$nb;$k++) {
  21.  if (!file_exists($dossier."/".$album."/miniatures/".$photo[$k])) {
  22.   $mini_exist=0;
  23.   break;
  24.  }
  25. }
  26. //afficher les photos
  27. if ($mini_exist) {
  28.  for ($i=0;$i<$nb;$i++) {
  29.   list($photo_width, $photo_height) = getimagesize("$dossier/$album/$photo[$i]" );
  30.   $photo_size=round(filesize("$dossier/$album/$photo[$i]" )/1000)." ko";
  31.   $photo_name=explode('.',$photo[$i]);
  32.   //<a href=# onClick=\"javascript:window.open('photo_cadre.php?album=$album&i=$i&nb=$nb','','chanelmode,scrollbars');return(false)\"><img border=0 src=\"".rawurlencode($dossier)."/".rawurlencode($album)."/miniatures/".rawurlencode($photo[$i])."\"></a>
  33.   if (test_admin()) {$dim_height=$dim_mini+40;}
  34.   else {$dim_height=$dim_mini+20;}
  35.   echo "
  36.   <div style=\"float:left;margin-top:5px;margin-left:5;margin-right:5;width:105px;\" class=\"texte-photo\">
  37.    <div align=center>
  38.        <a href=\"?id=5&i=".$i."&album=".$album."\"><img title=\"$photo_name[0]\n$photo_width x $photo_height\n$photo_size\" border=0 src=\"".rawurlencode($dossier)."/".rawurlencode($album)."/miniatures/".rawurlencode($photo[$i])."\"></a>
  39.     <br /> $photo_name[0] <br /> ".comment($photo_name[0])."
  40.       </div>";
  41.    if (test_admin()) {
  42.     echo "
  43.    <div align=center style=\"margin-top:5px;\">
  44.    <a href=\"?id=16&album=$album&i=$i\"><img border=0 src=\"images/rename.gif\" title=\"Renommer\"></a> <a href=\"?id=18&album=$album&i=$i\"><img border=0 src=\"images/resize.gif\" title=\"Redimensionner\"></a> ";
  45.     if (function_exists('imagerotate')) {
  46.      echo "<a href=\"?id=20&album=$album&i=$i\"><img border=0 src=\"images/rotate.png\" title=\"Retourner\"></a> ";
  47.      }
  48.     echo "<a href=\"?id=14&album=$album&i=$i\"><img border=0 src=\"images/suppr.gif\" title=\"Supprimer\"></a>
  49.     </div>";
  50.    }
  51.   echo "</div>";
  52.  }
  53. }
  54. else {
  55.  echo text_mini_non;
  56.  include('miniature.php');
  57. }
  58. }
  59. else {
  60. echo "<div align=center>".text_album_vide."</div>";
  61. }
  62. echo "</td></tr></table>";
  63. ?>
  64. </div>


Et pour les fonctions, rien de changé:

Code :
  1. function comment($categorie)
  2.         {
  3.        
  4.         require($GLOBALS["pathcom"]."config/comment.inc.php" );
  5.  require($GLOBALS["pathcom"]."config/langue/"."$langue".".php" );
  6.        
  7.         mysql_connect($hote,$login,$mdp) or die("$err_connect[lang]" );
  8.         mysql_select_db($base);
  9.         $req=mysql_query("SELECT id FROM $table_comment WHERE categorie='$categorie' AND valid='1' AND pseudo!='vote'" );
  10.         $num=mysql_num_rows($req);
  11.        
  12.         $appel_comment=$GLOBALS["pathcom"]."comment.php?actiona=comment&categorie=$categorie";
  13.         if($choixc=='0')
  14.   {
  15.  $appel_img=$GLOBALS["pathcom"]."$commentaf";
  16.  $codec="<img src=\"$appel_img\" align=\"absmiddle\" border=0 alt=\"$ajout[lang]\">";
  17.   }
  18.  else
  19.   {
  20.  $codec="$commentaf";
  21.   }
  22.         echo "[<font size=1>$num</font>";
  23.         echo " <a href=\"#\" onClick=\"open('$appel_comment','Comment','toolbar=0,menuBar=0,resizable=0,scrollbars=yes,width=$widthc,height=$heightc')\">";
  24.         echo "$codec";
  25.         echo "</a>]";
  26.         mysql_close();
  27.         }


Voilà, voilà, je cherche depuis tout à l'heure, mais je désespère...
Merci qd mm de chercher avec moi.

Reply

Marsh Posté le 13-03-2008 à 14:54:52    

essaye de mettre ".comment($photo_name[0])."  
entre ta ligne 45 et 46... ca devrai afficher le commentaire juste au dessus de l'image...  
 
t'es sur que tu modifie la bonne page lol

Reply

Marsh Posté le 13-03-2008 à 15:06:01    

texaff a écrit :

essaye de mettre ".comment($photo_name[0])."  
entre ta ligne 45 et 46... ca devrai afficher le commentaire juste au dessus de l'image...  
 
t'es sur que tu modifie la bonne page lol


tjs pareil, cela s'affiche tout au-dessus au centre... malheureusement, pas encore au-dessus ou en dessous de chaque photo.
Ben je pense bien être sur la bonne page. Si tu veux voici le lien de ce script:
http://www.phpscripts-fr.net/scrip [...] mmentaires c'est le premier: ACGV
je suis dans la page: afficher_photos.php
 
Je pense vmt être dans la bonne page pcq quand je mets SALUT à la place de ".comment($photo_name[0])." cela s'affiche correctement en dessous du nom de la photo, donc...
 
Merci pour ton aide.


Message édité par bingojm le 13-03-2008 à 15:07:41
Reply

Marsh Posté le 13-03-2008 à 15:09:13    

y a pas de cache sur tes page? ecris un  
<h1>TEST</h1> toujours entre la ligne 45 et 46... si ca s'affiche pas : soit y a un cache soit t'es pas sur la bonne page

Reply

Marsh Posté le 13-03-2008 à 15:09:40    

ok t'a editer entre tps lol

Reply

Marsh Posté le 13-03-2008 à 15:13:14    

mais oui c'est normal lol
suis con
 
en fait tu fais un  
echo "limage".ta fonction commentaire."finde limage"
 
 
et dans ta fonction commentaire tu fais un  
echo 'petite icone commentaire'  
 
le script va donc faire un echo dans ton echo donc c'est l'echo du commentaire qui se lance en premier (ouai je suis pas clair)  
bref  
change ca :

Code :
  1. echo "
  2.   <div style=\"float:left;margin-top:5px;margin-left:5;margin-right:5;width:105px;\" class=\"texte-photo\">
  3.    <div align=center>
  4.        <a href=\"?id=5&i=".$i."&album=".$album."\"><img title=\"$photo_name[0]\n$photo_width x $photo_height\n$photo_size\" border=0 src=\"".rawurlencode($dossier)."/".rawurlencode($album)."/miniatures/".rawurlencode($photo[$i])."\"></a>
  5.     <br /> $photo_name[0] <br /> ".comment($photo_name[0])."
  6.       </div>";


 
en  

Code :
  1. echo "
  2.   <div style=\"float:left;margin-top:5px;margin-left:5;margin-right:5;width:105px;\" class=\"texte-photo\">
  3.    <div align=center>
  4.        <a href=\"?id=5&i=".$i."&album=".$album."\"><img title=\"$photo_name[0]\n$photo_width x $photo_height\n$photo_size\" border=0 src=\"".rawurlencode($dossier)."/".rawurlencode($album)."/miniatures/".rawurlencode($photo[$i])."\"></a>
  5.     <br /> $photo_name[0] <br /> ";comment($photo_name[0]);
  6. echo "</div>";


Reply

Marsh Posté le 13-03-2008 à 15:13:45    

Bizarre bizarre, comme tu peux le voir, cela s'affiche très bien comme ca! Je viens de remodifier pour le mettre direct en dessous de la photo. Cela fonctionne pour TEST, mais pour les commentaires...

Reply

Marsh Posté le 13-03-2008 à 15:16:10    

pour l'explication pour que tu comprennes je vais essayer de le refaire  
 
tu fais un echo "ton image".comment()."fin du div"
ce qui revient a  
echo "ton image".echo "lavignette+ lien du commentaire"."fin du div"
 
tu encapsule un echo dans un echo... et dans ce ca la c'est un peu le principe de la récursivité c'est celui qui est dans l'encapsulation qui se lance en premier...


Message édité par texaff le 13-03-2008 à 15:17:21
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed