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 :

Notice: Undefined offset:


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 31
    Points : 19
    Points
    19
    Par défaut Notice: Undefined offset:
    Bonjour,

    j'ai ce problème offset sur la partie de code que j'utilise, j'ai déjà trouvé quelques réponses a ce sujet mais datant de 2013 et j'ai peur quelles ne convienne pas a mon problème?
    du fait du passage a PHP 5 voir plus.
    donc un petit coup de main me plairait bien !!
    voici l'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Notice: Undefined offset: 1 in C:\Program Files (x86)\EasyPHP-############## on line 25
    Notice: Undefined offset: 2 in C:\Program Files (x86)\EasyPHP-############## on line 27
    Notice: Undefined offset: 3 in C:\Program Files (x86)\EasyPHP-############## on line 27
    Notice: Undefined offset: 2 in C:\Program Files (x86)\EasyPHP-############## on line 27
    Notice: Undefined offset: 1 in C:\Program Files (x86)\EasyPHP-############## on line 27
    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
    17
    18
    19
    20
    	function verifyAccess($minlevel) {
    		global $HTTP_COOKIE_VARS;
    		$userlist = file("users.inc.php");
    		$done  = false;
    		$auth  = false;
    		$found = false;
    		$i = 1;
    ligne 25		list($name,$pass)  = explode(':',$HTTP_COOKIE_VARS["AUTHORIZER"]);
    		                  while (!$done) {
    ligne 27		list($n,$p,$a) = explode(':',$userlist[$i]);
    			       $found = ($name == $n) && ($n!="");
    			       $auth  = $found && ($pass == $p) && ($a<=$minlevel);
    			      $done  = $found || ($i>=count($userlist));
    			$i++;
    		}
    		if (!$auth) {
    			readfile("auth_login.inc.html");
    			die("");
    		}
    	}
    un grand merci pour votre aide !

    Amicalement , Domy

  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
    Points : 44 155
    Points
    44 155
    Par défaut
    Déjà $HTTP_COOKIE_VARS a été remplacé par $_COOKIE qui est déjà globale.

    Ensuite ton premier reflexe devrait être de faire un debugage basique minimum.
    par exemple contrôler $HTTP_COOKIE_VARS["AUTHORIZER"] (enfin $_COOKIE["AUTHORIZER"]) qui ne doit pas actuellement contenir les ":" que tu cherches.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 31
    Points : 19
    Points
    19
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Déjà $HTTP_COOKIE_VARS a été remplacé par $_COOKIE qui est déjà globale.

    Ensuite ton premier reflexe devrait être de faire un debugage basique minimum.
    par exemple contrôler $HTTP_COOKIE_VARS["AUTHORIZER"] (enfin $_COOKIE["AUTHORIZER"]) qui ne doit pas actuellement contenir les ":" que tu cherches.
    merci a toi pour ton aide sabotage;

    qu'entend tu par un debugage basique ?
    j'utilise Dreamweaver et je n'ai pas de debugage dessus ,
    comment je peu faire.

    je suis plus adepte des macro sur vba lol rien a voir !!
    encore merci pour ton aide

  4. #4
    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
    Points : 44 155
    Points
    44 155
    Par défaut
    C'est exactement pareil en PHP ou en VBA.
    Quand tu as une erreur sur un traitement, tu contrôles la valeur des variables en jeu, ici $HTTP_COOKIE_VARS["AUTHORIZER"].
    Avec var_dump par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var_dump($HTTP_COOKIE_VARS["AUTHORIZER"]);
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 31
    Points : 19
    Points
    19
    Par défaut
    Citation Envoyé par sabotage Voir le message
    C'est exactement pareil en PHP ou en VBA.
    Quand tu as une erreur sur un traitement, tu contrôles la valeur des variables en jeu, ici $HTTP_COOKIE_VARS["AUTHORIZER"].
    Avec var_dump par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var_dump($HTTP_COOKIE_VARS["AUTHORIZER"]);
    désolés si je suis un peu lourd ou long a la détente comme on dit : mais ce var_dum est sensé me retourner quoi ,

  6. #6
    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
    Points : 44 155
    Points
    44 155
    Par défaut
    Le contenu et le type de la variable.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #7
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Pour compléter les remarques de sabotage : les instructions de type list(...) = explode(...) ne sont à utiliser que si tu es 100% sûr que la chaine d'origine contient bien le bon nombre de blocs à séparer.
    Dans ton cas, il faudrait au moins vérifier d'abord que $HTTP_COOKIE_VARS["AUTHORIZER"] est bien renseigné et éventuellement qu'elle contient au moins un caractère :. Par exemple avec ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    if (!empty($HTTP_COOKIE_VARS["AUTHORIZER"]) && strpos($HTTP_COOKIE_VARS["AUTHORIZER"], ':' !== false)) {
    	list($name,$pass)  = explode(':',$HTTP_COOKIE_VARS["AUTHORIZER"]);
    	while (!$done) {
    		list($n,$p,$a) = explode(':',$userlist[$i]);
    		$found = ($name == $n) && ($n!="");
    		$auth  = $found && ($pass == $p) && ($a<=$minlevel);
    		$done  = $found || ($i>=count($userlist));
    		$i++;
    	}
    }
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

Discussions similaires

  1. [MySQL] Notice: Undefined offset
    Par gaetanc15 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 30/04/2009, 16h16
  2. [Tableaux] Notice: Undefined offset
    Par KOogar dans le forum Langage
    Réponses: 16
    Dernier message: 02/02/2008, 02h44
  3. [Système] Notice: Undefined offset
    Par noname_971 dans le forum Langage
    Réponses: 2
    Dernier message: 22/01/2008, 14h02
  4. [Tableaux] Notice: Undefined offset: 5 in
    Par fast462 dans le forum Langage
    Réponses: 3
    Dernier message: 30/05/2007, 10h08
  5. erreur: "Notice: Undefined offset:"
    Par Sh1v3r dans le forum Langage
    Réponses: 2
    Dernier message: 17/06/2006, 22h48

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