Faire apparaitre un lien a une certaine heure

Résolu
Mahaks -  
mahaks Messages postés 55 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je voudrais savoir si il est possible de faire apparaitre un lien à une certaine heure ?
Par exemple, je voudrais qu'une partie de mon site soit disponible que de 22h à 01h par exemple.
Est-ce qu'il y aurait un moyen pour que le lien apparaisse et disparaisse tout seul ou il faut le faire manuellement ?
Je ne trouve réponse nul part...

Merci d'avance pour votre réponse !
A voir également:

13 réponses

Mahaks
 
Salut !

Merci pour vos réponses !
Bon j'ai réussis..

Si ça intéresse quelqu'un voici mon code qui est assez simple et court :

<?php
$heure=intval(date("H",time()));
if ($heure>=21||$heure<7) {
?>
<a href="http://#">Lien ouvert entre 21h et 7h..</a>
<?php
} else {
?>
<a href="http://#">Lien fermé de 7h à 21h</a>
<?php
}
?>

Voila ça marche très bien.
Par contre si vous voulez ouvrir le lien entre 1h et 7h par exemple,
vous devez modifier le if :

if ($heure>=1&&$heure<7) {

Remplacez les || par des && si le chiffre de l'heure d'ouverture est plus petit que l'heure de fermeture.
Voila j'espère que ça aidera quelqu'un.

Merci pour votre aide !
1
wash14 Messages postés 2 Date d'inscription   Statut Membre Dernière intervention   1
 
Essai de modifier comme ceci :

<?php
$timestamp_heure_demander_debut = mktime(16, 50);
$timestamp_heure_demander_fin = mktime(17, 03);

?>

A +
1
croy Messages postés 453 Date d'inscription   Statut Membre Dernière intervention   114
 
Si tes pages sont générées dynamiquement (par un script PHP par exemple), il suffit d'englober les instructions qui ne doivent être activées qu'à certaines heures dans un bloc commençant par un if testant l'heure courante.

Consulte ta documentation PHP pour trouver les fonctions adaptées.

Si tes pages ne sont pas dynamiques (code HTML pur) un script Javascript cachant les noeuds DOM qui doivent l'être.
0
Mahaks
 
Ok donc c'est possible...

J'utilise le php dans mes pages.
Mais pourriez vous m'expliquer grossièrement comment ça marche ?
Qu'est-ce que vous voulez dire par tester l'heure courante ?

Est-ce que ça a un rapport avec le timestamp ?

Je suis un peu perdu, je débute en php...
Merci !
0

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

Posez votre question
Camuke Messages postés 224 Date d'inscription   Statut Membre Dernière intervention   88
 
Salutation,

niveau code, cela donnerai sa:
<?php
$heureActuel = date("H");
$minutesActuel = date("i");

$heuremin = 15;
$minutesmin = 50;

$heuremax = 16;
$minutesmax = 50;

echo $heureActuel.'h '.$minutesActuel.' >= '.$heuremin.'h '.$minutesmin.'<br>';
echo $heureActuel.'h '.$minutesActuel.' <= '.$heuremax.'h '.$minutesmax.'<br>';
if ($heureActuel >= $heuremin && $minutesActuel >= $minutesmin) {
	if ($heureActuel < $heuremax) {
		echo 'Nous sommes dans l\'interval';
	}
	else if ($heureActuel == $heuremax && $minutesActuel <= $minutesmax) {
		echo 'Nous sommes dans l\'interval';
	} else {
		echo 'Nous sommes pas dans l\'interval';
	}
}else {
	echo 'Nous ne sommes pas dans l\'interval';
}


Bonne journée a toi
0
Petit Raptor Messages postés 187 Date d'inscription   Statut Membre Dernière intervention   1
 
Arf, ton code fonctionne moitié, j'ai régler comme ceci:

<?php
			$heureActuel = date("H");
			$minutesActuel = date("i");
			
			$heuremin = 15;
			$minutesmin = 30;

			$heuremax = 15;
			$minutesmax = 31;

			if ($heureActuel > $heuremin && $minutesActuel > $minutesmin)
			{
				if ($heureActuel > $heuremax && $minutesActuel > $minutesmax)
				{
					echo 'On est dans l\'interval';
				}
				else
				{
					echo 'On est dans dans la periode de temps 1';
				}
			}
			else
			{
				echo 'On est dans dans la periode de temps 2';
			}
			?>


A l'heure où j'ai fait le test, il été 25, ça m'as afficher: On est dans la periode de temps 2

J'ai ensuite changer en ceci:

<?php
			$heureActuel = date("H");
			$minutesActuel = date("i");
			
			$heuremin = 15;
			$minutesmin = 25;

			$heuremax = 15;
			$minutesmax = 30;

			if ($heureActuel > $heuremin && $minutesActuel > $minutesmin)
			{
				if ($heureActuel > $heuremax && $minutesActuel > $minutesmax)
				{
					echo 'On est dans l\'interval';
				}
				else
				{
					echo 'On est dans dans la periode de temps 1';
				}
			}
			else
			{
				echo 'On est dans dans la periode de temps 2';
			}
			?>


A l'heure du test il été 27 et ça m'a afficher la même chose.
0
Camuke Messages postés 224 Date d'inscription   Statut Membre Dernière intervention   88
 
Oui je l'ai fait un peu vite en fait, apres quelque correction, j'ai obtenu ceci :

<?php
$heureActuel = date("H");
$minutesActuel = date("i");

$heuremin = 15;
$minutesmin = 50;

$heuremax = 16;
$minutesmax = 50;

if ($heureActuel >= $heuremin && $minutesActuel >= $minutesmin) {
	if ($heureActuel < $heuremax) {
		echo 'Nous sommes dans l\'interval';
	}
	else if ($heureActuel == $heuremax && $minutesActuel <= $minutesmax) {
		echo 'Nous sommes dans l\'interval';
	} else {
		echo 'Nous sommes pas dans l\'interval';
	}
}else {
	echo 'Nous ne sommes pas dans l\'interval';
}?>
0
Petit Raptor Messages postés 187 Date d'inscription   Statut Membre Dernière intervention   1
 
ça a l'air de marcher mais où est-ce que l'on met ce que l'on veux qu'y apparaisse a l'heure demander ?
0
croy Messages postés 453 Date d'inscription   Statut Membre Dernière intervention   114
 
à la place de la ligne echo "...dans l'intervalle...."
0
croy Messages postés 453 Date d'inscription   Statut Membre Dernière intervention   114
 
Par ailleurs je ne suis pas certain que ces tests fonctionnent pour tous les moments : si l'intervalle autorisé est de 20h30 à 22h30, à 21h00 ils donneront echo 'Nous ne sommes pas dans l\'interval';

Une suggestion :

$momentMin = $heureMin * 60 + $minuteMin;
$momentMin = $heureMax * 60 + $minuteMax;
$momentActuel = $heureActuel * 60 + $minuteActuel;

if( $momentActuel >= $momentMin AND $momentActuel <= $momentMax )
   echo 'Nous sommes dans l\'intervalle';
else
   echo 'Nous ne sommes pas dans l\'intervalle';
0
mahaks Messages postés 55 Date d'inscription   Statut Membre Dernière intervention   19
 
Je ne sais pas ou aller pour cliquer sur RESOLU...
Donc voila c'est RESOLU puisque mon code marche.
J'ai pas testé les autres du coup..
0
Petit Raptor Messages postés 187 Date d'inscription   Statut Membre Dernière intervention   1
 
Je suis désolé mais ton code ne marche pas chez moi ....

J'ai par contre fait un code un peu plus long de mon coté mais qui me parait un peu plus sur.

Seulement voila, il marche a moitié.

Le voici:

<?php
			$timestamp_heure_demander_debut = mktime(16, 50, 12, 1, 23, 2010);
			$timestamp_heure_demander_fin = mktime(17, 03, 10, 1, 23, 2010);
			
			$heure_actuel = date('H');
			$minutes_actuel = date('i');
			
			$heure_demander_debut = date('H', $timestamp_heure_demander_debut);
			$minutes_demander_debut = date('i', $timestamp_heure_demander_debut);
			
			$heure_demander_fin = date('H', $timestamp_heure_demander_fin);
			$minutes_demander_fin = date('i', $timestamp_heure_demander_fin);
			
			if ($heure_actuel >= $heure_demander_debut  AND $heure_demander_debut <= $heure_demander_fin)
			{
				if($minutes_actuel >= $minutes_demander_debut AND $minutes_demander <= $minutes_demander_fin)
				{
				?>
					<p><a href="news/admin/index.php">Administration News</a></p>
				<?php
				}
				else
				{
				?>
					<p><span style="color: red">Administration News (Désactiver)</span></p>
				<?php
				}
			}
			else
			{
			?>
				<p>Administration News (Désactiver)</p>
			<?php
			}
			?> 


Il est 16H59: Administration News est en lien.
Il est 17H02: Administration News (Désactiver) est afficher en rouge.
Il est 17H05: Administration News (Désactiver) est toujours affiché en rouge.

J'y suis presque ^^

Pouvez-vous m'aider a le terminer ?
0
Petit Raptor Messages postés 187 Date d'inscription   Statut Membre Dernière intervention   1
 
17H44 : Administration News (Désactiver) écrit en rouge toujours :s
0
mahaks Messages postés 55 Date d'inscription   Statut Membre Dernière intervention   19
 
Re bonjour.

Petit raptor,

j'ai copié collé le bout de code que j'ai mis,
et il marche impeccable.

Il suffit de changer les liens.

Explique moi exactement ce que tu veux faire,
je te ferais le code. T'as du te planter dans les heures du if..
0