[RESOLU] Besoin d'aide : Afficher des images différentes

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Besoin d'aide : Afficher des images différentes

Re: Besoin d'aide : Afficher des images différentes

par Chabin971 » 21 mai 2014, 16:48

Ajoutes un paramètre à image.php (image.php?toto=xxx) avec xxx le numéro de ligne par exemple ou identifiant de la personne.
Hypothèse : Le navigateur pense que image.php est unique et se dispense donc de l'appeler 2 fois.
Je t'avouerais que je débute en php du coup je vois pas trop comment faire ^^'

Re: Besoin d'aide : Afficher des images différentes

par Mazarini » 21 mai 2014, 16:21

Ajoutes un paramètre à image.php (image.php?toto=xxx) avec xxx le numéro de ligne par exemple ou identifiant de la personne.
Hypothèse : Le navigateur pense que image.php est unique et se dispense donc de l'appeler 2 fois.

Re: Besoin d'aide : Afficher des images différentes

par xTG » 21 mai 2014, 16:17

Je dirais que c'est un problème de cache, le navigateur voit que tu rappelles deux fois la même image, il ne la télécharge qu'une seule fois (ton script n'est donc exécuté que pour la première balise img).
Regardes du côté de la fonction header() pour interdire le cache. ;)

Besoin d'aide : Afficher des images différentes

par Chabin971 » 21 mai 2014, 16:04

Bonjour à tous.

J'ai besoin d'aide pour afficher des images aléatoires différentes. Je m'explique:

J'ai un code me permettant de générer des images grâce à d'autres images (Ex : un personnage avec uniquement des yeux bleus + un autre avec uniquement une cravate verte = un personnage avec des yeux bleus ET une cravate verte )

Jusque la, rien de compliqué ^^

Voici mon code :
<?php	
	//1. On classe les images dans des tableaux
		$yeux = array("yeux1.png","yeux2.png","yeux3.png");
		$cravate = array("cravate1.png","cravate2.png","cravate3.png");
		$col = array("col1.png","col2.png","col3.png");
		$tshirt = array("tshirt1.png","tshirt2.png","tshirt3.png");
		
	//2. On choisit une image aléatoire pour chaque tableau
		$yeuxaleat = $yeux[rand(0,2)];
		$cravatealeat = $cravate[rand(0,2)];
		$colaleat = $col[rand(0,2)];
		$tshirtaleat = $tshirt[rand(0,2)];
		
	//3. On fusionne les images 
		header("Content-type: image/png");
        $source = imagecreatefrompng("../img/".$yeuxaleat."");
        $source2 = imagecreatefrompng("../img/".$colaleat."");
        $source3 = imagecreatefrompng("../img/".$tshirtaleat."");
        $destination = imagecreatefrompng("../img/".$cravatealeat."");
        imagecopymerge($destination, $source, 0, 0, 0, 0, 3501, 3491,50);
        imagecopymerge($destination, $source2, 0, 0, 0, 0, 3501, 3491,50);
        imagecopymerge($destination, $source3, 0, 0, 0, 0, 3501, 3491,50);
        imagepng($destination); 
Ce code fonctionne nickel et j'arrive à peu près à obtenir ce que je voulais (à l'exception des couleurs qui sont trop "transparentes" a mon gout)

Ensuite, j'ai une base de donnée simple qui contient uniquement les identifient,nom et prénom de personnes inventées.

Et pour finir, j'ai une page php sur laquelle je recupere les informations de la base de donnée ET les images aléatoires

Voila son code :
<!DOCTYPE html>
<html lang="fr">
<html>

  <head>
    <title>Superpositions d'images</title>
    <meta charset="utf-8"> 
     <link rel="stylesheet" href="design.css">
  </head>
<h2> Voici la liste des personnes :</h2>
  <body>
		<?php
			include ('connexion_base.php');
			$id_connexion = connexion();
			if ($id_connexion->connect_errno ==0) 
			{
				$requete = 'select * from personne';
				$resultat = $id_connexion->query($requete);	
				$nbrepersonnes = $resultat->num_rows;
				echo 'Il y\'a actuellement '.$nbrepersonnes.' personne(s) enregistrées.<br>';
				echo '<table>';	
				echo '<tr><td>Identifiant</td><td>Prénom</td><td>Nom</td><td>Image</td></tr><br>';
				while ($personne = $resultat->fetch_object())
				{
					echo '<tr><td>'.$personne->id_personne.'</td><td>'.$personne->prenom.'</td><td>'.$personne->nom.'</td><td><img src="image.php" /></td></tr>';
				}
				echo '</table>';
			}
		?>
  </body>

</html>

Le problème ? Toutes les images sont identiques ! Elles changent quand on rafraichit la page mais les 2 personnes auront toujours la même image, alors que mon but est que chaque personne ait une image aléatoire. Je ne veux pas qu'une image aléatoire soit créée et utilisée pour tous [voir ci-dessous]
PS : Je ne sais pas si j'ai été clair dans ce dernier paragraphe xD n'hésitez pas à me laisser un message si vous pensez avoir mal compris.
memeimage1.png
memeimage2.png
Merci d'avance pour votre aide :)