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 au niveau de la session (Notice: Undefined index: login)


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 90
    Points : 41
    Points
    41
    Par défaut Erreur au niveau de la session (Notice: Undefined index: login)
    Coucou tous le monde

    Alors j'ai une page qui SI la session (avec comme login : csphoenix1) n'est pas ouverte, alors j'inclus la page d'erreur. Le problème est qu'il inclus correctement la page, mais il m'affiche cette erreur au dessus :

    Notice: Undefined index: login in B:\Perso\Site Internet\Downloads\Pages\F. Anthony - Administration.php on line 7
    Et 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
    21
    <head>
    <title>Ph03n!X Server - Administration</title>
    </head>
     
    <?
    session_start();
    if($_SESSION['login']!="csphoenix1") {
      include('Downloads/Erreurs/Login-Acces-Interdit.html');
      exit;
    }else{
    $db = mysql_connect('localhost', 'BIP', 'BIPBIP');  // 1
    mysql_select_db('perso',$db);
    $sql = "select id,nom,prenom,attribut from user where login='".$_SESSION['login']."'";
    $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
    $data = mysql_fetch_assoc($req);
    }
     
     
    include 'Dou.html';
     
    ?>
    Comment faire pour résoudre ce problème ?
    Mici beaucoup En attendant je vais continuer de chercher ^^

  2. #2
    Membre émérite Avatar de darkstar123456
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 896
    Points : 2 838
    Points
    2 838
    Par défaut
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if( isset($_SESSION['login']) && $_SESSION['login']!="csphoenix1") {


    PS : De plus, session_start() doit normalement se trouver en première ligne de code !

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 90
    Points : 41
    Points
    41
    Par défaut
    Salut

    Merci de ta réponse

    Bah session_start() est bien en première ligne de code non ?

    Sinon ta ligne fonctionne oui et non, car lorsque j'ai fermé ma session ma page s'affiche alors qu'elle devrait renvoyer vers la page Login-Acces-Interdit.html et j'ai aussi cette erreur :

    Notice: Undefined index: login in B:\Perso\Site Internet\Downloads\Pages\F. Anthony - Administration.php on line 13
    Je te rappelles mon le code de ma page :
    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
    <head>
    <title>Ph03n!X Server - Administration</title>
    </head>
     
    <?
    session_start();
    if( isset($_SESSION['login']) && $_SESSION['login']!="csphoenix1") {
      include('Downloads/Erreurs/Login-Acces-Interdit.html');
      exit;
    }else{
    $db = mysql_connect('localhost', 'csphoenix1', 'Atlantide69');  // 1
    mysql_select_db('perso',$db);
    $sql = "select id,nom,prenom,attribut from user where login='".$_SESSION['login']."'";
    $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
    $data = mysql_fetch_assoc($req);
     
    include 'Downloads\Administration\Administration.html';
    }
    ?>
    Voili voilou. Merci de ta réponse

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    450
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 450
    Points : 123
    Points
    123
    Par défaut
    session_start(); doit se trouver avant TOUT code html dans ta page

    Par exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    <?php session_start(membre); ?>
     
    <html>
    <head>
    </head>
    <body>
     
    <p>ton contenu ...</p>
     
    </body>
     
    </html

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 90
    Points : 41
    Points
    41
    Par défaut
    Oki merci de l'info
    Personne n'a de solution pour mon ch'tit problème ?

  6. #6
    Membre émérite Avatar de darkstar123456
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 896
    Points : 2 838
    Points
    2 838
    Par défaut
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    if( !isset($_SESSION['login']) || $_SESSION['login']!="csphoenix1") {

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 90
    Points : 41
    Points
    41
    Par défaut
    Coucou tous le monde

    Merci beaucoup pour toutes vos réponses ça marche niquel Plus aucun bug ^^

    Par contre suite à plusieurs de mes recherches j'ai réuni divers lignes de codes pour autoriser ou non l'accès à une page si une session est ouverte ainsi que autoriser l'accès à une page en fonction d'un utilisateur défini, mais après je ne vois pas la différence entres ces 4 ligness de codes. Pourriez-vous m'aider à comprendre leurs différences ? Merci d'avance.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if(!isset($_SESSION['login'])) {
    if($_SESSION['login']!="csphoenix1") {
    if( !isset($_SESSION['login']) || $_SESSION['login']!="csphoenix1") {
    if( isset($_SESSION['login']) && $_SESSION['login']!="csphoenix1") {

  8. #8
    Expert éminent
    Avatar de 12monkeys
    Homme Profil pro
    Webmaster
    Inscrit en
    Novembre 2006
    Messages
    4 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2006
    Messages : 4 093
    Points : 9 031
    Points
    9 031
    Par défaut
    Bonjour

    isset : détermine si une variable est affectée.

    ! : signifie NON (Not)

    || équivalent de OR (c'est à dire OU)

    && ET (même lien que ci dessus).

    != : est différent de...


    if(!isset($_SESSION['login'])) {
    Signifie : si login n'est pas ( ! ) définie dans la session (c'est à dire qu'elle n'a pas été crée avant cette ligne) alors php traite ce qui se trouve entre les parenthèses.

    if($_SESSION['login']!="csphoenix1") {
    Signifie : si la valeur de login est différent de "csphoenix1" php traite ce qui se trouve entre les parenthèses.

    if( !isset($_SESSION['login']) || $_SESSION['login']!="csphoenix1") {
    Signifie : si login n'est pas définie dans la session OU si la valeur de login est différent de "csphoenix1" php traite ce qui se trouve entre les parenthèses.

    if( isset($_SESSION['login']) && $_SESSION['login']!="csphoenix1") {
    Signifie : si login est définie dans la session ET si la valeur de login est différent de "csphoenix1" php traite ce qui se trouve entre les parenthèses.

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    90
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 90
    Points : 41
    Points
    41
    Par défaut
    Et bien merci beaucoup pour toutes ces informations
    Je peut enfin marquer mon post comme "résolu"

    Merci 12monkeys
    Et par rapport à vos signatures, oui vos réponses m'on aidés ^^

  10. #10
    Expert éminent
    Avatar de 12monkeys
    Homme Profil pro
    Webmaster
    Inscrit en
    Novembre 2006
    Messages
    4 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2006
    Messages : 4 093
    Points : 9 031
    Points
    9 031
    Par défaut
    Citation Envoyé par Phoenix0007 Voir le message
    Et bien merci beaucoup pour toutes ces informations
    Je peut enfin marquer mon post comme "résolu"

    Merci 12monkeys
    Et par rapport à vos signatures, oui vos réponses m'on aidés ^^
    C'est sympas d'avoir un retour positif

    Bon codage...

+ 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