Vous êtes sur la page 1sur 3

Bases de Donnes et Interfaces Web L3-S6

TP4 Backend
Pierre Clment (pierre.clement@univ-avignon.fr) et Stanislas Oger (stanislas.oger@univ-avignon.fr)

Objectif
Raliser une partie publique et une partie prive d'un site internet. La partie publique permettra de consulter la liste des personnes prsentes dans la base de donnes, sous forme d'annuaire. La partie prive permettra chaque utilisateur de modifier ses informations

1. Bases de donnes
1. Crez une table simple user avec 7 champs (id SERIAL, nom VARCHAR(15), prenom VARCHAR(15), login VARCHAR(15), password VARCHAR(32), avatar TEXT, telephone VARCHAR(10)).

2. Formulaire
1. Crez la page index.php qui ne contient pour l'instant qu'un formulaire permettant l'utilisateur de rentrer son login, son mot de passe et s'il veut qu'on se souvienne de lui . 2. Crez la page inscription.php qui contient un formulaire permettant l'inscription au site. Le formulaire sera trait par la page valid_inscription.php (et donc faites cette page). Le champ avatar est optionnel. Faites bien attention a ce que deux utilisateurs n'aient pas le mme login, sinon l'un des deux ne pourra pas s'identifier TP 4 (v2) Le backend 1/3

sur le site. 3. Enfin, ajouter sur index.php un lien vers inscription.php.

3. Partie publique
1. Crez la page view_profile.php qui permet de visualiser le profil d'un utilisateur, selon son ID. Cet ID est transmis la page grce la mthode GET, ce qui permet de voir un utilisateur sans ncessairement passer par un formulaire HTML, en appelant directement la page avec ?id=XXX aprs le nom de la page. 2. Affichez sur index.php la liste des utilisateurs. Chaque lment de la liste sera un lien vers la page view_profile.php avec l'ID correspondant.

4. Partie prive, mise en place


1. Crez un dossier admin, qui contiendra tous les fichiers relatifs la partie prive. Dans ce dossier, crez la page index.php qui est la page d'accueil de la partie d'administration. 2. Crez le fichier verif_login.php qui vrifiera que l'utilisateur est correctement identifi. Enfin, crez le fichier modify_profile.php qui permettra l'utilisateur de modifier ses informations.

5. Partie prive, connexion


1. Modifiez le formulaire cr dans l'exercice 1 (dans index.php) afin qu'il envoie sur la page index.php du dossier admin. 2. La page admin/index.php doit inclure le fichier verif_login.php. Ainsi, le code de la page verif_login.php sera excut chaque fois que admin/index.php sera affich. 3. ditez la page verif_login.php pour qu'il vrifie que l'utilisateur a rentr le bon couple login/mot de passe : si le couple est correct alors l'ID et le mot de passe (encrypt bien sr) de l'utilisateur sont stocks dans un COOKIE. Si l'utilisateur souhaite que l'on se souvienne de lui, le COOKIE sera conserv un mois. Enfin, ajoutez dans le COOKIE si l'utilisateur souhaite rester connect. si le couple n'est pas bon, redirigez l'utilisateur vers la page de connexion.

4. Le code Javascript ci-dessous permet de rediriger l'utilisateur vers une page donne : <script language="javascript" type="text/javascript"> window.location.replace("ma_page.php"); </script> Cependant, une meilleure manire de rediriger un utilisateur est d'utiliser les enttes HTTP et en particulier l'en-tte location. Par exemple en PHP : header("location: ma_page.php"); TP 4 (v2) Le backend 2/3

6. Partie prive, accueil


1. Modifiez la page d'accueil pour qu'elle affiche quelque chose comme Bonjour prenom nom et bienvenue. .

7. Partie prive, modification des informations


1. Inclure la page verif_login.php dans modify_profile.php. Ainsi l'identit du visiteur sera vrifie chaque appel de cette page. 2. Modifiez la page modify_profile.php pour permettre l'utilisateur de modifier son profile.

8. Utilisation les sessions


1. Modifiez votre code pour utiliser les sessions PHP au lieu des cookies. 2. Selon vous, pourquoi vaut-il mieux utiliser les sessions pour stocker les informations que vous stockez actuellement dans des cookies ?

9. Aller plus loin


1. N'hsitez pas faire du PHP orient objet et faire des pages un peu plus jolies grce au CSS.

TP 4 (v2) Le backend

3/3

Vous aimerez peut-être aussi