Bonjour à tous,

J'ai récemment créé une galerie de miniatures où au clic sur une miniature la grande image s'affiche. Sur cette grande image, j'essaie d'ajouter un système de commentaires, l'affichage des agrandissements fonctionne correctement mais j'ai 2 soucis avec mon système de commentaires:

1. Le commentaire ne se lie pas à une photo, il s'affiche sous toutes les grandes images or je voudrais le lier à une photo précise évidemment

2e problème: même si j'ai 10 commentaires dans ma table "commentaire", seul un commentaire s'affiche (le dernier)...

Etant débutant, je n'arrive pas à trouver mes erreurs merci à tous pour votre aide!

Voici le code permettant l'apparition de la grande image au clic sur la miniature:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
     $ImageID = $row['ImageID']; 
     $ImageName = $row['ImageName'];
     $MiniName = $row['MiniName']; 
 
     // Chemin absolu de l'imagette
     $ImagetteAbsolutePath = $MiniName;
     $ImageAbsolutePath = $ImageName;
     // Récupère les dimentions de l'imagette
     $JPEGRes = ImageCreateFromJPEG($ImagetteAbsolutePath);
     $xsrc = imagesx($JPEGRes);
     $ysrc = imagesy($JPEGRes);
 
	echo '<a href="bigphoto.php?img='.$ImageName.'" alt="'.$ImageID.'" target="blank"><img src="'.$ImagetteAbsolutePath.'" width="xsrc" height="ysrc" border="0" alt="miniature"></a>';
Voici le code de ma page "grande photo" avec le formulaire d'ajout de commentaires:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
<?php
mysql_connect("localhost", "root", "");
mysql_select_db("site");
 
$bigphoto = htmlspecialchars($_GET['img']);
$idimage = htmlspecialchars($_GET['alt']);
echo '<img src="'.$bigphoto.'" alt=""/>';
 
$infos = mysql_query('SELECT * FROM commentaire WHERE ImageID="'. $idimage .'"')or die (mysql_error());
while ($donnees = mysql_fetch_array($infos))
{
$pseudo = stripslashes($donnees['pseudo']);
$commentaire = stripslashes($donnees['commentaire']);
}
 
if (isset($_POST['commentaire']) AND isset($_POST['pseudo']))
{
if($_POST['commentaire'] != '' AND $_POST['pseudo'] != '')
{
$pseudo = mysql_real_escape_string($_POST['pseudo']);
$commentaire = mysql_real_escape_string($_POST['commentaire']);
$idimg = $_POST['idimage'];
 
mysql_query ("INSERT INTO commentaire VALUES('', '" . $pseudo . "', '" . $commentaire . "', '" . $idimg . "')")or die (mysql_error());
 
echo "Merci d'avoir commenté !";
}
}
?>
</body>
 
<p><strong>Les commentaires:</strong><br/>
<?php echo htmlspecialchars($pseudo); ?>: <?php echo nl2br(htmlspecialchars($commentaire)); ?></p>
 
 <form action='bigphoto.php' enctype='multipart/form-data' method='post'>
	<p>
	<label>Votre pseudo: <input type="text" name="pseudo"/><br/></label>
	<label>Laissez un commentaire: <br/>
	<textarea name="commentaire" rows="5" cols="25"/></textarea> <br/></label>
	<br/>
	<input type="hidden" name="idimg" value="idimage"/>
	<input type="submit" value="Ajoutez votre commentaire" id="submit"/> 
	</p>
	</form>
 
</html>
Ma table "commentaires" fonctionne comme suit:
CommentaireID
pseudo
commentaire
ImageID

Merci de votre aide