Atelier php





télécharger 409.83 Kb.
titreAtelier php
date de publication11.10.2019
taille409.83 Kb.
typeAtelier
m.20-bal.com > loi > Atelier


ATELIER PHP
INITIATION
Corrigés


TABLE DES MATIERES


1 INTRODUCTION 3

1.1 Schéma de la BD 3

1.2 Ecran type et sommaire 4

1.3 Fonctionnalités 5

1.4 Arborescence du site 6

1.5 CSS 7

1.6 Inclusions et Index 8

1.6.1 index.php 8

1.6.2 _enTeteSommairePied.inc.php 8

1.7 Fichier Modele 10

1.8 Accueil 11

2 GESTION DE LA BASE DE DONNEES 12

2.1 Connexion à la base de données 13

2.2 Visualisation de la table Editeurs 15

2.3 Visualisation avancée de la table Auteurs 17

2.4 Insertion dans la table Editeurs 19

2.5 Insertion dans la table Auteurs + Upload 21

2.6 Suppression dans la table Auteurs 23

2.7 Visualisation dynamique de n'importe quelle table 26

2.8 Visualisation paginée d'une jointure (Livres et auteurs) 29

2.9 Insertion contrôlée (La table livres) 31

2.10 Recherche livre(s) 34

3 GESTION DE FICHIERS 36

3.1 Exporter une table dans un fichier CSV 37

3.2 Explorateur et Import de fichiers CSV dans la BD 39

4 GESTION DE LA PERSISTANCE 42

4.1 Mémorisation des paramètres de connexion dans des cookies 43

4.2 Gestion d'un panier via des variables de session sur une page 45

5 GESTION DES ERREURS 48

5.1 Gestion globale des erreurs 49

6 ANNEXES 52

6.1 Analyse du système 53

6.1.1 Diagramme de contexte statique 53

6.1.2 Diagrammes de cas d'utilisation du BO 54

6.1.3 Diagrammes de cas d'utilisation du FO 55

6.1.4 DET auteurs 56

6.1.5 DSE Voir Auteurs 56

6.1.6 DSE Ajout auteur 57

6.1.7 DAC Ajout auteur 58

6.1.8 Diagramme de déploiement 59

6.2 Modélisation de la BD 60

6.3 Quelques procédures stockées 61



1INTRODUCTION


1.1Schéma de la BD



Le fichier de création s'appelle : librairieCreateInsertPs.sql.

Notes :
Table Editeurs : nom_editeur est Unique.

Table Clients : e_mail est Unique.


1.2Ecran type et sommaire






1.3Fonctionnalités






Fonctionnalité

Technologie

Source

Destination

Accueil

HTML

Code

Du HTML

Authentification

SQL + Cookie

Code-Table clients

Cookie

Déconnexion

Cookie

Code

Cookie

Afficher les éditeurs

SQL

Table editeurs

Ecran

Afficher les auteurs

SQL

Table auteurs + photo + ancre

Ecran

Ajouter un éditeur

SQL + gestion d'erreurs

SQL INSERT + gestion d'erreur

Table editeurs

Ajouter un auteur

SQL + Upload

SQL INSERT

Table auteurs

Supprimer un auteur

SQL + PS

SQL DELETE + liste déroulante de la table auteurs + Procédure stockée

Table auteurs

Afficher une table au choix …

SQL - Metabase

SQL SELECT + liste déroulante de la metabase

Ecran

Ajouter un livre

SQL + RegExpr

SQL INSERT + listes déroulantes

Table livres

Afficher les livres

SQL (Jointure)

Table livres, auteurs, editeurs (Jointure, photo, …)

Ecran

Export CSV

SQL + Fichier

SQL SELECT + table BD

Fichier

Import CSV

Fichier + SQL

Fichier CSV

Table auteurs

Rechercher un livre

SQL multi-critères

Code

Ecran

Acheter un livre

SQL + Session

Table livres

Session

Gestion d'erreurs

Inclusion

Code

Code


1.4Arborescence du site



C:\xampp\htdocs\php\atelier_librairie_v1_2010


Racine du sous site (index.php)







css (Fichiers CSS fournis : _librairie.cs et librairie.css)




data (Fichiers CSV fournis ou produits via un script, CSV, …)




images/litterature (Fichiers jpg fournis…)




html (fichiers html)




ressources contient le script de création de la BD et d'insertions de base ainsi que le le dossier (.doc)










php (Scripts PHP)


Tous les dossiers sont fournis.
Le dossier php fourni contient les inclusions et le modèle (fichiers _nomDeFichier). C'est ce dossier que vous devez compléter.
Les images sont dans le dossier /images/litterature/ du sous-site WEB (C:\xampp\htdocs\atelier_librairie_v1_2010\images\litterature).

Le chemin sera donc ../images/litterature/.
Le dossier css contient librairie.css.
Le dossier html est vide.
Le dossier data contient quelques fichiers et sera alimenté de nouveaux fichiers.


1.5CSS



_librairie.css
@charset "utf-8";

/*

CSS Document : librairie.css ... vert, gris et blanc

*/

body{background-color:yellowgreen; color:black; font-family:"comic sans ms"; font-size:10pt; }
h3{font-family:"comic sans ms"; font-size:medium; color:greenyellow; margin:0; padding:0; }
table{margin-top:5px; padding-top:5px; border:1px gray solid; width:400px; border-top:1px gray dotted; }

td{padding:3px; margin:0px; }
a{color:black; text-decoration:none;}

a:hover{color:dimgray; text-decoration:underline;}
div{border:0px solid white; padding:5px; background-color:white; }
div#enTete{width:800px; height:20px; border-bottom:1px dotted dimgray; text-align:center; background-image:url(../images/litterature/livres_4.jpg); color:yellowgreen; font-weight:bold;}

div#sommaire{float:left; width:200px; height:400px; overflow:auto; }

div#centre{float:left; width:589px; height:400px; overflow:auto; border-left:1px dotted dimgray;}

div#pied{clear:both; width:800px; height:20px; border-top:1px dotted dimgray;}
#msg{color:greenyellow; font-weight:bold; }
ul#menu{

list-style-type:none;

margin:0;

padding:0;

}

#menu li a{

display:block;

width:190px;

padding:1px;

margin:1px;

line-height:15px;

background-color:dimgray;

color:white;

text-decoration:none;

text-align:center;

font-weight:normal;

}

#menu li a:hover{background-color:greenyellow; color:black; }
label.etiquette{color:dimgray; font-family:"comic sans ms"; font-size:1em; display:block; width:150px; float:left; }

input[type="text"]{width:150px;}

select{color:dimgray; font-family:arial; font-size:1em; margin:3px; padding:1px;}

input.saisie{color:dimgray; font-family:arial; font-size:1em; margin:3px; padding:1px; clear:both;}

input[type="submit"]{background-color:greenyellow; color:white; font-family:arial; font-size:1em; margin:3px; padding:1px; width:100px; }

input[type="reset"]{background-color:red; color:white; font-family:arial; font-size:1em; margin:3px; padding:1px; width:100px; }


1.6Inclusions et Index

1.6.1index.php




// --- index.php : une redirection

header("location: php/_accueilLibrairie.php");

?>

1.6.2_enTeteSommairePied.inc.php




// --- no-cache : pas de cache

// --- no-store : s'applique à tout le message aussi bien dans la réponse que dans la requête

// --- must-revalidate : pour que no-cache soit effectif

// --- malgré un paramétrage différent du navigateur

// HTTP/1.1

//header('Cache-Control: no-store, no-cache, must-revalidate');

// --- Date d'expiration du cache

//header('Expires: Mon, 26 Jul 1997 00:00:00 GMT'); // Date du passé
// --- Dans le cas de http/1.0 car Cache-Control peut ne pas être implémenté

//header("Pragma: no-cache");
// ----------------------

function afficherEntete()

// ----------------------

{

return "\r\n\tLIBRAIRIE DE LA REPUBLIQUE\r\n";

}
// ------------------------

function afficherSommaire()

// ------------------------

{

$sommaire = "";

$sommaire .= "\r\n
    ";

    $sommaire .= "\r\n\t
  • Accueil
  • ";

    $sommaire .= "\r\n\t
  • Connexion
  • ";

    $sommaire .= "\r\n\t
  • Déconnexion
  • ";

    $sommaire .= "\r\n\t
  • Les éditeurs
  • ";

    $sommaire .= "\r\n\t
  • Les auteurs (Photo, Site, ...)
  • ";

    // if(array_key_exists("qualite", $_COOKIE) && $_COOKIE["qualite"] == "BO")

    // {

    $sommaire .= "\r\n\t
  • Ajout éditeur
  • ";

    $sommaire .= "\r\n\t
  • Ajout auteur
  • ";

    $sommaire .= "\r\n\t
  • Suppression auteur
  • ";

    // }

    $sommaire .= "\r\n\t
  • Une table au choix ...
  • ";

    $sommaire .= "\r\n\t
  • Ajout livre
  • ";

    $sommaire .= "\r\n\t
  • Les livres
  • ";

    $sommaire .= "\r\n\t
  • Export table vers CSV au choix
  • ";

    $sommaire .= "\r\n\t
  • Import CSV dans table
  • ";
    $sommaire .= "\r\n\t
  • Recherche de livre(s)
  • ";
    $sommaire .= "\r\n\t
  • Achat livre(s)
  • ";

    $sommaire .= "\r\n\t
  • Moteur de recherche
  • ";

    $sommaire .= "\r\n
\r\n";
return $sommaire;

}
// --------------------

function afficherPied()

// --------------------

{

$pied = "";

$pied .= "\r\n\t© Librairie de la République - ";

$pied .= "\r\n\tAujourd'hui nous sommes le " . date('d-m-Y') . " et il est " . date('H:i') . "\r\n";

return $pied;

}

?>


1.7Fichier Modele





  • _modele_librairie.php







<b>_modele_librairie</b>







//require_once("_utilitairesBd.inc.php");

require_once("_enTeteSommairePied.inc.php");

?>

afficherEntete(); ?>


afficherSommaire(); ?>


TITRE






$lsMsg = "";
// --- ICI VOTRE CODE PHP SPECIFIQUE

?>


afficherPied(); ?>

similaire:

Atelier php iconCours php

Atelier php icon1. Le Php 1 Historique

Atelier php iconIntroduction php – 10 séances de 4h

Atelier php iconIntroduction php – 10 séances de 4h

Atelier php iconLe Langage De Programmation php

Atelier php iconChapitre II : Le langage php

Atelier php iconTechnical Manager php, seo, Scrum

Atelier php icon«La nutrition en médecine générale» Atelier fil rouge Animateurs
«journalistes» et ont reporté ce qui a été échangé pendant cette journée. Cet exercice a eu pour but de les initier à la rédaction...

Atelier php iconAtelier ld

Atelier php iconAtelier





Tous droits réservés. Copyright © 2016
contacts
m.20-bal.com