Connexion bdd

cs_vargas Messages postés 42 Date d'inscription samedi 14 juin 2003 Statut Membre Dernière intervention 10 juin 2013 - 22 janv. 2012 à 16:29
cac188 Messages postés 23 Date d'inscription mardi 25 décembre 2007 Statut Membre Dernière intervention 13 juin 2012 - 27 févr. 2012 à 11:24
Bonjour à tous

Je suis entraine de développer une système de gestion des projets en php, mais
j'ai de la difficulté avec la connexion de la base de données.
Mon but est de créer un fichier conf.php pour tout ce qui est de la connexion à ma bdd et ainsi pouvoir faire des requêtes dans d'autres pages.php sans besoin de toujours créer une connexion.

Si quelqu'un connait comment faire une pareil chose

Merci beaucoup pour votre aide !!!!

10 réponses

cod57 Messages postés 1654 Date d'inscription dimanche 7 septembre 2008 Statut Membre Dernière intervention 11 septembre 2013 20
22 janv. 2012 à 16:59
bonjour

par un include

mais que veux tu mettre dans ton config.php

une class
la connection
les identifiants
une fonction de nettoyage

que veux tu laisser dans le code

include('rep/config.php');
$req='select ... tati tata';
$connect = new Connection('$req');
$res=array();
$res=$connect->send();
print_r($res);




Bonne programmation !
0
mailliam Messages postés 261 Date d'inscription mardi 2 juillet 2002 Statut Membre Dernière intervention 10 mars 2014 3
22 janv. 2012 à 17:57
Tcho!

Pendant que t'y es, penses à protéger ton rep/ avec un fichier .htaccess
(qui contient: deny from all)

A++
0
cs_vargas Messages postés 42 Date d'inscription samedi 14 juin 2003 Statut Membre Dernière intervention 10 juin 2013
22 janv. 2012 à 18:17
Dans mon config je veux avoir tout ce qui concerne la connexion à la base de donnée
par la suite dans un autre page faire include('config.php');
et pouvoir faire une requête sans problème.

merci
0
cod57 Messages postés 1654 Date d'inscription dimanche 7 septembre 2008 Statut Membre Dernière intervention 11 septembre 2013 20
22 janv. 2012 à 20:04
tu pourrais par exemple y mettre une classe comme ça

Tapez le texte de l'url ici.

j'y ajouterai une fonction pour nettoyer les variables $_POST,$_GET,$_REQUEST

public function cleanAll {
...
}

dans tes fichiers tu fais ex pour un select

try
{
$Resulats = $Mysql->TabResSQL('SELECT Champ1,Champ2 FROM table');
}
catch (Erreur $e) {
echo $e -> RetourneErreur();
}

//Utilisation des résultats



foreach ($Resulats as $Valeur)
{
echo $Valeur['Champ1'];
echo $Valeur['Champ2'];
}

Bonne programmation !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
TychoBrahe Messages postés 1309 Date d'inscription samedi 31 janvier 2009 Statut Membre Dernière intervention 5 juin 2013 12
27 janv. 2012 à 05:06
Salut,

Je ne peux que recommander l'utilisation de PDO au lieux de refaire soi même une abstraction pour accéder à la base de donnée. J'en profite pour dénoncer l'exemple de wrapper pour mysql_* hébergé sur "zone-webmasters.net" dont cod57 à mis le lien, ce genre de chose est juste totalement naze par rapport à ce qui existe déjà. Sérieux, pas la peine d'aller récupérer des scripts bizarres d'on ne sais pas trop où et utilisez donc ce qui vous est déjà fourni, ce sera bien mieux croyez moi.

Si tu cherches à ne pas devoir créer une nouvelle connexion à chaque page, tu peux utiliser une connexion persistante, ce qui est possible avec PDO.

Pendant que t'y es, penses à protéger ton rep/ avec un fichier .htaccess
(qui contient: deny from all)

Attention, ceci fonctionne uniquement avec apache (ou peut être certains petit serveurs web reprenant ce principe), et seulement si ce dernier accepte que tu utilises un .htaccess et que le nom du fichier soit bien .htaccess. Bien que ce soit vrai la plupart du temps, ça fais quand même 3 raisons différentes pour que ton conseil ne s'applique pas, attention donc.

j'y ajouterai une fonction pour nettoyer les variables $_POST,$_GET,$_REQUEST

Non, non, non et non !
Ça part d'un bon sentiment je te l'accorde, mais ce genre de chose est une véritable plaie. Certains l'ont fait, ça s'appelle les magic quotes, ça a foutu une merde monumentale dans PHP et arrive à se débarrasser de ce gros boulet seulement avec la version 5.4 de PHP.
0
cod57 Messages postés 1654 Date d'inscription dimanche 7 septembre 2008 Statut Membre Dernière intervention 11 septembre 2013 20
27 janv. 2012 à 10:10
bonjour

@TychoBrahe
Quand je parle de fonctions de nettoyage je ne lui propose pas de faire sa fonction mais d'utiliser les fonctions déjà présentent dans php comme
strip_tags,mysql_real_escape_string,trim,htmlentities ...
ou encore FILTER_SANITIZE bref !

pdo OUI ! Mais les requêtes préparées et bien rédigées !
Depuis que je suis sur le forum 90% des questions tournent autour de
mysql_connect() ... donc les fonctions de nettoyages :
mysql_real_escape_string() contre les injections sql
strip_tags() contre le xss
un token dans un form contre le Cross-site request forgery

je ne parle pas de addslashes et stripslashes qui créent plus de confusion que de résultats

deux liens qu'il peut lire

base de sécurité
Tapez le texte de l'url ici.

pdo pro
Tapez le texte de l'url ici.

En fait tu as raison en 2012 PDO devrait s'imposer les wrappers qui refont PDO sont dépassés mais pas non fonctionnels. L'exemple de zone webmaster est peut être maladroit mais je trouve qu'il est une introduction à l'abstraction sans plus. Il faudrait qu'il poste un code pour juger sur pièce car tout cela reste bien formel et vague de sa part.




Bonne programmation !
0
TychoBrahe Messages postés 1309 Date d'inscription samedi 31 janvier 2009 Statut Membre Dernière intervention 5 juin 2013 12
27 janv. 2012 à 18:13
Quand je parle de fonctions de nettoyage je ne lui propose pas de faire sa fonction mais d'utiliser les fonctions déjà présentent dans php

J'ai compris ce que tu as dit comme "on boucle sur tout $_GET, $_POST etc afin d'appliquer une fonction qui va "nettoyer" le contenu.

Après même si ce n'est pas ce que tu sous entendais, à cause de la simplicité du wrapper il y a toujours des risques d'erreur par simple inattention. Alors aller ajouter du code mauvais alors qu'on a de bons trucs à portée, je ne trouve vraiemnt pas ça un bon choix.
0
cac188 Messages postés 23 Date d'inscription mardi 25 décembre 2007 Statut Membre Dernière intervention 13 juin 2012
23 févr. 2012 à 18:38
Salut tous le monde!

J'ai une erreur encore plus dingue...

En faisant :

mysql_query('SELECT name, value FROM `configuration`')

Puis mysql_fetch_array() de cette requête je me retrouve non pas avec une array pleines mais une seul ligne ...

J'ai tous essayer ... des print_r a tous les niveaux rien à faire
0
TychoBrahe Messages postés 1309 Date d'inscription samedi 31 janvier 2009 Statut Membre Dernière intervention 5 juin 2013 12
23 févr. 2012 à 18:58
Salut,

C'est tout à fait normal, vas donc lire la documentation de cette fonction et n'oublie pas de regarder les exemples. Il existe des milliers de tutos sur le net à ce sujet, tu n'as qu'a les lire.

Et ma remarque concernant l'usage de PDO au lieux de mysql_* est toujours d'actualité, à toi de voir si tu veux faire les choses proprement ou non.
0
cac188 Messages postés 23 Date d'inscription mardi 25 décembre 2007 Statut Membre Dernière intervention 13 juin 2012
27 févr. 2012 à 11:24
J'ai complétement zapper mon while avec l'array et tout le delire :p

Merci pour ta réactivité!

Jordan Sitbon
0