Le jour et la nuit en PHP

Fermé
gaboycool Messages postés 10 Date d'inscription samedi 28 juin 2008 Statut Membre Dernière intervention 25 septembre 2011 - 7 août 2009 à 05:45
 Koyali - 31 janv. 2014 à 05:01
Bonjour, peut-être que ce sujet a déja été abordé mais je ne savais pas vraiment quoi chercher exactement donc je vous pose la question. je suis en train de créer un site internet et, vu que tout est possible avec php, j'aimerais savoir comment modifier l'apparence de mon site a une certaine heure. exemple: a 19h00, l'apparence devient nocturne et à 7h00 l'apparence redevient ensoleiller. Merci d'avance a tous!

2 réponses

imw Messages postés 233 Date d'inscription vendredi 17 juillet 2009 Statut Membre Dernière intervention 8 septembre 2011 42
7 août 2009 à 08:59
il te suffit de changer la CSS

if ( date('G')>19 || date('G')<7)
    echo "<link href="nuit.css" rel="stylesheet" type="text/css" media="all" />";
else
    echo "<link href="jour.css" rel="stylesheet" type="text/css" media="all" />";


2
Je vois que ce post date mais pourtant, je peux proposer une petite astuce d'optimisation: au lieu de charger une css soit l'autre, tu en fais une principale, jour.css par exemple, et une deuxième que tu charge en plus, et non à la place, si c'est la nuit. Dans nuit.css, il te suffira de réécrire uniquement les choses qui changent par rapport à la css principale; comme elle est chargée en 2e dans l'ordre, les instructions de nuit.css écraseront les instructions contradictoires de jour.css! =>>

<link href="jour.css" rel="stylesheet" type="text/css" media="all" />

<?php
if ( date('G')>19 || date('G')<7){
echo "<link href="nuit.css" rel="stylesheet" type="text/css" media="all" />";
}
?>
0
@imw : Avec cette solution c'est surtout quand il fait nuit à l'endroit ou se trouve le serveur, qu'il fera nuit sur le site.... Et ca oblige à faire deux feuilles de style..

Mieux, fais-le en javascript !

De cette façon, quand il fait jour chez le visiteur de ton site, il fera jour sur le site. Et si il fait nuit chez le visiteur, il fera nuit sur le site... C'est à dire que si ton visiteur se trouve aux USA et qu'il fait nuit la bas, ton site sera en mode nuit chez lui, mais toujours en mode jour chez nous...

Il faut donc en fonction de l'heure, utiliser javascript pour changer les attributs de certaines class ou id de ta feuille CSS !!

Aller je t'aide un peu :


<script type="text/javascript">
<!--
var gmtdate = new Date();
var heure = gmtdate.getHours();
if ( ( ( heure >= 0 ) && ( heure < 6 ) ) || ( ( heure >= 21 ) && ( heure < 24 ) ) ) {
document.getElementsByTagName("body")[0].style.background='url(lebackgroundbodydenuit.jpg) no-repeat center top';
}
if ( ( heure >= 6 ) && ( heure < 21 ) ) {
document.getElementsByTagName("body")[0].style.background='url(lebackgroundbodydejour.jpg) no-repeat center top';
}
//-->
</script>
-1