Nous avons vu dans la première partie du tutoriel qu'avant chaque accès aux données, nous devons nous autentifier. En effet, l'accès dépend d'un nom d'utilisateur et d'un mot de passe.
Pour éviter de spécifier à chaque fois ces données, nous pouvons les placer dans un fichier. Il suffit alors d'inclure ce fichier partout où nous en avons besoin.
Si nous changeons régulièrement de mot de passe, nous devons alors seulement le modifier dans ce fichier, et non plus partout où le mot de passe est utilisé.
<?php //fichier scripts/variables.php // // nom du serveur qui suporte la db // // nom de la db // //autentification ?>
Emplacement des fichiers
Nous pouvons placer tous les fichiers comme celui-ci dans un sous répertoire du site (dans cet exemple, le répertoire "scripts"). De cette manière, les seuls fichiers qui se trouvent à la racine du site sont des fichiers dont le contenu doit être affiché.
Comme nous avons créé un fichier avec les données nécessaires à la connexion vers la base de données [DB], nous allons simplement inclure ce fichier dans notre page.
Nous pouvons aussi tester si nous pouvons accéder à la DB. Si nous n'avons pas accès nous stoppons immédiatement tout traitement grâce à l'instruction PHP die.
// Debut de la page // ... // Informations de connexion include('scripts/scripts/variables.php'); // Tentative de connexion } // Selection de la base de donnees // Suite du code si la connection est ok // ... // Deconnexion de la base de donnees
Ce type de gestion d'erreur est parfois trop "brutal", et nous pouvons éviter d'utiliser la fonction PHP die comme le montre l'exemple suivant :
// Debut de la page // ... include_once('scripts/scripts/variables.php'); // Suite du code si la connection est ok // ... }else{ echo 'Attention : impossible de se connecter à la DB.'; }
Nous en avons aussi profité pour remplacer include par include_once qui évite d'inclure inutilement le fichier si il est déjà inclu.
Pour demander à PHP d'envoyer une requête SQL à MySQL, nous pouvons utiliser la fonction PHP mysql_query. Dans l'exemple suivant, nous avons une « requête » (en anglais, “query”) qui compte le nombre de mots définis dans notre dictionnaire, mais nous verrons par la suite comment écrire ces requêtes.
Lors de l'exécution de la requête SQL dans le serveur MySQL, nous pouvons aussi avoir des erreurs. Nous pouvons récupérer des informations sur ces erreurs grâce à la fonction PHP mysql_error.
$query='SELECT COUNT(mot) AS nbr FROM dictionnaire'; //suite du code...
Le fait de placer le signe "@" devant l'instruction permet de lui signaler de ne pas traiter lui-même l'erreur (sinon il risque d'interrompre tout traitement), car nous nous en chargerons.
Nous ajoutons à la variable "error" (un tableau) l'erreur que la base de données nous envoie. Nous pourrons ensuite lui demander le texte correspondant, et d'autres informations.
Nous avons déclaré à la création de la base de données que nous utiliserons le français UTF-8.
Nous pouvons utiliser la commande suivante afin d'éviter un mauvais affichage des caractères accentués :
Même si nous utilisons un include pour ne pas devoir spécifier à chaque fois les données nécessaires à la connexion, à chaque fois que nous utilisons la base de données dans nos pages nous devons effectuer les mêmes opérations de connexion et de déconnexion. L'infobrol utilise une classe PHP qui se charge d'effectuer les traitement nécessaires. Le gain d'une telle classe, en temps et facilité de maintenance, est très important.
Vous pouvez modifier vos préférences dans votre profil pour ne plus afficher les interactions avec les réseaux sociaux sur ces pages.
10 mots clés dont 0 définis manuellement (plus d'information...).
Avertissement
Cette page ne possède pas encore de mots clés manuels, ceci est donc un exemple automatique (les niveaux de pertinence sont fictifs, mais les liens sont valables). Pour tester le nuage avec une page qui contient des mots définis manuellement, vous pouvez cliquer ici.Vous pouvez modifier vos préférences dans votre profil pour ne plus afficher le nuage de mots clés.
Recherche (afficher)
Utilisateur (masquer)
Navigation (masquer)
Apparence (afficher)
Stats (afficher)
Citation (masquer)