Pratique de MySQL et PHP- P16 pptx

5 319 0
Pratique de MySQL et PHP- P16 pptx

Đang tải... (xem toàn văn)

Thông tin tài liệu

1.4 Accès à MySQL avec PHP 53 Une ergonomie rudimentaire. En se restreignant à des scripts très simples, on a limité du même coup la qualité de l’interface. Par exemple, on aimerait que les formulaires soient présentés avec un alignement correct des champs. Plus important : il serait souhaitable, au moment de mettre à jour les informations d’un film, de disposer comme valeur par défaut des valeurs déjà saisies Ces problèmes peuvent se résoudre en ajoutant du code PHP pour effectuer des contrôles, ou en alourdissant la partie HTML. Le risque est alors d’aboutir à des scripts illisibles et difficilement maintenables. Le chapitre qui suit va montrer comment mettre en œuvre des scripts plus robustes et offrant une interface utilisateur plus sûre et plus conviviale. Nous verrons également comment éviter des scripts très longs et difficilement lisibles en structurant le code de manière à répartir les tâches en unités indépendantes. Techniques de base 2 Ce chapitre montre, sans entrer trop rapidement dans des techniques de programma- tion avancées (bibliothèques de fonctions, programmation objet, conception d’une base de données) comment réaliser les bases d’un site avec MySQL et PHP. Le but est double : donner un catalogue des fonctionnalités les plus courantes, et montrer à cette occasion les principales techniques de gestion des interactions web client/ser- veur. Voici les sujets abordés : 1. Réutilisation de code. Dès que l’on commence à produire les pages d’un site à partir de scripts PHP communiquant avec MySQL, on est amené à programmer de manière répétitive des parties de code correspondant soit à des opérations routinières (connexion à la base, exécution d’une requête), soit à des tests (validations des champs de saisie, vérification que des instructions se sont exécutées correctement), soit enfin à du texte HTML. Les fonc- tions constituent un des principaux moyens (l’autre étant la programmation orientée-objet, présentée dans le chapitre suivant) de réutiliser le code en évi- tant par conséquent de répéter indéfiniment les mêmes instructions (page 56). 2. Traitement des données transmises par HTTP. Une des principales spécificités de la programmation web est la réception et l’envoi de données via le protocole HTTP. PHP simplifie considérablement le traitement de ces données, et permet souvent de les manipuler sans tenir compte du protocole, comme s’il s’agissait de paramètres passés au script. Dans de nombreux cas, il faut cependant être attentif aux transformations subies par les données, soit parce qu’elle doivent être codées conformément au protocole HTTP, soit parce que le décryptage de PHP introduit des modifications parfois non souhaitées, soit enfin à cause de failles potentielles de sécurité. Cela soulève des problèmes délicats liés aux différentes configurations possibles de PHP et aux différents contextes d’utilisation (HTML, MySQL, texte 56 Chapitre 2. Techniques de base simple, ). Cette section discute cet aspect essentiel et décrit une stratégie générale pour régler ces problèmes (page 64). 3. Gestion des formulaires. La fin du chapitre précédent a montré comment mettre à jour une table à partir d’un formulaire. Nous reprenons le sujet de manière beaucoup plus détaillée, en montrant comment contrôler les saisies, comment réafficher le formulaire avec des valeurs par défaut, comment utiliser un seul formulaire pour insertions et mises à jour (page 78). 4. Transfert et gestion de fichiers. Un site web n’est pas seulement un ensemble de pages HTML. Il peut également fournir ou recevoir des fichiers. Nous montrons comment transmettre des fichiers du client au serveur, comment les stocker et référencer sur ce dernier, et comment les présenter pour téléchargement. Ces fonctionnalités sont présentées dans le cadre de la gestion d’un petit album photo (page 90). 5. Gestion des sessions. Le protocole HTTP ne mémorise pas les échanges entre un client et un serveur. Pour effectuer un suivi, on doit donc simuler des « sessions », le plus souvent à l’aide de cookies. Nous détaillons pas à pas la réalisation d’une session (page 98). 6. SQL dynamique. Cette section montre comment traiter des requêtes SQL déterminées « dynamiquement » à l’exécution d’un script, et comment afficher le résultat – qui peut être arbitrairement grand – en plusieurs pages, à la manière d’un moteur de recherche (page 109). Tous ces sujets sont traités indépendamment pour permettre au lecteur de s’y reporter directement après une première lecture, et s’appuient sur des exemples com- plets, utilisables et modifiables. Les techniques présentées dans ce chapitre forment les briques de base pour la construction d’un site complet, sujet abordé après l’étude de la programmation objet, dans le prochain chapitre. Nous verrons alors comment intégrer ces techniques dans une démarche globale, comprenant une conception rigoureuse de la base de données, le choix d’un style de développement cohérent et la séparation des codes HTML et PHP. 2.1 PROGRAMMATION AVEC FONCTIONS Une fonction est une partie de code qui ne peut communiquer avec le script appelant que par l’intermédiaire d’un petit nombre de variables – les paramètres – bien identifiées. Toutes les données utilisées localement par la fonction pour accomplir sa tâche particulière ne sont pas accessibles au script appelant. Réciproquement, la fonction ne peut pas manipuler les informations du script. 2.1.1 Création de fonctions Un script reposent sur des fonctions confie à chacune l’implantation d’un service précisément identifié: ouvrir un fichier, lire une donnée, effectuer un calcul, etc. Chaque fonction accomplit son rôle (et rien de plus), et le script n’est alors rien 2.1 Programmation avec fonctions 57 d’autre qu’un coordinateur qui délègue les diverses tâches à des fonctions, lesquelles à leur tour subdivisent leur travail en faisant appel à des fonctions plus spécialisées, et ainsi de suite. La structuration judicieuse d’un programme en fonctions concourt à la production d’un code sain, lisible et donc facile à mettre à jour. La conception de cette structuration vise à deux buts principaux : 1. déléguer les tâches ingrates, les données secondaires, les contrôles d’erreur à des modules particuliers ; 2. partager le code : idéalement, on ne devrait jamais écrire deux fois la même instruction car cette instruction devrait être implantée par une fonction appelée partout où l’on en a besoin. En appliquant ces idées, on obtient un code dans lequel chaque fonction occupe au plus quelques dizaines de lignes dans un fichier à part du script principal, ce qui permet de comprendre facilement l’objectif poursuivi et l’algorithme mis en œuvre. A contrario, le mauvais script est celui qui cumule toutes les instructions dans un seul fichier : on aboutit rapidement à des centaines de lignes accumulant les structures principales et les détails les plus anodins dans un même code, rapidement illisible. Ce style de programmation (très courant) est à terme impossible à maintenir et corriger. Une fonction bien conçue, bien écrite et bien testée, c’est un problème sur lequel on ne reviendra plus jamais ! Écriture de fonctions Nous allons commencer par définir une fonction Connexion() qui se connecte à MySQL. On peut se demander pourquoi définir une telle fonction, alors qu’il en existe déjà une : la réponse est tout simplement que mysql_pconnect() peut échouer pour diverses raisons, et renvoie alors une valeur nulle qui ne peut être utilisée pour exécuter des requêtes. Si l’on ne teste pas ce cas, on s’expose un jour ou l’autre à de gros ennuis. Le tester à chaque appel à mysql_pconnect() rompt le principe exposé ci-dessus de ne jamais écrire des instructions redondantes. La fonction Connexion() La fonction Connexion() prend comme paramètres les valeurs nécessaires pour se connecter à un serveur sous un compte utilisateur, et se placer ensuite dans une base si la connexion a réussi. Elle est placée dans un fichier Connexion.php qui peut être inclus avec la commande require dans n’importe quel script. Exemple 2.1 exemples/Connexion.php : Fonction de connexion à MySQL <?php // Fonction Connexion: connexion à MySQL function Connexion ($pNom, $pMotPasse , $pBase , $pServeur) { // Connexion au serveur . conception rigoureuse de la base de données, le choix d’un style de développement cohérent et la séparation des codes HTML et PHP. 2.1 PROGRAMMATION AVEC FONCTIONS Une fonction est une partie de code qui ne. produire les pages d’un site à partir de scripts PHP communiquant avec MySQL, on est amené à programmer de manière répétitive des parties de code correspondant soit à des opérations routinières (connexion. HTTP. Une des principales spécificités de la programmation web est la réception et l’envoi de données via le protocole HTTP. PHP simplifie considérablement le traitement de ces données, et permet souvent

Ngày đăng: 06/07/2014, 00:20

Mục lục

  • 1.1.2 Documents web : le langage XHTML

  • 1.3 Une première base MySQL

    • 1.3.1 Création d'une table

    • 1.3.2 L'utilitaire mysql

    • 1.3.3 L'interface PhpMyAdmin

    • 1.4 Accès à MySQL avec PHP

      • 1.4.1 L'interface MySQL/PHP

      • 1.4.2 Formulaires d'interrogation

      • 1.4.3 Formulaires de mises à jour

      • 2.1.3 À propos de require et include

      • 2.1.4 Passage par valeur et passage par référence

      • 2.2 Traitement des données transmises par HTTP

        • 2.2.1 Échappement et codage des données HTTP

        • 2.2.2 Contrôle des données HTTP

        • 2.2.3 Comment insérer dans la base de données : insertion dans MySQL

        • 2.2.4 Traitement de la réponse

        • 2.2.5 Comment obtenir du texte « pur » : envoi de l'e-mail

        • 2.2.6 En résumé : traitement des requêtes et des réponses

        • 2.3 Mise à jour d'une base par formulaire

          • 2.3.1 Script d'insertion et de mise à jour

          • 2.3.2 Validation des données et expressions régulières

          • 2.4 Transfert et gestion de fichiers

            • 2.4.1 Transfert du client au serveur

            • 2.4.2 Transfert du serveur au client

            • 2.5 Sessions

              • 2.5.1 Comment gérer une session web ?

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan