Vous êtes sur la page 1sur 4

Correction Examen deuxième partie 2008

On souhaite gérer les inscriptions dans un site web. Pour cela, il faut penser à une base de
données appelée « comptes » avec une table « utilisateurs ». Le serveur est installé en
Intranet et s’appelle « LocalHost ». Un seul utilisateur est créé par le système. Cet utilisateur
s’appelle « Root » et n’a pas de mot de passe.
Une première analyse a montré le besoin de déclarer les champs suivants :
Identificateur, nom, prénom, mot_De_Passe, e-mail, adresse, ville, téléphone. On suppose que
l’identificateur est numérique et est généré automatiquement par le système.

1) Proposer une requête SQL qui permet de créer la base de données « comptes », avec
les bons types de données.

Create database comptes ;

2) Proposez une requête qui permet de créer la table « utilisateurs ».

CREATE TABLE `comptes`.`utilisateurs` (


`Identificateur` INT NOT NULL ,
`Nom` VARCHAR( 20 ) NOT NULL ,
`Prénom` VARCHAR( 20 ) NOT NULL ,
`MotDePasse` VARCHAR( 20 ) NOT NULL ,
`Email` VARCHAR( 30 ) NOT NULL ,
`Adresse` VARCHAR( 80 ) NOT NULL ,
`Ville` VARCHAR( 20 ) NOT NULL ,
`Téléphone` VARCHAR( 10 ) NOT NULL ,
PRIMARY KEY ( `Identificateur` )
) ENGINE = MYISAM ;

3) Proposez une requête qui affiche la liste des utilisateurs déjà enregistrés.
SELECT *
FROM `utilisateurs`
LIMIT 0 , 30
4) Ecrire un programme connexion.php qui permet de se connecter au serveur.

<meta charset="UTF-8">
<?php

$serveur="localhost";
$user="root";
$password="";
$connect=MySQL_connect($serveur,$user,$password) or die("Impossible de se
connecter");
echo "----Accès au serveur MySql réussi----\n";

?>

5) Ecrire un autre programme selectionBase.php qui sélectionne la base de données


« comptes ».
<meta charset="UTF-8">
<?php

Require("connection.php") ;

//Choix de la base de données


$base= "comptes" ;
mysql_select_db($base,$connect) or die("Impossible de se connecter");
echo "<BR> ----Sélection de la BD réussi----\n";
?>

6) Ecrire un programme requête1.php qui propose la sélection des différents comptes déjà
inscrits dans le site.
<meta charset="UTF-8">
<?php
Require("connection.php") ;
require("selectionBase.php");

//Choix de la table
$nomtable="utilisateurs";
$query="SELECT * FROM $nomtable";
$result=MySQL_query($query);
if (!$result) {
echo "<BR>!Impossible d'exécuter la requête ($query) dans la base : \n" .
mysql_error();
exit;
}

echo "<BR>----exécution de la requête réussi----<P>\n";


echo "Affichage de la base de données<P>\n";
echo "===============================<P>\n";
echo "<B> Nom – Prenom — Email --Ville <BR></B>\n";
while ($ligne=MySQL_fetch_assoc($result))
{

echo $ligne["Nom"]." ! ";


echo $ligne["Prenom"]." ! ";
echo $ligne["Email"];
echo $ligne["Ville"]."<BR>";

MySQL_Close($connect);
?>

7) Afin d’effectuez le remplissage de la base de données, proposez un formulaire (interface


et code HTML), appelé formulaireSaisie.php qui propose de remplir la base de données.
N.B. Ne pas oublier un bouton d’effacement.

<html>
<head>
<title>Entrez vos informations </title>
</head>

<body>
<form action="traiter.php" method="post">
Identificateur : <input type="text" name=" Identificateur"></input> <br>
Nom : <input type="text" name="Nom"></input> <br>
Prenom : <input type="text" name="Prenom"></input><br>
Email: <input type="text" name="Email"></input><br>
mot_De_Passe: <input type="password" name=" mot_De_Passe"></input><br>
Adresse : <input type="text" name="Adresse"></input><br>
Ville : <input type="text" name="Ville"></input><br>
<input type="submit" value="valider">
</form>

</body>

</html>

8) Sachant que l’action du formulaire précédent s’appelle traiter.php, écrire une première
partie de code correspondant à ce programme, qui vérifie avec la fonction empty que les
zones de saisies sont bien remplies, dans le cas contraire, il faut l’indiquer.

<?php
//Cet exemple permet d'afficher toute la base de données

Require("connection.php") ;
require("selectionBase.php");

//Préparation des valeurs à envoyer à la base


$Nom = $_POST["Nom"];//attention à la casse
$Prenom = $_POST["Prenom"];//attention à la casse

If ( !(empty($Nom) and ! (empty($Nom))

//Choix de la table
{
$query='INSERT INTO Produits VALUES (‘$NOM,’$Prenom,…)';
$result=MySQL_query($query);


}
MySQL_Close($connect);
?>

9) Complétez ce programme en faisant appel aux noms des programmes précédents, pour
qu’il effectue l’ajout d’une personne dans la table « utilisateurs ». (Cette partie du
programme s’appellera ajout.php).

10) Ecrire un programme complet en faisant appel aux précédents qui affiche toute la base de
données « comptes » dans un tableau.
11) Proposez le code et l’interface du formulaire fomConnect.php qui permet à un utilisateur
de se connecter à la base de données avec un mot de passe. (Le formulaire demandera le
nom, le prénom et le mot de passe, si ces informations sont correctes il affiche un message
de bienvenue au nom de l’utilisateur, dans le cas contraire il affichera erreur de mot de
passe et il retourne au formulaire).
N.B. Dans cette question, il faut proposer le code du formulaire ainsi que son action.
12) Reprendre le programme précédent pour qu’il affiche une page avec le titre en bleue
grande taille, la date en rouge italique (petite taille). Il affichera aussi la liste des noms,
prénoms et e-mail des autres utilisateurs déjà enregistrés:
Intranet de l’entreprise CMP
Date : 5 Février 2009

Bienvenue Monsieur X, dans ce site.


D’autres utilisateurs sont également sur ce site, voici une
liste des utilisateurs enregistrés:

Nom Prénom E-mail

13) Proposez une requête qui supprime toute la table.

Vous aimerez peut-être aussi