8798 sujets

Développement web côté serveur, CMS

Bonjour!

Voilà, j'aimerais créer une sorte de script qui permettrait d'afficher à chaque ouverture de page une image différente... simplement.

Pourriez-vous m'aider ?

Merci!
Modifié par Docxell (02 Jun 2009 - 13:57)
Salut,

Tu dois passer par du Javascript pour faire ça (donc ton sujet n'a pas sa place ici).
Sur ce lien il y a différentes méthodes proposées.
Du PHP (ou un autre language serveur) ferait tout autant l'affaire et serait peut-être plus robuste (le navigateur ne peut pas désactiver un language serveur Smiley cligne ).

Pour ce qui est de rendre aléatoire un affichage d'image, il te faut : un tableau avec les références de tes images (enfin on peux aussi le faire par exploration de dossier) ; et une variable dans laquelle tu calculera une variable aléatoire allant de zéro à le-nombre-d'image.
Hello,

par exemple :
<?php
$images = array('image1.gif', 'image2.gif', 'image3.jpg');
?>
<img src="include/images/<?php echo $images[array_rand($images)]; ?>" alt="" />
J'avoue que je ne m'y connait pas beaucoup en php... mais là aucune image ne s'affiche.. Il affiche l'icône de quand l'image n'a pas su être chargée, vous savez d'où peut venir le problème?
Ohh j'ai seulement fait un dossier de test avec les images directement à la source...

j'ai fait un bête fichier html


<html>
<head>
<body>

<?php
$images = array('Numériser0004.jpg', 'Numériser0004.jpg', 'Almeria4.jpg');
?>
<img src="include/images/<?php echo $images[array_rand($images)]; ?>" alt="" />

</body>
</head>
</html>
Dans le cas le chemin des images doit être adapté :

<html>
<head>
<body>

<?php
$images = array('Numériser0004.jpg', 'Numériser0004.jpg', 'Almeria4.jpg');
?>
<img src="<?php echo $images[array_rand($images)]; ?>" alt="" />

</body>
</head>
</html>
aaaah =) le include/images voulait en fait montrer un chemin dans un dossier "images"!

Ce que j'ai fait sur le champs...



<?php
$images = array('images/Numériser0004.jpg', 'images/Numériser0004.jpg', 'images/Almeria4.jpg');
?>
<img src="include/images/<?php echo $images[array_rand($images)]; ?>" alt="" />


pourtant... toujours pareil
Docxell a écrit :
pourtant... toujours pareil
Ben oui : j'ai mis include/images/ pour préciser le chemin vers les images mais il faut adapter. Smiley cligne

Par exemple :
<?php
$images = array('Numériser0004.jpg', 'Almeria4.jpg', 'image3.jpg');
?>
<img src="images/<?php echo $images[array_rand($images)]; ?>" alt="" />


Edit: au passage, s'il s'agit d'une image purement décorative il faut adapter le script pour faire cela en css.
Modifié par Heyoan (31 May 2009 - 02:55)
Désolé, ça ne fonctionne toujours pas xD pourtant je pense avoir bien compris le code!

mais j'ai remarqué (sans savoir si c'est normal):

une fois hébergé, je lance la page (donc toujours, rien ne s'affiche) et j'affiche le code source, et il m'indique ça;



<html>

<head>
</head>

<body>

 <img src="<?php echo $images[array_rand($images)]; ?>" alt="" />

</body>

</html>


sans le


 <?php
 $images = array('image1.jpg', 'image2.jpg', 'image3.jpg');
 ?>
</html>


Est ce normal ?

Parce que là je me dis que c'est bizarre Smiley langue le script ne sait pas où aller chercher les images ?

merci!
Bon ! Pouf Pouf ! Smiley lol

Lorsque l'on génère du code HTML en utilisant PHP on doit arriver au final... au même code HTML que si on n'avait pas utilisé PHP.

Donc il faut partir d'un élément IMG classique et faire en sorte que ton image s'affiche. Par exemple, après moults essais tu arrives à :
<img src="images/monimage.jpg" alt="" />

Bingo !

Maintenant il ne te reste plus qu'à le faire en PHP et comme toutes tes images sont dans le même répertoire images il ne te reste plus qu'à faire :
<img src="[b]images/[/b]<?php echo $images[array_rand($images)]; ?>" alt="" />
T'inquiète j'avais compris tout ça Smiley lol

Mais le problème c'est que malgré cela, rien ne s'affiche!

Regarde; http://docxellweb.be/test.html

Comme tu vois, le document est à la source, avec un dossier adjacent appelé "images",
avec 'image1.jpg', 'image2.jpg', 'image3.jpg' à l'intérieur.

Donc tout devrait fonctionner non ? Pourtant...

Et si tu as le temps,... fais un peu clic droit pour afficher la source, c'est bien normal que le script php est masqué...? pense pas, mais je ne m'avancerai pas dans mes propos, je ne m'y connais pas assez Smiley langue

Encore merci pour ton aide
Euh... Pouf Pouf le retour ! Smiley biggol

Pour qu'une page contenant du code PHP soit exécutée et sauf modification du paramétrage par défaut il faut lui donner l'extension .php et pas .html !


Edit: et en local il faut installer un logiciel comme Wamp, EasyPHP, MAMP ou XAMPP.
Modifié par Heyoan (31 May 2009 - 15:06)
Hahahaha c'est parfait Smiley lol

non ça va j'héberge tout depuis le début, j'avais pas envie d'installer quoi que ce soit Smiley langue

merci pour ton aide en tout cas, et bonne journée!!!
Bonne journée à toi aussi Smiley smile !

Si tu considères que ce sujet est [Résolu] merci de l'indiquer en éditant ton premier post et en modifiant le titre. Smiley cligne