IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

écrire la date en entête


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut écrire la date en entête
    Bonjour

    J'ai un petit script que j'ai modifié pour mes besoins, toutefois j'aimerais faire en sorte d'afficher le rendu sous forme de "catégorie" dans le sens...

    Actuellement l'affichage se fait ainsi:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Mercredi 09 Juin 2012 IP=127.0.0.1 Date=2012-05-09 Heure=10:29:48 Agent=Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1130.1 Safari/536.11
    et la date s'affiche toujours au début de chaque ligne...or j'aimerais que la date soit affiché qu'une seule fois pour la journée de ce type

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Mercredi 09 Mai 2012 
    IP=127.0.0.1 Date=2012-05-09 Heure=10:29:48 Agent=Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1130.1 Safari/536.11 
    IP=127.0.0.1 Date=2012-05-09 Heure=10:56:44 Agent=Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1130.1 Safari/536.11
    Jeudi 10 Mai 2012
    .....ainsi de suite
    Voici mon code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    <?PHP
    // On enregistre l'accès 
    $f = fopen("ipintra.html", "a+"); 
    $Jour = array("Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi","Samedi");
    $Mois = array("Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre");
    $datefr = $Jour[date("w")]." ".date("d")." ".$Mois[date("n")]." ".date("Y");
    fwrite($f, $datefr);
    $log = ' <span style="color: #ff0000">IP=</span>' . $_SERVER['REMOTE_ADDR'] . ' <span style="color: #ff0000">Date=</span>';
    $log .= date('Y-m-d');
    $log .= ' <span style="color: #ff0000">Heure=</span>' . date('H:i:s');
    $log .= ' <span style="color: #ff0000">Agent=</span>' . $_SERVER['HTTP_USER_AGENT'] . "\n"; 
    fwrite($f, $log);
    fwrite($f, '<br /><br />');
    fclose($f); 
    ?>
    Merci pour les infos

  2. #2
    Rédacteur

    Avatar de Torgar
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2007
    Messages
    2 334
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2007
    Messages : 2 334
    Par défaut
    Salut,

    Et comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $log = "\n" . ' <span style="color: #ff0000">IP=</span>' . $_SERVER['REMOTE_ADDR'] . ' <span style="color: #ff0000">Date=</span>';
    En rajoutant un saut de ligne juste avant.
    Je ne suis pas schizophrène, nous sommes unanime !!!

    ► Pensez à la balise code et au CODE HTML GENERE !!!!
    ► Au si c'est le cas et au à ceux qui vous ont aidé.
    Vous souhaitez participer aux rubriques CSS et (X)HTML ? Contactez-nous !

    Créer des colonnes de même hauteur en CSS
    Glossaire CSS
    Les bordures en CSS3
    Les transitions en CSS3

  3. #3
    Invité
    Invité(e)
    Par défaut
    Merci pour l'aide

    la ligne ne fait que:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Mercredi 09 Mai 2012 
    IP=127.0.0.1 Date=2012-05-09 Heure=10:29:48 Agent=Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1130.1 Safari/536.11
    Mercredi 09 Mai 2012 
    IP=127.0.0.1 Date=2012-05-09 Heure=10:29:48 Agent=Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1130.1 Safari/536.11
    au lieu de

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Mercredi 09 Mai 2012 
    IP=127.0.0.1 Date=2012-05-09 Heure=10:29:48 Agent=Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1130.1 Safari/536.11
    IP=127.0.0.1 Date=2012-05-09 Heure=10:29:48 Agent=Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1130.1 Safari/536.11
    J'ai essayé de faire ainsi

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
     
    <?PHP
    // On enregistre l'accès 
    setlocale (LC_TIME, 'fr-FR');
    $f = fopen("ipintra.html", "a+"); 
    $Jour = array("Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi","Samedi");
    $Mois = array("Janvier", "Février", "Mars", "Avril", "Juin", "Mai", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre");
    $datefr = $Jour[date("w")]." ".date("d")." ".$Mois[date("n")]." ".date("Y");
     
    $dateA = 'getdate()';  
    $dateB = '$datefr'; 
    if(strtotime($dateA) > strtotime($dateB)){ 
        //fwrite($f, $datefr);
    $log = ' <span style="color: #ff0000">IP=</span>' . $_SERVER['REMOTE_ADDR'];
    //$log .= date('Y-m-d');
    $log .= ' <span style="color: #ff0000">Heure=</span>' . date('H:i:s');
    $log .= ' <span style="color: #ff0000">Agent=</span>' . $_SERVER['HTTP_USER_AGENT'] . "\n"; 
    fwrite($f, $log);
    fwrite($f, '<br /><br />');
    fclose($f);
    }
    else
    fwrite($f, $datefr);
    $log = ' <span style="color: #ff0000">IP=</span>' . $_SERVER['REMOTE_ADDR'];
    //$log .= date('Y-m-d');
    $log .= ' <span style="color: #ff0000">Heure=</span>' . date('H:i:s');
    $log .= ' <span style="color: #ff0000">Agent=</span>' . $_SERVER['HTTP_USER_AGENT'] . "\n"; 
    fwrite($f, $log);
    fwrite($f, '<br /><br />');
    fclose($f);
     
    ?>
    Mais ça ne fonctionne pas

  4. #4
    Rédacteur

    Avatar de Torgar
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2007
    Messages
    2 334
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2007
    Messages : 2 334
    Par défaut
    Bon, on est d'accord que tout ceci est contenu dans une boucle ? (Sauf l'ouverture et la fermeture de fichier)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    <?php
    // On enregistre l'accès
    $Jour = array("Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi","Samedi");
    $Mois = array("Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre");
     
    $f = fopen("ipintra.html", "a+");
    $old_datefr = '';
     
    while () { // Ici ta boucle, de quelque nature quelle soit for() foreach() do while().
        $datefr = $Jour[date("w")]." ".date("d")." ".$Mois[date("n")]." ".date("Y");
     
        if ($old_datefr != $datefr) {
            fwrite($f, $datefr . "\n");
            $old_datefr = $datefr;
        }
     
        $log = ' <span style="color: #ff0000">IP=</span>' . $_SERVER['REMOTE_ADDR'] . ' <span style="color: #ff0000">Date=</span>';
        $log .= date('Y-m-d');
        $log .= ' <span style="color: #ff0000">Heure=</span>' . date('H:i:s');
        $log .= ' <span style="color: #ff0000">Agent=</span>' . $_SERVER['HTTP_USER_AGENT'] . "\n";
        fwrite($f, $log);
        fwrite($f, "<br /><br />");
    }
    fclose($f); 
    ?>
    J'ai pas testé....

    Pour info :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $dateA = 'getdate()'; // A la limite sans les guillemets
    $dateB = '$datefr'; // Idem, sans les guillemets. Ou avec des doubles guillemets
    Je ne suis pas schizophrène, nous sommes unanime !!!

    ► Pensez à la balise code et au CODE HTML GENERE !!!!
    ► Au si c'est le cas et au à ceux qui vous ont aidé.
    Vous souhaitez participer aux rubriques CSS et (X)HTML ? Contactez-nous !

    Créer des colonnes de même hauteur en CSS
    Glossaire CSS
    Les bordures en CSS3
    Les transitions en CSS3

  5. #5
    Invité
    Invité(e)
    Par défaut
    Merci pour les infos Torgar

    j'ai changé quelque peut le processus, j'arrive a 50% de ce que je veux

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
     
    <?PHP
    setlocale (LC_TIME, 'fr-FR');
    $f = fopen("ipintra.html", "a+"); 
    $Jour = array("Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi","Samedi");
    $Mois = array("Janvier", "Février", "Mars", "Avril", "Juin", "Mai", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre");
    $datefr = $Jour[date("w")]." ".date("d")." ".$Mois[date("n")]." ".date("Y");
     
    $filename = "ipintra.html";  
    $pattern = "$datefr"; 
    $handle = fopen($filename, "r"); 
    $file = fread($handle,filesize($filename)); 
    if (preg_match('#' . $pattern . '#', $file, $match)) { 
        echo $pattern . " found in ipintra.html.";
    $log = ' <span style="color: #ff0000">IP=</span>' . $_SERVER['REMOTE_ADDR'];
    $log .= ' <span style="color: #ff0000">Heure=</span>' . date('H:i:s');
    $log .= ' <span style="color: #ff0000">Agent=</span>' . $_SERVER['HTTP_USER_AGENT'] . "\n"; 
    fwrite($f, $log);
    fwrite($f, '<br /><br />');
    } 
    else { 
        echo $pattern . " was not found"; 
    } 
    fwrite($f, $datefr . "<br />");
    $log = ' <span style="color: #ff0000">IP=</span>' . $_SERVER['REMOTE_ADDR'];
    $log .= ' <span style="color: #ff0000">Heure=</span>' . date('H:i:s');
    $log .= ' <span style="color: #ff0000">Agent=</span>' . $_SERVER['HTTP_USER_AGENT'] . "\n"; 
    fwrite($f, $log);
    fwrite($f, '<br /><br />');
    fclose($f); 
    fclose($handle);
    ?>


    ainsi ça me donne (dans le cas ou j'accède 2 fois à la page)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    IP=127.0.0.1 Heure=11:40:56 Agent=Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1130.1 Safari/536.11 
     
    Jeudi 10 Mai 2012
    IP=127.0.0.1 Heure=11:40:56 Agent=Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1130.1 Safari/536.11
     
    IP=127.0.0.1 Heure=11:40:56 Agent=Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1130.1 Safari/536.11 
     
    Jeudi 10 Mai 2012
    IP=127.0.0.1 Heure=11:40:56 Agent=Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.11 (KHTML, like Gecko) Chrome/20.0.1130.1 Safari/536.11
    y a quelque chose dans le if else que je ne sais si pas?

    Une piste

  6. #6
    Rédacteur

    Avatar de Torgar
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2007
    Messages
    2 334
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2007
    Messages : 2 334
    Par défaut
    Ouais donc en fait, tu fais ton fichier de log ><

    Dans ce cas, il faut :

    1 - récupèrer le contenu de ipintra.html
    2 - regarder si il y a la date du jour (ton preg_match())
    3 - si preg_match() est vrai alors tu ajoutes la ligne sans la date, sinon tu ajoutes la date, puis ta ligne

    Vite fait comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    <?PHP
    setlocale (LC_TIME, 'fr-FR');
    $f = fopen("ipintra.html", "a+"); 
    $Jour = array("Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi","Samedi");
    $Mois = array("Janvier", "Février", "Mars", "Avril", "Juin", "Mai", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre");
    $datefr = $Jour[date("w")]." ".date("d")." ".$Mois[date("n")]." ".date("Y");
     
    $filename = "ipintra.html";  
    $pattern = "$datefr"; 
    $handle = fopen($filename, "r"); 
    $file = fread($handle,filesize($filename));
     
    if (!preg_match('#' . $pattern . '#', $file, $match)) {
        echo $pattern . " found in ipintra.html.";
        fwrite($f, $datefr . "<br />");
    } 
    else { 
        echo $pattern . " was not found"; 
    }
    // quoi qu'il en soit, on écrit les lignes.
    $log = ' <span style="color: #ff0000">IP=</span>' . $_SERVER['REMOTE_ADDR'];
    $log .= ' <span style="color: #ff0000">Heure=</span>' . date('H:i:s');
    $log .= ' <span style="color: #ff0000">Agent=</span>' . $_SERVER['HTTP_USER_AGENT'] . "\n"; 
    fwrite($f, $log);
    fwrite($f, '<br /><br />'); // A vérifier si c'est bien deux retour à la ligne que tu souhaites.
     
    fclose($f); 
    fclose($handle);
    ?>
    Je ne suis pas schizophrène, nous sommes unanime !!!

    ► Pensez à la balise code et au CODE HTML GENERE !!!!
    ► Au si c'est le cas et au à ceux qui vous ont aidé.
    Vous souhaitez participer aux rubriques CSS et (X)HTML ? Contactez-nous !

    Créer des colonnes de même hauteur en CSS
    Glossaire CSS
    Les bordures en CSS3
    Les transitions en CSS3

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 05/11/2009, 18h23
  2. Réponses: 5
    Dernier message: 24/11/2008, 15h07
  3. Réponses: 23
    Dernier message: 07/08/2008, 11h52
  4. Réponses: 18
    Dernier message: 30/09/2005, 09h30
  5. [CR.NET] Rapport de présences avec série de dates en entête
    Par crackity_jones666 dans le forum SAP Crystal Reports
    Réponses: 3
    Dernier message: 30/07/2004, 09h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo