Problème pour activer un lien

Résolu/Fermé
Signaler
Messages postés
103
Date d'inscription
jeudi 20 septembre 2007
Statut
Membre
Dernière intervention
31 mars 2012
-
Messages postés
20
Date d'inscription
lundi 3 décembre 2007
Statut
Membre
Dernière intervention
11 août 2008
-
Bonjour,

J'utilise régulièrement un script qui me permet d'activer et de désactiver un lien. Quand je change les dates, il devient donc actif ou au format texte. Aujourd'hui, il ne marche pas !!! Je vous le mets en dessous. Il devient actif quand je mets la date de fin au 10/12/2007 à 0h00 mais est inactif si je la met le 09/12/2007 à 23h59 ce qui est totalement incohérent vu que d'une part nous sommes le 3 et que même si il existe un décalage d'une semaine, il se désactiverai quleques instants plus tard. Je vous rappelle aussi que ce script machait avant.

<?php
function ActiveLink($url, $texte_lien, $date_debut, $date_fin)
{
$valday = date("d");
$valmonth = date("m");
$valyear = date("Y");
$valhour = date("H");
$valmin = date("i");
$valsec = date("s");

$current_date = mktime($valhour, $valmin, $valsec, $valmonth, $valday, $valyear);

if (($current_date > $date_debut) && ($current_date < $date_fin))
{
return '<a href="'.$url.'">'.$texte_lien.'</a>';
}
else
{
return $texte_lien;
};
};

$debut = mktime(20, 30, 00, 12, 03, 2007);

$fin = mktime(15, 30, 00, 12, 08, 2007);

echo ActiveLink('http://aaaaaaaaa.free.fr/bbbbbbbbb.htm', 'Cliquez ici pour pronostiquer', $debut, $fin);

?>

4 réponses

Messages postés
20
Date d'inscription
lundi 3 décembre 2007
Statut
Membre
Dernière intervention
11 août 2008

Et quelle date ton serveur retourne-t-il si tu fais un echo "date(...)"; ?
Messages postés
103
Date d'inscription
jeudi 20 septembre 2007
Statut
Membre
Dernière intervention
31 mars 2012
1
Bon j'ai mis les echo et il me retourne :

04 12 2007 16 33 52

Donc ca correspond à 11 minutes près.
Messages postés
103
Date d'inscription
jeudi 20 septembre 2007
Statut
Membre
Dernière intervention
31 mars 2012
1
Oh punaise!!!!!!
Il fallait que je mette à la place de 03 et de 08 (les jours) 3 et 8 !!!!!!!!!!!!!!!

Passez-moi une corde!!!!!!!!!!!!!!!
Messages postés
20
Date d'inscription
lundi 3 décembre 2007
Statut
Membre
Dernière intervention
11 août 2008

Et bah voilà ^^ Si tu mets le mauvais format avec mktime ou date, c'est foutu, ça te crée un gros décalage ;)

Et comme tu utilises les heures, attention aux changements d'horaires ! Si tu as codé date("h") +1 quelque part, ça peut générer des mauvaises surprises (encore que cet exemple soit sans doute mal choisi).