Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Include qui include que dalle [ Divers / Débutant(e) ] (DarkCid)

lundi 29 mai 2006 à 09:19:59 | Include qui include que dalle

DarkCid

Membre Club

Yaoh !

J'essaye de faire sur une page une liste dont le contenu vient d'une bdd mysql. Moi, feignasse de nature, je me suis dis que j'allais pas répéter sur chaque page la connexion, alors hop, g pensé à un include. G mis la connexion dans un fichier .php à part :

<?
    $dbhost = "localhost";
    $user = "root";
    $password = "";
    $usebdd = "signanet";
    $connexion = mysql_connect($dbhost,$user,$password);
    if (!$connexion)
    {
        echo "Impossible d'effectuer la connexion";
    }
    $db = mysql_select_db($usebdd, $connexion);
    if (!$db)
    {
        echo "Impossible de sélectionner cette base de données";
    }
?>

Ensuite, je l'appelle (je raccourcis le code, ma liste en elle-même marche, donc je vais pas allourdir ce message) :

<html>
       <head>
              <title>Jeux d'Essai</title>
       </head>
       <body>
              <?
                  $SQL="SELECT * FROM categorie";
                  include " [ Lien ]" ;
                  $result = mysql_query($SQL,$connexion);
                  $nb = mysql_num_rows($result);
                  echo $nb;
              ?>
       </body>
</html>

Et voilà ce que sa me dis :

Notice: Undefined variable: connexion in c:\program files\easyphp1-8\www\tests\listes.php on line 9

Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in c:\program files\easyphp1-8\www\tests\listes.php on line 9

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in c:\program files\easyphp1-8\www\tests\listes.php on line 10

Pour info, g déjà essayer de remplacer le include par un require, nada. Enfin, g remplacer le include par carrément tout le code de connexion.php, et là sa marche.
Pitié ! Ne me dites pas que je devrais oublié le include et remettre tout le code de connexion.php !!!!!!!!!


lundi 29 mai 2006 à 09:26:08 | Re : Include qui include que dalle

sidf

include "http://localhost/Signanet.fr/Pages/connexion.php" ;

pas http !!!!!!!!!

include ("connexion.php");
ou
include ("Pages/connexion.php");

selon que la page appelée est dans le même repertoire ou non

lundi 29 mai 2006 à 10:19:04 | Re : Include qui include que dalle

DarkCid

Membre Club
dsl mais c'est pire qu'avant, maintenant il m'affiche carrément une partie du code php sans l'interpréter, comme si c'était du texte tout simple (et allez pas me dire qu'il fo ke je vérifie l'extension, toutes mes feuilles son en .php)

lundi 29 mai 2006 à 10:20:28 | Re : Include qui include que dalle

DarkCid

Membre Club
De plus, je vois pas ce qui cloche avec http, je l'utilise pour les href et sa marche impec

lundi 29 mai 2006 à 10:42:10 | Re : Include qui include que dalle

steb359842

il faut effectivement utiliser des chemin relatifs soit ../connexion.php par ex...
et pour que ton code soit interprété met les balises d'ouverture et de fermeture du php dans la page inclue.

Bonne chance...

*°*°*°*°*°*°*°*°*°*°*°*
Marmotte Joyeuse


lundi 29 mai 2006 à 10:43:29 | Re : Include qui include que dalle

coockiesch

Salut!
Que contient connexion.php?

@++

R@f

www.allpotes.ch: Photos, humour, vidéos, gags, ...
"On dit que seulement 10 personnes au monde comprenaient Einstein. Personne ne me comprends. Suis-je un génie???"

lundi 29 mai 2006 à 11:59:06 | Re : Include qui include que dalle

DarkCid

Membre Club

g mis le contenu de connexion.php dans le premier message, c'est le premier code.
Le chemin relatif marche mais il y a un truc que je pige pas trop :
je lance mon site depuis la page d'accueil de EasyPHP. Il execute bien mes requêtes dans des pages où g mis include("./connexion.php");
connexion.php est dans le même repertoire. Mais si pour là page que g mis plus haut, elle aussi dans le meme repertoire, je met le même include et que je la lance en "freestyle" (en clair, juste ouvrir comme ça dans un browser), là sa marche plus alors que si les deux pages ne sont pas o même endroit, sa marche avec le chemin relatif.
Mystère non


lundi 29 mai 2006 à 13:43:34 | Re : Include qui include que dalle

sidf

moi je mettrais ça dans connexion.php
<?php
    $dbhost = "localhost";
    $user = "root";
    $password = "";
    $usebdd = "signanet";
?>
et ça dans ta 2eme page
<?php
    include("./connexion.php"); 
    $connexion = mysql_connect($dbhost,$user,$password);
    if (!$connexion)
    { echo "Impossible d'effectuer la connexion"; }
    $db = mysql_select_db($usebdd, $connexion);
    if (!$db)
    {echo "Impossible de sélectionner cette base de données";}
...
?>

lundi 29 mai 2006 à 14:33:04 | Re : Include qui include que dalle

MrdJack

sidf -> si tu mets ça, ya un gros prob de sécurité sur ton serveur...
car si un mec arrive a faire executer un code php dasn ton site, rien ne l'empeche d'utiliser les variables $dbhost, $user et $password...
et tu te retrouve avec une base de donnée trafiquée...
donc au mieux, faire un require("./mapageprivée");
et dans le require, une réplique des fonctions de mysql. je m'explique :

function requeteSQL($requete) {
    $dbhost = "localhost";
    $user = "root";
    $password = "";
    $usebdd = "signanet";
    $connexion = mysql_connect($dbhost,$user,$password);
    if (!$connexion)
    {
        return "Impossible d'effectuer la connexion";
    }
    $db = mysql_select_db($usebdd, $connexion);
    if (!$db)
    {
        return "Impossible de sélectionner cette base de données";
    }
    valid_requete($requete); // fonction qui va bannir certainnes requetes contenant des mots clés potentiellement dangereux et qui ne sont pas utilisés dans le site. c'est un plus qui peut etre utile...
    $return = mysql_query($requete,$connexion);

    et surtout fermer la connexion apres chaque requete
    mysql_close($connexion);
}


et dans le code, on fait $result = requeteSQL("SELECT * FROM categorie");

le truc de bien est deja le fait de fermer la connexion à chaque fois, car c'est mieux pour la rapidité du serveur...
sinon à chaque fois que le serveur php execute du code sasn utiliser mysql, le serveur sql est bloqué
la deuxieme chose de bien c'est que les mots de passe et login sont effacés apres l'appel de la fonction. il suffit de placer cette page contenant les fonctions importantes dans un repertoire du ftp qui est protegé(depuis internet ou des autres utilisateur du ftp(ca peut arriver qu'il y ai un co-webmaster mais qui ne doit surtout pas connaitre les infos importantes de la base de donnée.)

c'est en gros les premiers pas vers une classe de gestion de mysql...
@+


lundi 29 mai 2006 à 14:38:31 | Re : Include qui include que dalle

sidf

MrdJack --> merci pour l'info
(même si je n'ai pas tout compris)
je copie je colle


1 2

Cette discussion est classé dans : php, mysql, connexion, include, echo


Répondre à ce message

Sujets en rapport avec ce message

Problème d'execution PHP au travers d'une frame [ par DarkCid ] Yaoh !Sur une page PHP, je prends des données mySQL pour les mettre dans une liste déroulante. Sur ce point, aucun problème, je lance la page directem php dans <form> ? [ par Tit0x ] Bonsoir,J'aime savoir s'il été possible de mettre du php dans les ? Voici mon code :  include('design/header.php');include('config.inc.php');//On se c Prb avec connexion a Bd mysql [ par matheo54 ] Bonjour,j'ai installé sur un xp un serveur Apache2 (Win32), PHP5 et mysql5. Apache marche bien, php marche bien dans apache. J'ai essayé de me connect j'ai un probleme de connexion php mysql [ par bigboss9 ] enfaite, tout mon code est fait, j'ai mon systeme d'inscription, mot de passe, username etc... mais quand je me connecte sur ma page membre, il m'affi AU secourrrrrrrrrrrrssssssssss [ par twixster ] Bonjour :Voila, je vous poste mon code, mais d'abord je vous explique, j'affiche a ubout de chaque ligne( c'est a dire chaque fois qu'on a fait enter erreur de controle mais où ??? [ par ahcorad ] Alors une page normale avec des liste déroulantes avec des données MySQL, au lancement de la page, les valeurs devraient être vides mais la première l probleme de session_start [ par metal_death ] Bonjour  j'ai créer un espace membre grace a phpfacile mais j'ai un petit probleme lors de la connection je recois ce message : Warning: session_star problème d'extraction suivant des critères [ par morpheus22170 ] dans une page, je demande une liste concernant le batiment et le numéro d'une sallea partir de cette demande, il m'affiche le reste des informations. Problème bizard avec les CSS [ par rouliendelavegas ] Encore moi J'ai fait une feuille de style (style.css à la racine du site)j'ai un fichier header.php (dans un dossier include) qui fait donc reference connexion a la base Mysql [ par salim81 ] bonjour! j'ai un menu qui contient plusieurs liens vers des pages php.ces page php sont des requetes vers ma base de donnees Mysql. mon probleme c'est


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,546 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.