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

EDI, CMS, Outils, Scripts et API PHP Discussion :

Inclusion du script de connexion à la base de données


Sujet :

EDI, CMS, Outils, Scripts et API PHP

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Webmaster
    Inscrit en
    Octobre 2008
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 43
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Octobre 2008
    Messages : 12
    Points : 5
    Points
    5
    Par défaut Inclusion du script de connexion à la base de données
    Bonjour,

    Je viens de faire migrer mon site du distant vers le local, en me servant d'easyphp.

    Pour afficher mes contenus, j'ai fait un include pour le fichier dbconnect.php, qui me permet de me connecter à ma base de données.

    J'ai bien modifié les identifiants de login, mdp et nom de la base à l'intérieur de celui-ci.

    Mais il semble que ce soit le lien d'include qui ne fonctionne plus (il fct en distant) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
      //on se connecte a la bdd
            include ("connexion/dbconnect.php");
     
     
                    //extraction des données de  la bdd : lancer la requete
            $sql = "select * from photos where Xid_a=2 order by id_p desc limit 10" ;
            $resultat_sql = mysql_query($sql,$connexion);
    et quand je charge ma page ce message d'erreur s'affiche :

    Notice: Undefined variable: connexion in C:\Program Files\EasyPHP3.1\www\Local-BAB\pages\menuHaut\association\p1-presse.php on line 23

    Warning: mysql_query() expects parameter 2 to be resource, null given in C:\Program Files\EasyPHP3.1\www\Local-BAB\pages\menuHaut\association\p1-presse.php on line 23

    Requête invalide :
    (la ligne 23 correspond a la requete mysql_query qui doit reprendre les données de connexion de l'include)

    J'ai pensé que cela pourrait être un problème de chemin, mais les images s'affichent normalement sur tout le site, en utilisant le meme systeme de chemin relatif...

    J'ai aussi testé avec un chemin absolu :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
                    //on se connecte a la bdd
            include ("http://127.0.0.1/Local-BAB/connexion/dbconnect.php");
    mais ça ne doit surement pas etre ça, puisque voici le nouveau message d'erreur qui s'affiche :

    Warning: include() [function.include]: http:// wrapper is disabled in the server configuration by allow_url_include=0 in C:\Program Files\EasyPHP3.1\www\Local-BAB\pages\menuHaut\association\p1-presse.php on line 18

    Warning: include(http://127.0.0.1/Local-BAB/connexion/dbconnect.php) [function.include]: failed to open stream: no suitable wrapper could be found in C:\Program Files\EasyPHP3.1\www\Local-BAB\pages\menuHaut\association\p1-presse.php on line 18

    Warning: include() [function.include]: Failed opening 'http://127.0.0.1/Local-BAB/connexion/dbconnect.php' for inclusion (include_path='.;C:\php5\pear') in C:\Program Files\EasyPHP3.1\www\Local-BAB\pages\menuHaut\association\p1-presse.php on line 18
    !!!

    (la ligne 18 correspond à la ligne de l'include en elle-meme)

    Si vous pouviez m'aider à trouver la bonne piste, parce que là je ne comprends plus rien !

    merci !

  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
    Visiblement $connexion n'a pas été défini à la sortie de ton fichier dbconnect.php.

    Comment crées tu cette donnée ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre éclairé Avatar de metagoto
    Profil pro
    Hobbyist programmateur
    Inscrit en
    Juin 2009
    Messages
    646
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Hobbyist programmateur

    Informations forums :
    Inscription : Juin 2009
    Messages : 646
    Points : 845
    Points
    845
    Par défaut
    Déjà, met un require() au lieu du include(). Ca va planter plus rapidement plutôt que de continuer à exécuter le script avec des composants manquants.

    Ceci te retourne le répertoire de ton script:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dirname(__FILENAME__); // ou simplement __DIR__ pour php 5.3
    Donc tu peux mettre ça dans une variables et utiliser cette variable pour construire le chemin du fichier que tu veux inclure.

  4. #4
    Futur Membre du Club
    Femme Profil pro
    Webmaster
    Inscrit en
    Octobre 2008
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 43
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Octobre 2008
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    Sabotage >> dans dbconnect.php

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $dbhost = "localhost";
    $user = "root";
    $wordpass = "";
    $usebdd = "1371_babylonSite";
    $connexion = mysql_connect("$dbhost","$user","$wordpass");
    $db = mysql_select_db("$usebdd", $connexion);
    mysql_query("SET NAMES 'utf8'");
    Metagoto >> j'ai jamais utilisé le require(), jusqu'à présent l'include() marchait tres bien.. je vais le mettre pour voir..

    je tente aussi le dirname() ..

    merci pour vos réponses.. j'ai pas pu les voir avant ce soir.. dsl

    je reposte ici pour vous dire ce que ça donne

  5. #5
    Futur Membre du Club
    Femme Profil pro
    Webmaster
    Inscrit en
    Octobre 2008
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 43
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Octobre 2008
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    j'ai tenté de comprendre le fonctionnement de dirname() :

    j'ai finalement mis ceci, ai je bien fait ?
    (j'ai tenté le _DIR_, le _FILE_ et le _FILENAME_ sans succès avant)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     //on se connecte a la bdd
    	$rep = 'C:\Program Files\EasyPHP3.1\www\Local-BAB';
            require (dirname($rep).'/Local-BAB/connexion/dbconnect.php');
    en tout cas cela me donne toujours la meme chose :

    Notice: Undefined variable: connexion in C:\Program Files\EasyPHP3.1\www\Local-BAB\pages\menuHaut\association\p1-presse.php on line 24
    mais peut etre n'ai je pas bien utilisé la fonction ?!

    Il est possible que le probleme vienne de mon installation d'easyphp, j'ai dû désinstaller et réinstaller plusieurs fois car j'avais des problemes d'identifiants de connexion à la base de données.. mais à chaque fois que je réinstallais (malgré que j'aie bien tout effacé tout) il me conservait mes précédents identifiants !!
    alors jai dû faire "ouvrir une nouvelle fenetre phpmyadmin" pour recréer une base... du coup je sais meme pas si les identifiants sont pour la bonne base de données !!
    je pense qu'il a effacé les autres, puisque maintenant quand je me connecte à phpmyadmin (depuis Administration) je tombe sur la derniere base de données que j'ai entrée (sans en modifier les identifiants par défaut)..

    euh... c'est compréhensible mon explication ?

  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
    Essai en affichant les erreurs et sans les guillemets inutiles :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $connexion = mysql_connect($dbhost,$user,$wordpass) or die(mysql_error());
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #7
    Futur Membre du Club
    Femme Profil pro
    Webmaster
    Inscrit en
    Octobre 2008
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 43
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Octobre 2008
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    aucun changement, toujours le meme message d'erreur..

    Dans phpmyadmin où peut-on vérifier les identifiants de la base ? je n'arrive pas à trouver...

  8. #8
    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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $connexion = mysql_connect($dbhost,$user,$wordpass) or die(mysql_error());
    var_dump($connexion);
    si tu fais ca, ca affiche quelque chose ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  9. #9
    Futur Membre du Club
    Femme Profil pro
    Webmaster
    Inscrit en
    Octobre 2008
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 43
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Octobre 2008
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    ça affiche toujours pareil, ni plus ni moins

  10. #10
    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
    A mon avis tu ne travailles pas sur les bons fichiers.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  11. #11
    Futur Membre du Club
    Femme Profil pro
    Webmaster
    Inscrit en
    Octobre 2008
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 43
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Octobre 2008
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    Qu'est ce que tu veux dire par là ? ?

  12. #12
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 69
    Points : 48
    Points
    48
    Par défaut
    ca fais certes un bail mais je viens d'avoir l'erreur du "wrapper" comme celle décrit plus haut :
    Warning: include() [function.include]: http:// wrapper is disabled in the server configuration by allow_url_include=0 in C:\Program Files\EasyPHP3.1\www\Local-BAB\pages\menuHaut\association\p1-presse.php on line 18

    Warning: include(http://127.0.0.1/Local-BAB/connexion/dbconnect.php) [function.include]: failed to open stream: no suitable wrapper could be found in C:\Program Files\EasyPHP3.1\www\Local-BAB\pages\menuHaut\association\p1-presse.php on line 18

    Warning: include() [function.include]: Failed opening 'http://127.0.0.1/Local-BAB/connexion/dbconnect.php' for inclusion (include_path='.;C:\php5\pear') in C:\Program Files\EasyPHP3.1\www\Local-BAB\pages\menuHaut\association\p1-presse.php on line 18
    je suppose que depuis 6 mois les choses ont évolué, mais quittes a laissé pourrir un topic sans réponse, vaut mieux en donné une, même si elle résoud 50% du problème ^^.

    donc, pour résoudre ce wrapper, c'est tout simple. dans ton php.ini, tu vas à la ligne 898 :
    allow_url_include = Off
    et tu mets cette valeur à On

    Pour les chemin relatif et absolu, si l'on est pas sur de son coup, le mieux est de partir du dosser racine, soit www/MondossierRacine/.
    Ensuite, il suffit juste de faire ./ suivi de l'arborescence du chemin du fichier a rechercher. Ici se serait "./connexion/dbconnect.php".

    après le mieux, c'est de directement donné le code source des diverses page qui sont liée. Parfois l'on peut avoir des surprises.

Discussions similaires

  1. ERREUR DE CONNEXION à une base de donnée ACCESS protégée
    Par unionriton dans le forum Bases de données
    Réponses: 4
    Dernier message: 09/05/2005, 09h35
  2. Delphi Connexion à une base de donnée distante par TCP/IP
    Par viecel dans le forum Bases de données
    Réponses: 1
    Dernier message: 12/01/2005, 19h19
  3. Echec lors de la connexion à la base de données.
    Par mclown dans le forum PostgreSQL
    Réponses: 8
    Dernier message: 26/10/2004, 23h36
  4. Réponses: 3
    Dernier message: 29/03/2004, 18h02
  5. Réponses: 3
    Dernier message: 24/10/2003, 21h46

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