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 :

[PHP5 - easyPHp 5.3 ) function include


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    277
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 277
    Par défaut [PHP5 - easyPHp 5.3 ) function include
    Bonjour,

    J'avais développé un site en PHP3 que je souhaite refondre en PHP5.
    Mais j'ai un problème : j'ai un fichier var.php qui contient les variables "globales".

    Lorsque je veux récupérer ces variables dans un autre fichier, je fais
    include ("var.php");

    La fonction include n'est pas activée.

    Pourriez-vous m'aider SVP ?

    Un grand merci d'avance

  2. #2
    Membre émérite Avatar de tdutrion
    Homme Profil pro
    Architecte technique
    Inscrit en
    Février 2009
    Messages
    561
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2009
    Messages : 561
    Par défaut
    Bonjour,

    Es-tu sûr que la fonction include n'est pas activée ? Ca me paraît étrange.

    Je te conseille de migrer vers PHP 5.6 ou 7.0 directement, et surtout pas 5.3 qui n'est plus supportée depuis longtemps.

    As-tu un message d'erreur ? Qu'est ce qui te fais dire qu'include n'est pas activé ?

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    277
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 277
    Par défaut
    Bonjour et merci d'avoir pris le temps de me répondre.

    ce qui me fait dire qu'include ne marche résulte de ce test

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if (include('vars.php') == 'OK') {
        echo 'OK';
    }else{
        echo 'NOK'

    Et elle me retourne NOK.

    Je vais changer de version comme tu me le préconise et je vous tiens au courant.

  4. #4
    Membre émérite Avatar de tdutrion
    Homme Profil pro
    Architecte technique
    Inscrit en
    Février 2009
    Messages
    561
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2009
    Messages : 561
    Par défaut
    Alors en fait ton code ne prouve pas que la fonction ne marche pas...

    Prenons un exemple simple (testé sur PHP 7.0.3 sur mac) :

    test1.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <?php return ['test'];
    test.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <?php var_dump(include('test1.php'));
    Ensuite si tu as PHP en console tu peux faire php test.php ou tenter de l'ouvrir dans easyphp, et tu verras que var_dump est le contenu du fichier (executé). Dans ton cas, ce contenu est donc différent de 'OK'.

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    277
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 277
    Par défaut
    En fait, je ne suis pas sûr de comprendre. J'ai un fichier var.php qui contient :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $server = "localhost";
    $username = "root";
    $passworddb = "";


    et j'ai un fichier authent.php qui contient :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    include ("var.php");
    $base = mysql_connect ($server, $username, $passworddb);

    mais ce message d'erreur s'affiche :
    Notice: Undefined variable: server in C:\Program Files (x86)\EasyPHP-Devserver-16.1\eds-www\authent.php on line 12

    Notice: Undefined variable: username in C:\Program Files (x86)\EasyPHP-Devserver-16.1\eds-www\authent.php on line 12

    Notice: Undefined variable: passworddb in C:\Program Files (x86)\EasyPHP-Devserver-16.1\eds-www\authent.php on line 12

    Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in C:\Program Files (x86)\EasyPHP-Devserver-16.1\eds-www\authent.php on line 12

    Notice: Undefined variable: account in C:\Program Files (x86)\EasyPHP-Devserver-16.1\eds-www\authent.php on line 14
    Erreur SQL !
    SELECT PRENOM, NOM FROM votant WHERE LOGIN = 'xlaxague' AND PASSWORD = 'fad3d92e1e7f29821527e6f3b748f3c6'
    No database selected
    Les trois variables du fichier var.php ne sont pas reconnues : server, username et passworddb qui sont initialisés dans le fichier var.php

    Merci d'avance

  6. #6
    Membre émérite Avatar de tdutrion
    Homme Profil pro
    Architecte technique
    Inscrit en
    Février 2009
    Messages
    561
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2009
    Messages : 561
    Par défaut
    Bonjour,

    Il faudrait l'intégralité des fichiers, surtout pour voir les balises PHP ouvrantes.

    En gros ça marche si tu as bien <?php au début du fichier var.php, si tu n'ouvres pas les balises, php n'est pas interprété.
    A une autre époque nous étions bien trop permissif en php et on pouvait aussi utiliser <?, <%, <script type="php">... Mais tout ça ne fonctionnera plus.

    mysql_* ne doivent plus être utilisée pour des raisons de sécurité, donc il faut voir à remplacer par mysqli ou pdo (j'ai une préférence pour PDO), voir Doctrine DBAL mais là c'est un peu plus avancé.

Discussions similaires

  1. [EasyPHP] error function.include pour require
    Par LDDbyD dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 11/05/2012, 13h13
  2. Warning: include() [function.include]: Failed opening
    Par stephcache dans le forum Langage
    Réponses: 2
    Dernier message: 31/10/2010, 17h40
  3. Réponses: 3
    Dernier message: 20/08/2009, 21h46
  4. Warning: include() [function.include]: Failed opening
    Par FotoXe33 dans le forum Langage
    Réponses: 2
    Dernier message: 12/07/2009, 19h49
  5. class php5 - Fatal error: main() [function.main]
    Par tom261285 dans le forum Langage
    Réponses: 3
    Dernier message: 21/01/2005, 15h41

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