BDD mysql / php5 login, password + IMAGE !

Résolu/Fermé
katarina999 Messages postés 68 Date d'inscription dimanche 30 janvier 2011 Statut Membre Dernière intervention 28 avril 2015 - 12 avril 2011 à 10:03
JooS Messages postés 2468 Date d'inscription mardi 22 janvier 2008 Statut Membre Dernière intervention 8 juin 2016 - 20 avril 2011 à 16:13
Bonjour,

Je suis en train de concevoir un site internet dans lequel j'ai une section d'inscription pour que l'utilisateur puisse se connecter.
Les informations sont stockées dans une base de données qui contient les champs suivants : no_user, user, password.
J'arrive à uploader et afficher les logins et passwords et les utiliser pour une connexion.


Cependant je ne sais pas comment m'y prendre pour la conception de la base de données pour les images. Je suis capable d'uploader des images dans un dossier mais sans base de données.

Mes questions sont les suivantes :
Comment faire pour uploader une image dans une base de données ?
Comment faire pour qu'elle soit renommée avec le login de l'utilisateur ?
Comment l'afficher en fonction de l'utilisateur ?
Quelles sont les champs à avoir dans sa base de données pour les images ? Faut-il une autre table ou simplement rajouter des champs ?

J'espère avoir été précise.

Merci de votre attention.

@ bientôt !

Kat.
A voir également:

5 réponses

JooS Messages postés 2468 Date d'inscription mardi 22 janvier 2008 Statut Membre Dernière intervention 8 juin 2016 228
Modifié par JooS le 19/04/2011 à 20:41
Re, tiens, essaye avec ça ...
<?php
$connexion = mysql_connect("localhost", "root", "") or die("Impossible de se connecter : " . mysql_error());
mysql_select_db("test",$connexion) or die("Une erreur est survenue : " . mysql_error());

if(isset($_GET['no_image'])) $no_image = htmlentities($_GET['no_image']); 

if(isset($_GET['no_image']) AND !isset($_POST['jaime'])) {
    $no_image = $_GET['no_image'];
	$requete = "SELECT * FROM images WHERE no_image = '$no_image'";
	$resultats = mysql_query($requete,$connexion) or die("Une erreur est survenue : " . mysql_error());

		if($ligne = mysql_fetch_array($resultats))
		{
			$nbre_votes = $ligne["votes"];
			echo '
			<p><img src="img/'.$ligne["img_album"].'"/></p>
			<p><span class="votes">'.$nbre_votes.'</span> personne(s) aime(nt) cette image.</p>';
		}
}

session_start(); 

if(!isset($_SESSION['images_id'][0])) $_SESSION['images_id'][0] = 0; 
elseif(isset($_SESSION['images_id'][0]) AND isset($no_image)) { 
  $i = 0; 
  while(isset($_SESSION['images_id'][$i])) { 
    if($_SESSION['images_id'][$i] == $no_image) $bool = FALSE; 
    $i++; 
  } 

 $last_case = $i; 
 
  if(!isset($bool)) { 

	if (isset($_POST['jaime'])) {
		$_SESSION['images_id'][$last_case] = $no_image; 
		$requete = "UPDATE images SET votes = votes+1 WHERE no_image = '$no_image'";
		$resultats = mysql_query($requete,$connexion) or die("Une erreur est survenue : " . mysql_error());

		#echo "<meta http-equiv='refresh' content='0';URL=fiche_image.php?no_image=".$_GET['no_image'].".php?refresh=1'>"; 
	}
?>

	<form method="POST" action="#">
		<input type="submit" name="jaime" value="J'aime" />
	</form>
<br />	
<?php
  }
}

$i = 0; 
    while(isset($_SESSION['images_id'][$i])) { 
        echo $i.' => Image Numero '.$_SESSION['images_id'][$i].'<br>'; 
        $i++; 
    } 
mysql_close($connexion);
?>
2
katarina999 Messages postés 68 Date d'inscription dimanche 30 janvier 2011 Statut Membre Dernière intervention 28 avril 2015
20 avril 2011 à 08:50
Franchement chapeau ! Ça fonctionne correctement ! 1000 merci !
Cependant, je comprends pas vraiment la variable $bool, permet-elle simplement de faire afficher le bouton j'aime ?

La variable $last_case sert juste à ajouter un no dans le tableau de session, est-ce bien ca ?

À parti de maintenant tu seras mon sensei php ! :p

Merci beacoup !

@ très bientôt !
0
JooS Messages postés 2468 Date d'inscription mardi 22 janvier 2008 Statut Membre Dernière intervention 8 juin 2016 228
Modifié par JooS le 20/04/2011 à 13:52
Loool ..

Cependant, je comprends pas vraiment la variable $bool, permet-elle simplement de faire afficher le bouton j'aime ?
Oui c'est cela, j'avais changer un peut le code, donc il n'est pas necesaire de mettre FALSE, tu peut y stocker ce que tu veut, pour vu qu'elle existe...alors si la variable $bool existe, ça veut dire qu'on a bien rencontrer(dans la session) un id correspondant a l'id de l'image ... donc on affichera pas jaime ...
sinon, si cette variable n'existe pas, alors on affiche le boutton jaime ..

La variable $last_case sert juste à ajouter un no dans le tableau de session, est-ce bien ca ?
On réalité je l'ai mis juste pour que tu comprenne, parce que aprés avoir parcouru le tableau, en sortant de la boucle le conteur $i sera égale a la dernière case du tableau(qui est vide), alors j'ai mis la valeur de $i dans $last_case, sinon, tu peut enlever $last_case et mettre $i directement ...
0
katarina999 Messages postés 68 Date d'inscription dimanche 30 janvier 2011 Statut Membre Dernière intervention 28 avril 2015
20 avril 2011 à 16:02
Merci de toutes tes aides et précisions ! Dommage qu'il n'y a pas de liste d'amis sur ccc.net x)
En tout cas bien joué encore !

@ la prochaine !
0
JooS Messages postés 2468 Date d'inscription mardi 22 janvier 2008 Statut Membre Dernière intervention 8 juin 2016 228
20 avril 2011 à 16:13
:), pas de quoi ...

a+ ...
0
JooS Messages postés 2468 Date d'inscription mardi 22 janvier 2008 Statut Membre Dernière intervention 8 juin 2016 228
Modifié par JooS le 14/04/2011 à 16:51
Salut ...
Je te conseille pas d'enregistrer les avatars des membres dans la base de données vu que ça agrandira la taille et ralentira ta bdd.

Tu peut crée un dossier fixe pour les avatars des membres, genre images/users/ ...
Puis dans le formulaire d'inscription, ou dans le panneau de configuration de l'utilisateur, tu ajoute un champ pour l'upload de l'image ...

Quant a la partie script, il existe des fonctions php pour traiter des images, alors tu peut avec, créer un nouvelle image a partir de celle uploadé, puis réduire les dimensions si ces dernières sont hors limite, et tu peut même renommer l'image, et ainsi n'enregistrer que le nom de l'image ou son url dans la base de données.

Bien sure, il faut que le nom choisis soit unique pour éviter l'écrasement d'autre images.

a+

PS: Si malgré tout, tu veut stocker tes images dans la bdd, alors jette un coup d'oeil ici.
1
katarina999 Messages postés 68 Date d'inscription dimanche 30 janvier 2011 Statut Membre Dernière intervention 28 avril 2015
15 avril 2011 à 11:35
Tout d'abord merci de m'avoir répondu.

En fait l'image que je vais uploader sera envoyer dans un dossier IMG.
Mais j'aimerais que le nom de l'image soit renommée avec le nom de l'utilisateur. Mais j'ignore comment faire.

Merci encore !
0
JooS Messages postés 2468 Date d'inscription mardi 22 janvier 2008 Statut Membre Dernière intervention 8 juin 2016 228
Modifié par JooS le 15/04/2011 à 12:18
Salut, Est ce que tu t'es documenter sur les fonction php pour le traitement d'image ...?
0
katarina999 Messages postés 68 Date d'inscription dimanche 30 janvier 2011 Statut Membre Dernière intervention 28 avril 2015
15 avril 2011 à 15:13
J'avais déjà crée un graphique avec des images, mais ça remonte un petit peu.
Suis-je obligée de passer par là pour renommer une image que j'upload dans un dossier ?
0
JooS Messages postés 2468 Date d'inscription mardi 22 janvier 2008 Statut Membre Dernière intervention 8 juin 2016 228
Modifié par JooS le 15/04/2011 à 15:20
Oui, il est nécessaire ...
Je vais essayer de t'aider avec le type .jpg ..., mais ça sera a toi de continuer pour .png, et .gif
0
JooS Messages postés 2468 Date d'inscription mardi 22 janvier 2008 Statut Membre Dernière intervention 8 juin 2016 228
Modifié par JooS le 29/06/2011 à 00:14
OK ...Essaye si ça marche ...(a améliorer)

$ListeExtension = array('jpg' => 'image/jpeg', 'jpeg'=>'image/jpeg');    
$ListeExtensionIE = array('jpg' => 'image/pjpeg', 'jpeg'=>'image/pjpeg');


1 - Tu recupere le nom du fichier ...
$nom_image = $_FILES['mon_fichier']['name'];


2 - Tu récupère l'extension de l'image avec la fonction explode...
$extension = explode('.', $nom_image );
$extension = extension[1];


3 - Tu peut ajouter ici une fonction qui rend $extension en minuscule, et une autre qui récupère la bonne partie du tableau $extension au cas ou le nom comporterait plus d'un point ( . )

4 - En supposant qu'il n'y a qu'un seul point dans le nom de l'image, donc l'extension sera stocké dans la deuxième case du tableau $extension qui est $extension[1], alors tu crée une condition pour le traitement de l'image de type jpeg ou jpg ...
   
  if($extension == 'jpg') {


6 - Tu vérifie le mime de l'image.
$ImageInfos = getimagesize($_FILES['mon_fichier']['tmp_name']);    
  if($ImageInfos['mime'] == $ListeExtension[$extension]  || $ImageInfos['mime'] == $ListeExtensionIE[$extension]) {


7 - Tu crée une image a partir de celle envoyé.
$ImageChoisie = imagecreatefromjpeg($_FILES['mon_fichier']['tmp_name']);


8 - Tu récupère la taille de l'image, pour que si cette derniere est hors limites, on la redimensionne ...(ce qui nous importe le plus c'est la largeur (+150px))
$TailleImage = getimagesize($_FILES['mon_fichier']['tmp_name']); 
   if($TailleImage[1] >= 150) {


9 - redimensionnement, en gardant les proportions ...

$Largeur = 256; 
$Reduction = ( ($Largeur * 100)/$TailleImage[0] ); 
$Hauteur = ( ($TailleImage[1] * $Reduction)/100 );


10 - Creation de la nouvelle image .
$NouvelleImage = imagecreatetruecolor($Largeur , $Hauteur) or die ("Erreur"); 
imagecopyresampled($NouvelleImage , $ImageChoisie  , 0,0, 0,0, $Largeur, $Hauteur, $TailleImage[0],$TailleImage[1]); 
$NomImage = // exemple le pseudo, ou autre, mais il faut que ça soit unique; 
imagejpeg($NouvelleImage , 'images/membres/'.$NomImage.'.'.$extension, 100); 

$image = $NomImage.'.'.$extension;


//Puis tu stocke $image dans un champ par exemple "avatar" dans la table des utilisateurs ...
1
katarina999 Messages postés 68 Date d'inscription dimanche 30 janvier 2011 Statut Membre Dernière intervention 28 avril 2015
16 avril 2011 à 15:09
ooooh merci merci !
Tu es fantastique !
0
JooS Messages postés 2468 Date d'inscription mardi 22 janvier 2008 Statut Membre Dernière intervention 8 juin 2016 228
16 avril 2011 à 15:47
Oui, on me le dit souvent, ^_^, non je plaisante, d'ailleurs jamais O_o' ... !!!

PS: Le code est a améliorer, parce qu'il ne fonctionnera pas dans le cas ou le nom du fichier envoyé comporterait plus d'un point, exemple : une_._image.jpg , alors il y aura une erreur ...
Il ne fonctionnera non plus dans le cas ou l'extension serait en majuscule...donc soit tu convertie le nom en minuscule, soit tu ajoute une condition ...
Puis il faut que tu continue avec tout les type d'images...pas seulement le jpg ...

A+
0
katarina999 Messages postés 68 Date d'inscription dimanche 30 janvier 2011 Statut Membre Dernière intervention 28 avril 2015
16 avril 2011 à 16:21
Merci beaucoup pour ton aide ! Les gens sont aveugles x__X ... !!!

J'aurais une dernière question, ensuite je te laisserai tranquille :p
Le site que je suis en train de créer est basé sur un système de vote. L'utilisateur peut cliquer sur le bouton J'aime pour ajouter un vote à l'image. Il ne peut donc pas voter deux fois pour la même image.

J'ai utilisé une variable de session qui est crée à chaque fois que l'utilisateur vote.
Quand la variable est crée le bouton "J'aime" disparaît. Jusque la tout va bien.

Mon problème est que lorsque l'utilisateur vote pour une seconde image, le bouton réapparaît pour l'image précédente HORS que ce bouton devrait avoir disparu : il peut finalement voter plusieurs fois pour la même image.

J'ai pensé à renommer la session avec le no_image : $_SESSION['$no_image']) mais apparemment ça ne marche, peut-être que la concaténation ne marche pas ou qu'il faut procéder autrement.

Je te laisse mon code si tu veux bien vouloir m'aider.

if(($_SESSION['no_image']) == $_GET['no_image']) 
{
	echo'<p>Merci d\'avoir vot&eacute pour cette image.</p>';
}
 
else
{
	if (isset($_POST['jaime']))
	{
		$vote_user = $nbre_votes + 1;
		session_start();
		$_SESSION['no_image'] = $_GET['no_image']; #la session contient l'ID de l'image
		$requete = "UPDATE images set votes = ".$vote_user." WHERE no_image = ".$no_image.";";
		$resultats = mysql_query($requete,$connexion) or die("Une erreur est survenue : " . mysql_error());
		
		
		echo "<meta http-equiv='refresh' content='0';URL=fiche_image.php?no_image=".$_GET['no_image'].".php?refresh=1'>"; 
	}
	
	echo'
	<form method="POST">
		<input type="submit" name="jaime" value="J\'aime" />
	</form>
	';
}


Bises.

Kat.
0
JooS Messages postés 2468 Date d'inscription mardi 22 janvier 2008 Statut Membre Dernière intervention 8 juin 2016 228
16 avril 2011 à 18:37
C'est normale, puisque a chaque vote, il supprime l'ancienne valeur stocké dans la session(qui contient l'id du dernier vote) et il mets l'id de la nouvelle image, et ainsi de suite a chaque vote.

Tu peut plutôt faire une concaténation ....genre ...
$_SESSION['no_image'] .= ' '.$_GET['no_image'];
Ou bien avec un tableau.

Donc disons que tu as voter pour une image dont l'id est 8 puis une image dont l'id est 16, alors $_SESSION['no_image'] contiendra "8 16" ...

Et ainsi de suite, le seul prob, c'est que dés que la session sera détruite, l'utilisateur pourra revoter pour toutes les images.

Tu peut utiliser une triple vérification ...
IP, Cookie, Session
1
katarina999 Messages postés 68 Date d'inscription dimanche 30 janvier 2011 Statut Membre Dernière intervention 28 avril 2015
16 avril 2011 à 19:14
Merci pour tes conseils !

J'ai essayé avec le tableau de session, mais je galère avec =/
J'ai même essayé avec les cookies mais j'ai une erreur HEADER quelque chose, j'ai vu sur le net qu'il fallait mettre le SET_COOKIE en première position mais rien à faire, je suis complètement perdue.

Que faire ?

Merci encore pour tes réponses !
0
JooS Messages postés 2468 Date d'inscription mardi 22 janvier 2008 Statut Membre Dernière intervention 8 juin 2016 228
16 avril 2011 à 21:01
Bon, c'est a améliorer donc ...
Exécute le seul dans une page ...Pour comprendre son fonctionnement, après, tu pourra l'utiliser pour ton système.

<div align="center">
<?php
if(isset($_GET['img_id']) AND !isset($_POST['img_id'])) $img = htmlentities($_GET['img_id']);
elseif(isset($_POST['img_id']) AND !isset($_GET['img_id'])) $img = htmlentities($_POST['img_id']);
elseif(isset($_GET['vote']) AND $_GET['vote']=='ok') echo 'Votre Vote a bien ete pris en considération.<br>';
elseif(isset($_GET['vote']) AND $_GET['vote']=='pasok') echo 'Vous avez deja voter.<br>';
else echo 'Image non disponible.<br>';

session_start();
if(!isset($_SESSION['images_id'][0])) $_SESSION['images_id'][0] = 0;

elseif(isset($_SESSION['images_id'][0]) AND isset($img)) {
  $i = 0;
  while(isset($_SESSION['images_id'][$i])) {
    if($_SESSION['images_id'][$i] != $img) $bool = TRUE;
    else {
        $bool = FALSE;
        header("Location: http://localhost/a.php?vote=pasok");
    }
    $i++;
  }
 $last_case = $i;
  if($bool) {
    if(isset($_POST['img_id'])) {
        $_SESSION['images_id'][$last_case] = $img;
        header("Location: http://localhost/a.php?vote=ok");
    }
?>
<form method="post" action="a.php">
  <input type="hidden" name="img_id" value="<?php echo $img ?>" />
  <p><input type="submit" value="Voter" /></p>
</form>
<p>_________________________________</p>
<?php
  }
}
$i = 0;
    while(isset($_SESSION['images_id'][$i])) {
        echo $i.' => Image Numero '.$_SESSION['images_id'][$i].'<br>';
        $i++;
    }
?></div>
0
katarina999 Messages postés 68 Date d'inscription dimanche 30 janvier 2011 Statut Membre Dernière intervention 28 avril 2015
16 avril 2011 à 22:22
OOOOOOOH MERCI !!

Je testerai cela demain, je suis un peu fatiguée, je vais me coucher.
Mais ça a l'air quand même complexe !

Ne serait-ce pas plus simple en créant un cookie par vote ? Ce cookie contiendrait le numéro de l'image.
Et si le cookie existe le formulaire est désactivé.

Est-ce possible ?

Merci beaucoup pour ton soutien et tes précieux conseils !

Bises, bonne soirée @ demain ! ;)

Kat.
0
JooS Messages postés 2468 Date d'inscription mardi 22 janvier 2008 Statut Membre Dernière intervention 8 juin 2016 228
16 avril 2011 à 23:01
C'est moins sécurisé avec les cookies, vu qu'il suffit que l'utilisateur nettoie son cache pour détruire le cookie, et ainsi revoter ...
En plus, l'utilisateur pourra modifier le contenu du cookie, donc ça nous aide pas ...
0
katarina999 Messages postés 68 Date d'inscription dimanche 30 janvier 2011 Statut Membre Dernière intervention 28 avril 2015
17 avril 2011 à 17:42
Merci de m'avoir répondu !

J'ai testé ton petit script mais je ne le comprends pas du tout. =/
Il faudrait que je trouve comment créer un tableau de session et comment rajouter les sessions que je crée qui contiennent le no de l'image en votant à l'intérieur du tableau.

Ça craint -__-

Bon dimanche !

@+ !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
JooS Messages postés 2468 Date d'inscription mardi 22 janvier 2008 Statut Membre Dernière intervention 8 juin 2016 228
Modifié par JooS le 17/04/2011 à 21:15
Voila, j'ai ajouter des commentaire ... En espérant que ça peut t'aider ...
$_SESSION['no_img'][$x] est un tableau ...
Case 1 du tableau : $_SESSION['no_img'][0] = 5;
Case 2 du tableau : $_SESSION['no_img'][1] = 6;
Case 3 du tableau : $_SESSION['no_img'][2] = 48;
etc ...

Si tu fait echo, tu aura les valeur 5, 6, 48 ... qui représentent dans notre cas les id des images ...

<div align="center"> 

<?php 
// Si la variable GET['img_id'] existe, et POST['img_id'] n'existe pas, alors on met l'id de l'image en cours dans la variable $img 
if(isset($_GET['img_id']) AND !isset($_POST['img_id'])) $img = htmlentities($_GET['img_id']); 

// Sinon, si c'est le contraire, On met l'id de l'image dans $img 
elseif(isset($_POST['img_id']) AND !isset($_GET['img_id'])) $img = htmlentities($_POST['img_id']); 

//Sinon, si c'est $_GET['vote'] qui existe et est égale a "ok", on affiche le message de succée 
elseif(isset($_GET['vote']) AND $_GET['vote']=='ok') echo 'Votre Vote a bien ete pris en considération.<br>'; 

// Sinon, si elle est egale a "pasok", ça veut dire qu'il a deja voter 
elseif(isset($_GET['vote']) AND $_GET['vote']=='pasok') echo 'Vous avez deja voter.<br>'; 

// Il nous reste le cas ou l'utilisateur veut jouer avec l'url, et qu'il essaye de mettre n'importe quoi, alors on lui affiche que l'image n'existe pas. 
else echo 'Image non disponible.<br>'; 

// On lance la session 
session_start(); 

// Dans le cas ou notre session image_id n'existe pas(ça veut dire que c'est la première visite de l'utilisateur sur ton site), on la crée et on l'initialise a 0 
if(!isset($_SESSION['images_id'][0])) $_SESSION['images_id'][0] = 0; 

//Sinon, si la session existe, et que $img existe(ça veut dire qu'on a l'id de l'image dans $img),  
elseif(isset($_SESSION['images_id'][0]) AND isset($img)) { 
  
  // Initialisation du compteur 
  $i = 0; 
  
  //Tant qu'il ya des resultats dans le tableau, on le parcours ... 
  while(isset($_SESSION['images_id'][$i])) { 
    
    // Si la case courante du tableau de la session est different a $img, $bool reçoit TRUE, comme quoi, l'utilisateur n'a jamais voter pour cette image($img) 
    if($_SESSION['images_id'][$i] != $img) $bool = TRUE; 
   
  // Sinon, ça veut dire que l'utilssateur a deja voter pour cette image, puisque il existe un id dans le la session qui est egale a l'id de l'image en cours, alors $bool reçoit False, et on sera redirigé vers  ...?vote=pasok qui affichera "Vous avez deja voter" 
    else { 
        $bool = FALSE; 
        header("Location: http://localhost/a.php?vote=pasok"); 
    } 
  
   //Incrémentation du compteur pour le parcours du tableau 
    $i++; 
  } 
 
  // On mets la taille du tableau dans une variable, puis que a la fin de la boucle, $i contiendra la dernière case du tableau, qui et sa taille ... 
 $last_case = $i; 
 
 //Si $bool = TRUE(ça veut dire si on a trouver aucun id dans la tableau qui est égale a l'id de l'image en cours) 
  if($bool) { 
    
   //On prend en consideration le vote seulement si l'utilisateur aura cliquer sur le bouton, donc le vote depend du clic, et non pas de l'url(GET) 
    if(isset($_POST['img_id'])) { 
        
       //Alors on mets l'id de l'image en cours dans la dernière case du tableau 
        $_SESSION['images_id'][$last_case] = $img; 
        
       //Puis on fait une redirection vers ...?vote=ok, qui affichera que le vote s'est bien passé 
        header("Location: http://localhost/a.php?vote=ok"); 
    } 
?> 

<!-- On affiche le formulaire seulement dans le cas ou il n'y aurait aucun id qui est egale a 'lid de l'image en cours --> 
<form method="post" action="a.php"> 
  <input type="hidden" name="img_id" value="<?php echo $img ?>" /> 
  <p><input type="submit" value="Voter" /></p> 
</form> 
<p>_________________________________</p> 
<?php 
  } 
} 


//Ici c'est juste pour afficher le contenu de la session(tableau) ... 
$i = 0; 
    while(isset($_SESSION['images_id'][$i])) { 
        echo $i.' => Image Numero '.$_SESSION['images_id'][$i].'<br>'; 
        $i++; 
    } 
?> 
</div>
1
katarina999 Messages postés 68 Date d'inscription dimanche 30 janvier 2011 Statut Membre Dernière intervention 28 avril 2015
18 avril 2011 à 20:46
Bonjour ! Tout d'abord merci pour tes commentaires !

J'ai essayé d'adapter ce script au mien mais sans la variable vote car le header location ne fonctionne pas. Du coup ça ne marche pas.

Cependant le id image sont bien stockés dans un tableau, mais on peut stocker plusieurs fois la même image.

Mon problème reste le même. =/

Merci encore pour ton soutien !

<?php
include("config.php");

$no_image=$_GET['no_image'];

#on récupère la variable dans l'URL qui contient le numero de l'image
if(isset($_GET['no_image']))
{
	$requete = "SELECT *
				FROM images
				WHERE no_image = '$no_image'";
	$resultats = mysql_query($requete,$connexion) or die("Une erreur est survenue : " . mysql_error());
	
	#on stocke les votes dans une variable
	

	if(mysql_num_rows($resultats))
	{
		while ($ligne = mysql_fetch_array($resultats))
		{
			$nbre_votes = $ligne["votes"];
			echo '
			<p><img src="img/'.$ligne["img_album"].'"/></p>
			<p><span class="votes">'.$nbre_votes.'</span> personne(s) aime(nt) cette image.</p>
			';
		}
	}
}

// Si la variable GET['no_image'] existe, et POST['no_image'] n'existe pas, alors on met l'id de l'image en cours dans la variable $img 
if(isset($_GET['no_image']) AND !isset($_POST['no_image'])) $img = htmlentities($_GET['no_image']); 

// Sinon, si c'est le contraire, On met l'id de l'image dans $img 
elseif(isset($_POST['no_image']) AND !isset($_GET['no_image'])) $img = htmlentities($_POST['no_image']); 

// On lance la session 
session_start(); 

// Dans le cas ou notre session image_id n'existe pas(ça veut dire que c'est la première visite de l'utilisateur sur ton site), on la crée et on l'initialise a 0 
if(!isset($_SESSION['images_id'][0])) $_SESSION['images_id'][0] = 0; 

//Sinon, si la session existe, et que $img existe(ça veut dire qu'on a l'id de l'image dans $img),  
elseif(isset($_SESSION['images_id'][0]) AND isset($img)) { 
  
  // Initialisation du compteur 
  $i = 0; 
  
  //Tant qu'il ya des resultats dans le tableau, on le parcours ... 
  while(isset($_SESSION['images_id'][$i])) { 
    
    // Si la case courante du tableau de la session est different a $img, $bool reçoit TRUE, comme quoi, l'utilisateur n'a jamais voter pour cette image($img) 
    if($_SESSION['images_id'][$i] != $img) $bool = TRUE; 
   
  // Sinon, ça veut dire que l'utilssateur a deja voter pour cette image, puisque il existe un id dans le la session qui est egale a l'id de l'image en cours, alors $bool reçoit False, et on sera redirigé vers  ...?vote=pasok qui affichera "Vous avez deja voter" 
    else { 
        $bool = FALSE; 
    } 
  
   //Incrémentation du compteur pour le parcours du tableau 
    $i++; 
  } 
 
  // On mets la taille du tableau dans une variable, puis que a la fin de la boucle, $i contiendra la dernière case du tableau, qui et sa taille ... 
 $last_case = $i; 
 
 //Si $bool = TRUE(ça veut dire si on a trouver aucun id dans la tableau qui est égale a l'id de l'image en cours) 
  if($bool) { 

	if (isset($_POST['jaime']))
	{
		$vote_user = $nbre_votes + 1;
		$_SESSION['images_id'][$last_case] = $img; 
		$requete = "UPDATE images set votes = ".$vote_user." WHERE no_image = ".$no_image.";";
		$resultats = mysql_query($requete,$connexion) or die("Une erreur est survenue : " . mysql_error());
			
			
		#echo "<meta http-equiv='refresh' content='0';URL=fiche_image.php?no_image=".$_GET['no_image'].".php?refresh=1'>"; 
	}
		
?>


	<form method="POST" action="">
		<input type="submit" name="jaime" value="J'aime" />
	</form>
	
<?php
	}
}
 


//Ici c'est juste pour afficher le contenu de la session(tableau) ... 
$i = 0; 
    while(isset($_SESSION['images_id'][$i])) { 
        echo $i.' => Image Numero '.$_SESSION['images_id'][$i].'<br>'; 
        $i++; 
    } 
mysql_close($connexion);
?>
0