Université de Versailles et Saint-Quentin-En-Yvelines Travaux dirigés 2005/2006 Initiation aux Bases de Données TP : HTML, PHP et MySQL Présentation du problème : Nous souhaitons réaliser un site web permettant de faire un système de vote électronique simplifié. Pour ce faire, nous allons réaliser un site web avec des formulaires HTML et des traitements PHP de requêtes SQL. Les données seront stockées sur une base de donnée MySQL, située sur un serveur distant (pas un serveur de l’Université). Mise en route : Certaines informations supplémentaires sont nécessaires pour réaliser ce travail. Connexion sur le serveur distant pour télécharger les données o Nous utiliserons le protocole de transfert de fichiers sur Internet (FTP) pour nous connecter sur le site, et pour télécharger les données. La méthode pour se connecter est la suivante : Ouvrir un X-Term Se placer dans le répertoire où sont les fichiers à télécharger Lancer la commande ftp Au prompt ftp> taper : ftp> passive ftp> open ftp.akengro.t1hosting.co.uk login : [email protected] password : inma Lors de votre première connexion, créez un répertoire ayant votre login, par ex : ftp> mkdir bnguyen Placez-vous dans ce répertoire : ftp> cd bnguyen Là, vous pouvez y placer les fichiers depuis votre répertoire courant, par exemple on peut télécharger le fichier toto.html en tapant : ftp> put toto.html Lorsque vous avez fini de placer vos fichiers, fermez la connexion : ftp> close C’est très important de fermer la connexion, car il n’y a que 50 connexions possibles en même temps… Si vous voulez mettre un autre fichier, alors reprenez à partir de ‘open …’ Vous pouvez ensuite visualiser le fichier que vous venez de placer, au travers d’un navigateur web, en accédant l’URL (remplacez bnguyen/toto.html par votre login et nom de fichier, bien sûr) : http://www.akengro.t1hosting.co.uk/inma/bnguyen/toto.html Les informations de connexion, pour les scripts PHP sont les suivantes : o Serveur : localhost o Login : akengro_inma o Password : inma o Base : akengro_inma <html><head><title>Test Connexion</title></head> Initiation aux Bases de Données L2 - IN111 Université de Versailles et Saint-Quentin-En-Yvelines Travaux dirigés 2005/2006 Exemple de script connexion : <body> <?php $dbh=mysql_connect ("localhost", "akengro_inma", "inma") or die ('Impossible de se connecter, erreur : ' . mysql_error()); mysql_select_db ("akengro_inma"); echo "connexion ok !"; ?> </body> </html> Questions : 1- Réaliser un script PHP permettant de créer les tables suivantes : Candidats (Int CandidatId, Char [20] Nom, Char [20] Prenom), Votants (Int VotantId, Char[20] Nom, Char[20] Prenom, Char [10] Password), Vote (Int VotantId, Int CandidatId). 2- Réaliser deux scriptes permettant d’insérer un Candidat, et d’insérer un Votant dans les tables. 3- Réaliser un script qui vide la table Vote. 4- Réaliser un script de vote qui affiche les noms des Candidats possibles avec un bouton radio, et qui permet à un votant de voter pour l’un d’entre eux. On refuse le vote nul. Il faut vérifier que le votant donne bien son VotantId et son mot de passe correct. Attention aux personnes voulant voter plusieurs fois ! 5- Réaliser un script qui afficher les résultats de l’élection, avec les % de votes pour chaque personne. 6- Réaliser la page de présentation de votre site, donnant accès aux diverses fonctionnalités. Initiation aux Bases de Données L2 - IN111