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 :

erreur : Notice: Undefined index: ::1


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    Collégien
    Inscrit en
    Octobre 2016
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Octobre 2016
    Messages : 10
    Par défaut erreur : Notice: Undefined index: ::1
    Bonjour à tous ! Je reviens encore avec une nouvelle erreur aléatoire dans un de mes scripts

    Notice: Undefined index: ::1 in C:\wamp64\www\mon_site\includes\cadre_droit.php on line 83

    il s'agit d'un petit script qui permet d'afficher les stats du site(nb visiteurs, nb visiteurs total, nb pages affichées).

    je pense qu'il est loin d'être bon et optimisé mais ce n'est pas la question, moi ça me va

    Bref voici le script :

    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
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    <?php			
    /* Si le fichier où l'on stock, les données n'existe pas encore  on le crée. */
    $fichier = '.htcompteur';
    if( !file_exists($fichier) ) {
    $fp = fopen($fichier, "w");
    fwrite($fp, serialize(array()));
    fclose($fp);
    }
     
    /* Définition de variables
    * nécessaire au compteur :
    * - deux termes constants,
    * - l'ip du visiteur,
    * - la date et l'heure. */
    $argument_visites = 'visites';
    $argument_requêtes = 'requêtes';
    $ip = $_SERVER['REMOTE_ADDR'];
    $time = date('YmdGis');
     
    /* Récupération des données du compteur précédemment stockées. */
    $lignes = file($fichier);
    $donnees = unserialize($lignes[0]);
     
    /* Pour chaque clés du tableau de données qui ne soit pas attribuée aux visite et aux requêtes
    si la valeur correspond à une date antérieur au même jour, on supprime l'ip du visiteur. */
    foreach( $donnees as $cle => $valeur )
    {
    if( substr($valeur, 0, 8) != substr($time, 0, 8) &&
    $cle != $argument_visites &&
    $cle != $argument_requêtes ) {
    unset($donnees[$cle]);
    }
    }
    /* On incrémente ( ajoute +1 ) la valeur du nombre de requêtes. Si l'ip n'est pas encore enregistrée,
    on incrémente la valeur du nombre de visites et on ajoute l'ip dans le tableau accompagné de la date et de l'heure de l'exécution. */
    $donnees[$argument_requêtes]++;
    //voici la fameuse ligne 83
    if( !$donnees[$ip] ) {
    $donnees[$argument_visites]++;
    $donnees[$ip] = $time;
    }
     
    /* On effectue un petit report de variable pour une utilisation ultérieur plus aisée. */
    $nb_visiteurs = $donnees[$argument_visites];
    $nb_aujourdhui = count($donnees)-2;
    $nb_requêtes = $donnees[$argument_requêtes];
     
    /* On stock le tableau dans le fichier de données en écrasant sa valeur précédente. */
    $fp = fopen($fichier,"w");
    fwrite($fp, serialize($donnees));
    fclose($fp);
     
    /* On affiche les résultats du compteur. */
    echo "<font color='red'><b>".$nb_visiteurs."</b></font> visiteurs au total<br>dont ";
    echo "<font color='blue'><b>".$nb_aujourdhui."</b></font> aujourd'hui.<br> ";
    echo $nb_requêtes." pages affichées ";
    ?>
    je pense qu'il s'agit encore d'un problème d'index sur mon array ?

    merci de me venir en aide c'est sympa

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Si tu veux vérifier que l'entrée existe dans le tableau, utilise isset()
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if( !isset($donnees[$ip])) {
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre habitué
    Homme Profil pro
    Collégien
    Inscrit en
    Octobre 2016
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Octobre 2016
    Messages : 10
    Par défaut
    grand merci à vous !

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

Discussions similaires

  1. erreur Notice: Undefined index
    Par timboy11 dans le forum Langage
    Réponses: 4
    Dernier message: 22/01/2010, 11h37
  2. [osCommerce] Message d'erreur Notice: Undefined index
    Par idamarco dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 11
    Dernier message: 23/10/2009, 14h42
  3. Message d'erreur Notice: Undefined index:
    Par helene38250 dans le forum Langage
    Réponses: 13
    Dernier message: 27/10/2008, 13h04
  4. [Tableaux] Erreur => 'Notice :Undefined index'
    Par leduc26 dans le forum Langage
    Réponses: 1
    Dernier message: 06/06/2007, 10h13
  5. Pb erreur Notice: Undefined index: pseudo
    Par PAINCO dans le forum Langage
    Réponses: 15
    Dernier message: 19/02/2007, 18h20

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