Page aleatoire

louis1984 Messages postés 341 Date d'inscription   Statut Membre Dernière intervention   -  
louis1984 Messages postés 341 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

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?
A voir également:

42 réponses

notobe Messages postés 1952 Date d'inscription   Statut Membre Dernière intervention   213
 
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".
0
louis1984 Messages postés 341 Date d'inscription   Statut Membre Dernière intervention   6
 
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?
0
avion-f16 Messages postés 19252 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
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 ( ... ) {
    ...
}
?>
0
louis1984 Messages postés 341 Date d'inscription   Statut Membre Dernière intervention   6
 
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.
0

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

Posez votre question
avion-f16 Messages postés 19252 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
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 ( ... ) {
    ...
}
?>
0
louis1984 Messages postés 341 Date d'inscription   Statut Membre Dernière intervention   6
 
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 ?
0
avion-f16 Messages postés 19252 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
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';
}
?>
0
louis1984 Messages postés 341 Date d'inscription   Statut Membre Dernière intervention   6
 
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?
0
Bertrand40 Messages postés 1196 Date d'inscription   Statut Membre Dernière intervention   194
 
Bonsoir, <a href="contenu_du_jour.php?jour=<?php echo date('j'); ?>">contenu du jour</a>, peut-être ?
0
louis1984 Messages postés 341 Date d'inscription   Statut Membre Dernière intervention   6
 
Merci Bertrand,

Mais maintenant il m'affiche un lien "contenu du jour" au lieu d'afficher le texte "Jour 10"...
0
Bertrand40 Messages postés 1196 Date d'inscription   Statut Membre Dernière intervention   194
 
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>
0
louis1984 Messages postés 341 Date d'inscription   Statut Membre Dernière intervention   6
 
On dirait que je suis maudit.. si j'integre le code que tu indiques, la pages ne m'affiche rien du tout cette fois...
0
graffx Messages postés 6506 Date d'inscription   Statut Contributeur Dernière intervention   1 975
 
met ce que tu as a fait, on avancera plus vite.
0
louis1984 Messages postés 341 Date d'inscription   Statut Membre Dernière intervention   6
 
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>
0
avion-f16 Messages postés 19252 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
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.
0
Bertrand40 Messages postés 1196 Date d'inscription   Statut Membre Dernière intervention   194
 
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.
0
louis1984 Messages postés 341 Date d'inscription   Statut Membre Dernière intervention   6
 
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...
0
avion-f16 Messages postés 19252 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
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;
}
0
Bertrand40 Messages postés 1196 Date d'inscription   Statut Membre Dernière intervention   194
 
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
0
Bertrand40 Messages postés 1196 Date d'inscription   Statut Membre Dernière intervention   194
 
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;
}
0
louis1984 Messages postés 341 Date d'inscription   Statut Membre Dernière intervention   6 > Bertrand40 Messages postés 1196 Date d'inscription   Statut Membre Dernière intervention  
 
Par contre celui ci marche pas pour le 10.. j'ai rien qui s'affiche aujourd'hui..

Et comment je peux faire pour que le contenu du jour s'affiche directement au lieu d'avoir un lien ou il faut cliquer pour acceder au contenu?
0
louis1984 Messages postés 341 Date d'inscription   Statut Membre Dernière intervention   6
 
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?
0