Page aleatoire
louis1984 Messages postés 344 Statut Membre -
J'aimerais que sur ma page d'accueil il y ai une partie qui affiche un contenu different chaque jour.
Dans ce contenu il y aura du texte, une image et un lien. Je dispose de 10 pages differentes qui doivent s'afficher aleatoirement chaque jour.
Est-ce possible de faire ca? si oui, comment faire?
Configuration: Windows Vista Internet Explorer 7.0
42 réponses
- 1
- 2
- 3
La problématique consiste à faire afficher, sur la page d'accueil, un contenu différent chaque jour parmi 10 pages, comprenant texte, image et lien, de manière automatique et récurrente. Des approches basées sur PHP suggèrent d'utiliser la date du jour (par exemple date('j')) pour déterminer quel contenu afficher, puis de transmettre ce chiffre via un paramètre jour dans l'URL. Dans le fichier qui gère le contenu du jour, on peut convertir la valeur du jour en un indice entre 1 et 10 (avec modulo 10), puis afficher le contenu correspondant. En pratique, une solution simple consiste à générer le lien jour avec la date du jour, puis à récupérer ce paramètre sur la page cible pour charger le contenu correspondant.
-
En php...
Cela dit, Louis, je crois d'après cet échange que vous êtes débutant.
Alors ne cherchez pas compliqué pour l'instant.
Réussissez déjà à faire une seule page fixe sans erreurs, respectant les standards et la sémantique, fonctionnant sur tous les navigateurs, et après on pourra parler de choses plus "exotiques". -
Merci notobe... je suis debutant mais j'ai envie d'avancer sur mon site.. j'ai deja corriger la plutpart des erreurs sur mon site et il fonctionne sur tous les navigateurs excepter pour les histoires d'arrondis ou je dois utiliser roudies pour IE.. mais je ferai ca plus tard.
Donc pour ce qui est de mon probleme actuel j'ai trouver la fonction suivante:
<?php $date=explode(",", date("H,i,s,m,d,Y")); ?>
<a href="contenu_du_jour.php?article?id=<? echo $date[4]; ?>">contenu du jour</a>
Mais je ne sais pas trop comment je dois faire a present pour arriver a ce que je veux a partir de ce code, quelqu'un pourrait-il m'aider? -
contenu_du_jour.php?article?id=<? echo $date[4]; ?>
Commence par remplace "<?" par "<?php", et "?article?id=" par "?jour=". Donc tu obtiendra ceci :contenu_du_jour.php?jour=<?php echo $date[4]; ?>
Ensuite, dans "contenu_du_jour.php" :<?php if($_GET['jour'] == '1') { echo 'Jour 1'; } elseif($_GET['jour'] == '2') { echo 'Jour 2'; } elseif ( ... ) { ... } ?> -
Merci bcp avion, mais je ne comprends pas tres bien comment je dois organiser mon site...
En gros je creer un page contenu_du_jour.php ou je mets le code:
<?php
if($_GET['jour'] == '1') {
echo 'Jour 1';
} elseif($_GET['jour'] == '2') {
echo 'Jour 2';
} elseif($_GET['jour'] == '3') {
echo 'Jour 3';
}
?>
(si par exemple j'ai 3 fichiers qui doivent apparaitre aleatoirement).
Et ensuite ou dois-je mettre la partie suivante:
<?php $date=explode(",", date("H,i,s,m,d,Y")); ?>
<a href="contenu_du_jour.php?jour=<?php echo $date[4]; ?>
Dans la meme page? (contenu_du_jour)?
Et ou est-ce que je dois mettre le contenu qui doit s'afficher aleatoirement. Si par exemple je veux afficher le texte "AAAAAAAA" le jour 1, "BBBBBBB" le jour 2 et "CCCCCC" le jour 3?
Merci pour ton aide. -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Ton code est long inutilement
<a href="contenu_du_jour.php?jour=<?php echo date('j'); ?>suffit.
"Et ou est-ce que je dois mettre le contenu qui doit s'afficher aleatoirement. Si par exemple je veux afficher le texte "AAAAAAAA" le jour 1, "BBBBBBB" le jour 2 et "CCCCCC" le jour 3?"
La :<?php if($_GET['jour'] == '1') { echo 'Jour 1'; } elseif($_GET['jour'] == '2') { echo 'Jour 2'; } elseif ( ... ) { ... } ?> -
Juste pour etre sur, si par exemple j'ai 10 contenus a afficher aleatoirement, je dois mettre dans ma page "contenu_du_jour.php" le code suivant tel quel:
<a href="contenu_du_jour.php?jour=<?php echo date('j'); ?>
<?php
if($_GET['jour'] == '1') {
echo 'Jour 1';
} elseif($_GET['jour'] == '2') {
echo 'Jour 2';
} elseif($_GET['jour'] == '3') {
echo 'Jour 3';
} elseif($_GET['jour'] == '4') {
echo 'Jour 4';
} elseif($_GET['jour'] == '5') {
echo 'Jour 5';
} elseif($_GET['jour'] == '6') {
echo 'Jour 6';
} elseif($_GET['jour'] == '7') {
echo 'Jour 7';
} elseif($_GET['jour'] == '8') {
echo 'Jour 8';
} elseif($_GET['jour'] == '9') {
echo 'Jour 9';
} elseif($_GET['jour'] == '10') {
echo 'Jour 10';
}
?>
Le probleme est que j'ai ce message quand je lance la page contenu_du_jour.php:
<a href="contenu_du_jour.php?jour=10
.... de plus comment je peux faire une boucle, c'est a dire que au bout du 10eme jour, la page affiche le jour 1 ? -
Tu as tout compris.
Pour la boucle :<?php $_GET['jour'] = $_GET['jour'] % 10; if($_GET['jour'] == '1') { echo 'Jour 1'; } elseif($_GET['jour'] == '2') { echo 'Jour 2'; } elseif($_GET['jour'] == '3') { echo 'Jour 3'; } elseif($_GET['jour'] == '4') { echo 'Jour 4'; } elseif($_GET['jour'] == '5') { echo 'Jour 5'; } elseif($_GET['jour'] == '6') { echo 'Jour 6'; } elseif($_GET['jour'] == '7') { echo 'Jour 7'; } elseif($_GET['jour'] == '8') { echo 'Jour 8'; } elseif($_GET['jour'] == '9') { echo 'Jour 9'; } elseif($_GET['jour'] == '10') { echo 'Jour 10'; } ?> -
Merci!
Mais il y a un petit probleme technique car on est le 10 aujourdhui et il devrait m'afficher "Jour10"
Au lieu de ca il m'affiche: <a href="contenu_du_jour.php?jour=10
... une idee? -
Bonsoir, <a href="contenu_du_jour.php?jour=<?php echo date('j'); ?>">contenu du jour</a>, peut-être ?
-
Merci Bertrand,
Mais maintenant il m'affiche un lien "contenu du jour" au lieu d'afficher le texte "Jour 10"... -
Et bien contenu du jour est à remplacer par Jour10, que tu récupères avec ta boucle non ? Il te manque juste la fermeture du lien.
<a href="contenu_du_jour.php?jour=<?php echo date('j'); ?>">
<?php
$_GET['jour'] = $_GET['jour'] % 10;
if($_GET['jour'] == '1') {
echo 'Jour 1';
} elseif($_GET['jour'] == '2') {
echo 'Jour 2';
} elseif($_GET['jour'] == '3') {
echo 'Jour 3';
} elseif($_GET['jour'] == '4') {
echo 'Jour 4';
} elseif($_GET['jour'] == '5') {
echo 'Jour 5';
} elseif($_GET['jour'] == '6') {
echo 'Jour 6';
} elseif($_GET['jour'] == '7') {
echo 'Jour 7';
} elseif($_GET['jour'] == '8') {
echo 'Jour 8';
} elseif($_GET['jour'] == '9') {
echo 'Jour 9';
} elseif($_GET['jour'] == '10') {
echo 'Jour 10';
}
?>
</a>
-
On dirait que je suis maudit.. si j'integre le code que tu indiques, la pages ne m'affiche rien du tout cette fois...
-
met ce que tu as a fait, on avancera plus vite.
-
Donc j'ai creer une page contenu_du_jour.php qui contient ca:
<a href="contenu_du_jour.php?jour=<?php echo date('j'); ?>">
<?php
$_GET['jour'] = $_GET['jour'] % 10;
if($_GET['jour'] == '1') {
echo 'Jour 1';
} elseif($_GET['jour'] == '2') {
echo 'Jour 2';
} elseif($_GET['jour'] == '3') {
echo 'Jour 3';
} elseif($_GET['jour'] == '4') {
echo 'Jour 4';
} elseif($_GET['jour'] == '5') {
echo 'Jour 5';
} elseif($_GET['jour'] == '6') {
echo 'Jour 6';
} elseif($_GET['jour'] == '7') {
echo 'Jour 7';
} elseif($_GET['jour'] == '8') {
echo 'Jour 8';
} elseif($_GET['jour'] == '9') {
echo 'Jour 9';
} elseif($_GET['jour'] == '10') {
echo 'Jour 10';
}
?>
</a> -
Pourquoi mets-tu le PHP dans la balise a ?
Tu fais simplement un lien "<a href="contenu_du_jour.php?jour=<?php echo date('j'); ?>">Lien</a>" et dans contenu_du_jour.php tu mets le code PHP. -
On est le 10 janvier.
%10 = 0 non ?
Comme aucune condition ne remplit le cas où $_GET['jour'] == 0, ça n'affiche rien, c'est normal. -
Il devrait m'afficher ma page numero 10... puisque j'ai dix pages...
comment je peux faire? j'avoue que je comprends pas bien l'histoire des 10%..
autre question, comment je peux faire pour que le contenu d'affiche directement sur ma page sans avoir a cliquer sur le lien? En gros a la place d'avoir le lien j'aimerais le contenu de la page numero 10... -
Je n'y avais pas pensé.
La solution serait de faire de 0 à 9 et :if($_GET['jour'] > 10) { $_GET['jour'] = $_GET['jour'] % 10; } else { $_GET['jour'] = $_GET['jour'] - 1; } -
voilà, ou changer ça :
elseif($_GET['jour'] == '10') {
echo 'Jour 10'; }
par ça :
elseif($_GET['jour'] == '0') {
echo 'Jour 10'; }
PS : les { } sont inutiles dans ton cas-
Plus court tu as :
SWITCH ($_GET['jour'])
{
case 0 : echo 'Jour10';
break;
case 1 : echo 'Jour1';
break;
case 2 : echo 'Jour2';
break;
case 3 : echo 'Jour3';
break;
case 4 : echo 'Jour4';
break;
case 5 : echo 'Jour5';
break;
case 6 : echo 'Jour6';
break;
case 7 : echo 'Jour7';
break;
case 8 : echo 'Jour8';
break;
case 9 : echo 'Jour9';
break;
}
-
-
Merci avion j'ai mis ca dans ma page contenudujour:
<?php
if($_GET['jour'] > 10) {
$_GET['jour'] = $_GET['jour'] % 10;
} else {
$_GET['jour'] = $_GET['jour'] - 1;
}
if($_GET['jour'] == '1') {
echo 'Jour 1';
} elseif($_GET['jour'] == '2') {
echo 'Jour 2';
} elseif($_GET['jour'] == '3') {
echo 'Jour 3';
} elseif($_GET['jour'] == '4') {
echo 'Jour 4';
} elseif($_GET['jour'] == '5') {
echo 'Jour 5';
} elseif($_GET['jour'] == '6') {
echo 'Jour 6';
} elseif($_GET['jour'] == '7') {
echo 'Jour 7';
} elseif($_GET['jour'] == '8') {
echo 'Jour 8';
} elseif($_GET['jour'] == '9') {
echo 'Jour 9';
} elseif($_GET['jour'] == '10') {
echo 'Jour 10';
}
?>
Et ca marche. J'ai le lien qui m'amene a www.monsite/contenu_du_jour.php?jour=10
et ca m'affiche bien "jour 9".
Maintenant comment je peux faire pour avoir le contenu ("jour 9") qui s'affiche directement lorsque je vais a ma page "test.php" (qui contient ca: "<a href="contenu_du_jour.php?jour=<?php echo date('j'); ?>">Lien</a>") sans avoir a passer par le lien ou il faut cliquer?
- 1
- 2
- 3