Bloquer acces lien [Besoin d'une piste]

Résolu
PyrOBarBarez -  
moiced59 Messages postés 1161 Statut Membre -
Bonjour,

j'ai un script :
<?php
// Script entirèrement par Pyro :) 
$atotal = "" ; //création de la variable pour le moment vide .
$macheteur = ($row_Recordset1['macheteur']) ; // Recup de la moyenne d'acheteur

$nb_min = 1; // definition du nombre 1
$nb_max = 2; // definition du nombre 2
$nombre = mt_rand($nb_min,$nb_max); // choix aléatoire entre le 1 et le 2 et stockage dans la variable $nombre 

$nb_min2 = 1; // définition du nombre en fonction de la moyenne ( à faire)
$nb_max2 = 6; // définition du nombre en fonction de la moyenne( à faire )
$nombrefinal = mt_rand($nb_min2,$nb_max2);// choix aléatoire et stockage dans la variable $nombrefinal

if($nombre == 1){ //si le nombre trouvé au début est 1
	$visiteur = $macheteur + $nombrefinal ; // On fait une addition : moyenne + $nombrefinal
	echo "Vous êtes au dessus de votre moyenne. Visiteurs aujourd'hui: $visiteur" ; // nombre final de visiteur
}
else { //sinon (si c'est un 2)
	$visiteur = $macheteur - $nombrefinal ; // c'est un soustraction : moyenne - $nombrefinal
		echo "vous êtes en dessous de votre moyenne. Visiteurs aujourd'hui: $visiteur" ; // nombre final de visiteur
}

?>


Qui fonctionne, seulement, je souhaiterai que ce script (la page) soit accessible via un lien.
Mais ce lien ne doit être dispo que toutes les 24h !

Je n'ai aucune idée de comment faire !

QQun peut m'aider?

4 réponses

  1. PyrOBarBarez
     
    j'ai peut etre trouvé .

    Si je mets un colone dateacces dans ma BDD et que je mets un if sur mon lien ça marcherai ?
    0
    1. moiced59 Messages postés 1161 Statut Membre 60
       
      Bonjour

      Ton ech $lol retourne koi ?
      0
  2. moiced59 Messages postés 1161 Statut Membre 60
     
    Tu as ca comme fonction pour le nbres de jour :

    <?php
    $dateDiff = $date1 - $date2;
    $fullDays = floor($dateDiff/(60*60*24));
    echo "Differernce is $fullDays jours";
    ?>
    0
    1. Floultime
       
      la date doit etre en stimestamps ?
      0
    2. moiced59 Messages postés 1161 Statut Membre 60
       
      Oui attention au format des date qui doit etre identique :

      $Date = Date("d/m/Y") ;

      et la requete qui extrait la date de la bdd
      0
    3. Floultime
       
      <?php
      $dateBDD = ($row_Recordset1['dateargent']) ; // 11/08/2012
      $dateactuel = 'date("d/m/Y")' ; // 18/08/2012

      $dateDiff = $dateactuel - $dateBDD ;
      $difference = floor($dateDiff/(60*60*24));
      echo "Différence: $difference jours";

      if($difference >= 1){
      echo " c'est bon" ;
      }
      else {
      echo " ça fait moins d'un jour" ;
      }

      ?>
      $dateactuel = 'date("d/m/Y")' ;

      $dateDiff = $dateactuel - $dateBDD ;
      $difference = floor($dateDiff/(60*60*24));
      echo "Différence: $difference jours";

      if($difference >= 1){
      echo " c'est bon" ;
      }
      else {
      echo " ça fait moins d'un jour" ;
      }

      ?>

      Pour l'echo me donne -1 ??
      0
    4. Floultime
       
      Petit fail le code est :
      <?php
      $dateBDD = ($row_Recordset1['dateargent']) ;
      $dateactuel = 'date("d/m/Y")' ;

      $dateDiff = $dateactuel - $dateBDD ;
      $difference = floor($dateDiff/(60*60*24));
      echo "Différence: $difference jours";

      if($difference >= 1){
      echo " c'est bon" ;
      }
      else {
      echo " ça fait moins d'un jour" ;
      }

      ?>
      0
    5. Floultime
       
      Et DATE DBB = 11/08/2012
      et date actuel = 18/08/2012

      donc en faisant 18 - 11 on trouve forcement 7 . Pourquoi -1?
      0
  3. PyrOBarBarez
     
    Merci beaucoup je vais essayer tout ça :)
    0
  4. moiced59 Messages postés 1161 Statut Membre 60
     
    Voia un pti bout de code qui marche :

    <?php
    function NbJours($debut, $fin) {

    $tDeb = explode("/", $debut);
    $tFin = explode("/", $fin);

    $diff = mktime(0, 0, 0, $tFin[1], $tFin[2], $tFin[0]) -
    mktime(0, 0, 0, $tDeb[1], $tDeb[2], $tDeb[0]);

    return(($diff / 86400));

    }

    //Annee mois jour

    $dateBDD = "2012/08/18"; //J'ai mis en dure car pas de BDD pr moi ;)
    $dateactuel = date("Y/m/d") ; // 18/08/2012

    echo $dateBDD ;
    echo $dateactuel;

    // Comment apeler la fonction
    $Nombres_jours = NbJours( $dateBDD,$dateactuel );
    // Affiche
    echo $Nombres_jours;

    if($Nombres_jours >= 1){
    echo " c'est bon" ;
    }
    else {
    echo " ça fait moins d'un jour" ;
    }

    ?>
    0
    1. Floultime
       
      Tu peux m'expliquer un peu comment le modifier pour qu'il accepte les D/m/Y ?
      0
    2. moiced59 Messages postés 1161 Statut Membre 60
       
      Pour modifier l'ordre de la date il faut que tu joues avec :

      $diff = mktime(0, 0, 0, $tFin[1], $tFin[2], $tFin[0]) -
      mktime(0, 0, 0, $tDeb[1], $tDeb[2], $tDeb[0]);

      actuellement :

      0 Annee

      1 Mois

      2 Jour


      dc toi tu fais

      2

      1

      0

      $diff = mktime(0, 0, 0, $tFin[2], $tFin[1], $tFin[0]) -
      mktime(0, 0, 0, $tDeb[2], $tDeb[1], $tDeb[0]);


      Ca va tu as compris la fonction ?

      Modifie aussi :

      $dateactuel = date("Y/m/d") ;

      en

      $dateactuel = date("d/m/Y") ;
      0
    3. Floultime
       
      j'ai compris oui , par contre j'avais déjà modifié comme ça et je ne trouvep plus mon erreur

      function NbJours($debut, $fin) { 
      
      $tDeb = explode("/", $debut); 
      $tFin = explode("/", $fin); 
      
      $diff = mktime(0, 0, 0, $tFin[2], $tFin[1], $tFin[0]) - 
      mktime(0, 0, 0, $tDeb[2], $tDeb[1], $tDeb[0]); 
      
      return(($diff / 86400)); 
      
      } 
      
      //Annee mois jour 
      
      $dateBDD = "17/08/2012"; //J'ai mis en dure car pas de BDD pr moi ;) 
      $dateactuel = date("d/m/Y") ; // 18/08/2012 
      0
    4. Floultime
       
      avec ce code $Nombres_jours vaut 0
      0
    5. moiced59 Messages postés 1161 Statut Membre 60
       
      c 1 0 2 dsl la fonction : mktime c'est :

      Heure minute seconde mois jour année

      J'ai reteste au format francais ca marche
      0