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: Use of undefined constant


Sujet :

Langage PHP

  1. #1
    Membre habitué
    Homme Profil pro
    Développeur décisionnel
    Inscrit en
    Février 2012
    Messages
    126
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur décisionnel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2012
    Messages : 126
    Points : 155
    Points
    155
    Par défaut Notice: Use of undefined constant
    Bonjour à tous,

    Tout d'abord, je suis désolé de vous déranger pour mon problème actuelle car je suis sûr que c'est un problème qui se résout en quelles secondes. Malheureusement, j'ai beau chercher je ne trouve pas l'ombre d'une solution.

    J'ai un projet en php en local qui fonctionne très bien sur mon poste fixe. Or, ce matin, j'ai voulu le mettre sur mon pc portable. Le résultat est le suivant :
    http://nsa22.casimages.com/img/2012/...3048768911.jpg

    Pour chacune des lignes de mon fichier configuration.php que voici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?php
    define(FONT_PATH, "lib/font/");
    define(IMAGES_PATH, "design/img/");			
    define(HTTP_PATH, "http://localhost/gtd/");
    define(ROOT_PATH, "C:/wamp/www/gtd/");
    define(DB_HOST, "localhost");
    define(DB_NAME, "gtd");
    define(DB_USER, "root");
    define(DB_PWD, "monpass");
    define(EMAIL_SUPPORT, "monadressemail");
    define(SMTP_SERVER, "smtp.free.fr");
    ?>
    En regardant sur le net, j'ai cru comprendre qu'il fallait mettre "@" devant define ou mettre des " " sur mes deux constantes define comme ceci : ("x", "y/z");

    Mais quand je le fais ça toujours le problème suivant :
    Notice : Undefined Index
    http://nsa21.casimages.com/img/2012/...3937959305.jpg

    Que dois-je faire? Merci d'avance.

  2. #2
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Salut,

    C'est que tu tentes de récupérer l'index "idUser" dans un tableau or qu'il ne l'a pas. Peut-on voir le code du fichier index.php, au moins jusqu'à la ligne 31?

    A+.

  3. #3
    Membre habitué
    Homme Profil pro
    Développeur décisionnel
    Inscrit en
    Février 2012
    Messages
    126
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur décisionnel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2012
    Messages : 126
    Points : 155
    Points
    155
    Par défaut
    Je ne comprends pas pourquoi il y a une erreur dessus. Je n'ai pourtant rien modifier et sur l'autre poste cela tourne parfaitement. D’où cela peut-il venir?

    le code de la page index.php
    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
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    <?php
    session_start();
    require_once("lib/gtd.php");	
     
    //Vérification des identifiants de connection
    if (!empty($_SESSION["Email"]) && !empty($_SESSION['Password'])) {
        Rediriger("accueil.php");
    }
    else
    {
        if (!empty($_POST["Email"]) && !empty($_POST["Password"]))
        {
            $user = new User();
            $user->Email = $_POST["Email"];
            $user->Password = $_POST["Password"];
     
            if ($user->Connexion())
            {
                $_SESSION['IdUser'] = $user->IdUser;
                $_SESSION['Email'] = $user->Email;
                $_SESSION['Password'] = $user->Password;
                Rediriger("accueil.php");
            }
            else
                $etat = $user->Erreur->LibelleErreur."</br>";
                echo "Impossible de se connecter";  
        }
    }
     
    $User = new User();
    $User->IdUser = $_SESSION['IdUser'];
    $User->Get();?>
    <fieldset2><p align="right">
    [ IdUser : N°<?php echo $User->IdUser;?> ]</br>
    [ Nom : <?php echo $User->Nom;?> ]</br>
    [ Prénom : <?php echo $User->Prenom;?> ]</br></p>   
    </fieldset2><?php
     
     
     
    echo Template::Entete("Identification GTD");
    echo Template::Contenu("Gestionnaire de Taches");
    //echo Template::Menu();
    ?>
     
    <h3 style="text-align:center;"></h3>
    <form action="" method="post">
        <fieldset>			
            <ul>
                Veuillez renseigner les champs suivants :	</br></br>	
     
                <label for="Email">Email :</label>
                <input type="text" id="Email" name="Email" value='<?php echo $_POST['Email']; ?>'/><br/>
                <label for="Password">Mot de passe :</label>
                <input type="password" id="Password" name="Password"/><br/></br>
     
                <input type="submit" value=" Connexion "/></br></br>
     
                <a href="inscription.php"> Pas encore inscrit ? </a> -
                <a href="pass_perdu.php"> Mot de passe perdu ? </a>
            </ul>			
        </fieldset>
    </form>
     
    <?php
    echo Template::Pied();
    ?>

  4. #4
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    La syntaxe correcte de define est la suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    define('NOM_CONSTANTE', 'valeur constante');
    Pour créer des constantes de manière sécurisée:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    defined('NOM_CONSTANTE') or define('NOM_CONSTANTE', 'valeur constante');
    Pour résoudre ton problème:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $User->IdUser = isset($_SESSION['IdUser']) ? $_SESSION['IdUser'] : null;
    Après il faut que ta classe user sache gêrer ce cas.

  5. #5
    Membre habitué
    Homme Profil pro
    Développeur décisionnel
    Inscrit en
    Février 2012
    Messages
    126
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur décisionnel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2012
    Messages : 126
    Points : 155
    Points
    155
    Par défaut
    Merci beaucoup pour le complément de réponse sur le define sécurisée.

    1 - Mais je ne comprends toujours pas pourquoi d'un PC à un autre, ce genre d'erreurs apparaissent. C'est le même code, le même logiciel (wamp), les mêmes chemins, etc.. C'est fort bizarre tout de même. Quelqu’un aurait une réponse à ce mystère?

    2 - Du coup, je dois modifier la version sur mon PC fixe malgré que ça tourne parfaitement?

  6. #6
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    1 - parce que le niveau d'erreur n'est pas configuré de la même façon, voir http://www.php.net/manual/fr/configuration.file.php

    2 - Non, juste mettre à jour la conf dans php.ini

    Il est recommandé d'utiliser le niveau maximal de reporting sur la plateforme de développement (error_reporting -1) et de désactiver l'affichage des erreurs sur la plateforme de production.

  7. #7
    Membre habitué
    Homme Profil pro
    Développeur décisionnel
    Inscrit en
    Février 2012
    Messages
    126
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur décisionnel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2012
    Messages : 126
    Points : 155
    Points
    155
    Par défaut
    Ah d'accord !
    Et bien merci beaucoup Benjamin Delespierre et andry.aime. Vous m'avez été d'une grande aide

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

Discussions similaires

  1. Notice: Use of undefined constant php - assumed 'php'
    Par arnob59 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 5
    Dernier message: 07/11/2012, 20h31
  2. Notice: Use of undefined constant
    Par kOrt3x dans le forum Langage
    Réponses: 4
    Dernier message: 02/08/2010, 22h51
  3. Enlever message : Notice: Use of undefined constant
    Par Ice-tea dans le forum Langage
    Réponses: 2
    Dernier message: 12/08/2006, 21h53
  4. Réponses: 2
    Dernier message: 08/08/2006, 12h54
  5. [Tableaux] Use of undefined constant
    Par lodan dans le forum Langage
    Réponses: 3
    Dernier message: 18/07/2006, 09h36

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