Créer un compte
Connexion

Afficher script/image en fonction de la date

Pour créer et répondre aux sujets, vous devez être connecté.
Ce sujet est résolu.
Pages: 1
Auteur Message
Spitfire 95
12/12/2009 à 16:40:38
Spitfire 95
Membre
Bonjour.
Les fêtes de Noël arrivent, donc je fais un déco de Noël sur mon forum. Mais qui dit fêtes de Noël dit vacances, et qui dit vacances de Noël dit (pour moi) deux semaines de ski sans internet.
Et je voudrais que jusqu'au 28/12, ma bannière de Noël reste affichée, puis qu'après le 28, la bannière Bonne Année et le script js feux d'artifice apparaissent, jusqu'au 10/01, pour que le thème normal revienne.

Est-ce possible en PHP ou en JavaScript ?

Merci d'avance.

ybouane
13-12-2009 à 08:04:51
ybouane
Admin
Bonjour,
en php, c'est très simple, il suffit de mettre les codes en questions entre le code suivant:
<?php
if(time()<mktime(0,0,0,12,28,2009))
{
//Ici c'est avant le 28 dec. soit noel.
}
elseif(time()<mktime(0,0,0,01,02,2010))
{
//Ici c'est entre le 28 dec. et le 2 jan. soit le nouvel an.
}
else
{
//Ici c'est en temps normal, soit après le 2 jan.
}
?>

Je n'ai pas testé, mais ça devrais fonctionner.

Merci :)

Image
Spitfire 95
13-12-2009 à 15:03:06
Spitfire 95
Membre
Bonjour.
Merci, mais j'ai encore quelques questions :

-Mon forum est sur Xooit. Puis-je faire un fichier PHP hébergé sur le serveur de mon site, puis faire un include dans le template overall_header.tpl ?

-Où dois-je mettre le code ou l'include ? Dans le head ou dans le body ?

-Ai-je bien modifié le code ? :
<?php
if(time()<mktime(0,0,0,12,28,2009))
{
//Ici c'est avant le 28 dec. soit noel.
<a href="http://assoss-annuaire.xooit.com/index.php"><img src="http://assoss-annuaire.hebfree.org/logos/ban-noel.jpg" alt="Assoss-Annuaire vous souhaites un Joyeux Noël"></a>
}
elseif(time()<mktime(0,0,0,01,02,2010))
{
//Ici c'est entre le 28 dec. et le 2 jan. soit le nouvel an.
<a href="http://assoss-annuaire.xooit.com/index.php"><img src="http://assoss-annuaire.hebfree.org/logos/ban-new-year.jpg" alt="Assoss-Annuaire vous souhaites une bonne année 2010"></a>
}
else
{
//Ici c'est en temps normal, soit après le 2 jan.
<script type="text/javascript" src="http://assoss-annuaire.hebfree.org/logos/banniere.js"></script>
}
?>

-Je ne comprends pas le elseif(time()<mktime(0,0,0,01,02,2010)). Je ne vois pas où il est affiché que le code commence le 28/12.

Merci pour votre aide.

PS : Je ne connais rien au PHP.

ybouane
14-12-2009 à 04:41:33
ybouane
Admin
bonjour,
En y réfléchissant, je ne crois pas qu"il soit possible d'exécuter du php sur xooit, donc il faut utiliser du JavaScript, ce qui est en plus, plus facile à mettre en place pour toi.

Donc voici le code javascript à utiliser.
var date = new Date();
var maintenant = date.getTime();
date.setFullYear(2009,11,28);//Le 11 c'est décembre :)
var ap_noel = date.getTime();
date.setFullYear(2010,0,2);//Le 0 c'est Janvier
var ap_nan = date.getTime();
if(maintenant<ap_noel)
{
        //ICI ce sont tout les jours avant le 28 décembre 2009
        document.write('<a href="http://assoss-annuaire.xooit.com/index.php"><img src="http://assoss-annuaire.hebfree.org/logos/ban-noel.jpg" alt="Assoss-Annuaire vous souhaites un Joyeux Noël" /></a>');
}
else if(maintenant<ap_nan)
{
        //ICI ce sont tout les jours avant le 2 janvier 2010 et après le 28 décembre 2009
        document.write('<a href="http://assoss-annuaire.xooit.com/index.php"><img src="http://assoss-annuaire.hebfree.org/logos/ban-new-year.jpg" alt="Assoss-Annuaire vous souhaites une bonne année 2010" /></a>');
}
else
{
        //ICI ce sont tout les jours après le 2 janvier 2010
        document.write('<'+'script type="text/javascript" src="http://assoss-annuaire.hebfree.org/logos/banniere.js"><'+'script>');
}

Sinon, pour ta question, a propos du elseif(time()<mktime(0,0,0,01,02,2010)) qui est aussi valable en javascript, c'est simplement parce que le premier if, c'est avant le 28 Déc., donc le deuxième est nécessairement après, mais en plus il est avant le 2 Jan. Il est donc après le 28 Déc. mais avant le 2 Jan. Et pour le troisième if, c'est tout le reste, donc après le 2 Jan.

J'espère avoir été clair ;) .
Merci :)

Image
Spitfire 95
15/12/2009 à 12:57:43
Spitfire 95
Membre
Merci, mais ça n'a pas marché. C'est pas grave.



Pages: 1