Académique Documents
Professionnel Documents
Culture Documents
Pratique n°6
“index.html” :
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-
scale=1.0">
<title>index</title>
<link rel="stylesheet" href="Styles.css">
<script src="Test.js"></script>
</head>
<body onload="dateauj()">
<header>
<h2 id="titre"></h2>
<h1>Evaluez nos projets en developpement web</h1>
</header>
<main>
<nav>
<ul>
<li><a href="ajout.html" target="e1">Ajout d'un
utilisateur</a></li>
<li><a href="evaluation.html" target="e1">Evaluation
d'un projet</a></li>
<li><a href="liste.php" target="e1">Consultation des
evaluations</a></li>
</ul>
</nav>
<section>
<iframe src="ajout.html" frameborder="0"
name="e1"></iframe>
</section>
</main>
</body>
<footer>** : Le code captcha et la date sont des supplements</footer>
</html>
“evaluation.html” :
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-
scale=1.0">
<title>Evaluation</title>
<script src="Test.js"></script>
</head>
<body>
<style>
body {
background-color: rgb(199, 247, 222);
font-size: 15px;
}
</style>
<form method="post" action="evaluation.php" onsubmit="return
verif2()">
<fieldset>
<legend>Evaluation d'un projet</legend>
<div>
<label>Pseudo</label>
<input type="text" id="pseudo" name="Pseudo">
</div>
<div>
<label>Projet évalué</label>
<select id="projeval" name="Projeval">
<option value="0">choisir un projet</option>
<option value="123">SW e-commerce</option>
<option value="456">SW de mode</option>
<option value="789">SW tutoriel</option>
</select>
</div>
<div>
<label>Note attribuées :</label><br>
Contenu <input type="number" id="con" name="Con">
Technique <input type="number" id="tec" name="Tec">
Ergonomie <input type="number" id="erg" name="Erg">
</div>
<div>
<label>Je ne suis pas un robot</label>
<input type="checkbox" id="rob" name="Rob">
</div>
<div>
<input type="reset" value="Annuler">
<input type="submit" value="Valider">
</div>
</fieldset>
</form>
</body>
</html>
“ajout.html” :
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-
scale=1.0">
<title>Ajout</title>
<script src="Test.js"></script>
</head>
<body onload="genererCapt()">
<style>
body {
background-color: rgb(199, 247, 222);
font-size: 15px;
}
</style>
<form method="post" action="ajout.php" onsubmit="return verif1()">
<fieldset>
<legend>Ajout d'un utilisateur</legend>
<div>
<label>Pseudo</label>
<input type="text" id="pseudo" name="Pseudo">
</div>
<div>
<label>Nom</label>
<input type="text" id="nom" name="Nom">
</div>
<div>
<label>Prénom</label>
<input type="text" id="pren" name="Pren">
</div>
<div>
<label>Genre</label>
<input type="radio" name="genre" id="radM"
value="F">Féminin
<input type="radio" name="genre" id="radF"
value="M">Masculin
</div>
<div>
<label>Pays</label>
<select id="pays" name="Pays">
<option value="0">choisir un pays</option>
<option value="1">Tunisie</option>
<option value="2">Algérie</option>
<option value="3">France</option>
</select>
</div>
<div>
<label>Captcha</label>
<label id="captc"></label>
<input type="text" name="Capt" id="captv">
</div>
<div>
<input type="reset" value="Annuler">
<input type="submit" value="Ajouter">
</div>
</fieldset>
</form>
</body>
</html>
“Test.js” :
function dateauj() {
document.getElementById('titre').innerText = 'Le ' + new
Date().getDate() + '/' + (new Date().getMonth()+1) + '/' + new
Date().getFullYear();
}
function genererCapt() {
var resultat = "";
for (i = 0; i < 6; i++ ) {
resultat = resultat +
String.fromCharCode(Math.floor(Math.random()*26)+65);
}
document.getElementById('captc').innerText = resultat;
}
// Cette fonction permet de vérifier si le paramètre ch est composé
uniquement par des lettres alphabétiques
function Alpha(ch)
{
ch=ch.toUpperCase();
var i=0;
while (ch.charAt(i)>="A" && ch.charAt(i)<="Z" && i<ch.length)
i++;
return i == ch.length;
}
function verif1()
{
var resultat= true;
// recupération des valeurs
var psu = document.getElementById('pseudo').value;
var nom = document.getElementById('nom').value;
var pre = document.getElementById('pren').value;
var genreM = document.getElementById('radM').checked;
var genreF = document.getElementById('radF').checked;
var pay = document.getElementById('pays').selectedIndex;
“liste.php” :
<?php
$conn = new mysqli('localhost', 'root', '', 'BDmedtahafourati');
“evaluation.php” :
<?php
$conn = new mysqli('localhost', 'root', '', 'BDmedtahafourati');
$psu = $_POST['Pseudo'];
$pjev = (integer)$_POST['Projeval'];
$con = $_POST['Con'];
$tec = $_POST['Tec'];
$erg = $_POST['Erg'];
if ($conn->query($test2)->num_rows == 0) {
echo "Utilisateur non inscrit";
} else if ($conn->query($test3)->num_rows != 0) {
echo "Vous avez deja evalue ce projet";
} else {
if ($conn->query("INSERT INTO evaluation (Pseudo, IdProj,
DateEval, Contenu, Technique, Ergonomie) VALUES ('$psu', $pjev, '$dat',
'$con', '$tec', '$erg')") === TRUE) {
echo "Evaluation enregistree avec succes";
} else {
echo "Erreur fatale".$conn->error;
}
}
?>
“ajout.php” :
<?php
$conn = new mysqli('localhost', 'root', '', 'BDmedtahafourati');
$psu = $_POST['Pseudo'];
$nom = $_POST['Nom'];
$pre = $_POST['Pren'];
$gen = $_POST['genre'];
$pays = (integer)$_POST['Pays'];
if ($conn->query($test)->num_rows != 0) {
echo "Pseudo deja existant";
} else {
if ($conn->query("INSERT INTO utilisateur (Pseudo, Nom, Prenom,
Genre, IdPays) VALUES ('$psu', '$nom', '$pre', '$gen', $pays)") ===
TRUE) {
echo "Utilisateur ajoutee avec succes";
} else {
echo "Erreur fatale".$conn->error;
}
}
?>
“bdmedtahafourati.sql” :
--
-- Base de données : `bdmedtahafourati`
--
-- --------------------------------------------------------
--
-- Structure de la table `evaluation`
--
CREATE TABLE `evaluation` (
`Pseudo` varchar(6) NOT NULL,
`IdProj` int(3) NOT NULL,
`DateEval` datetime NOT NULL,
`Contenu` int(2) NOT NULL,
`Technique` int(2) NOT NULL,
`Ergonomie` int(2) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
--
-- Déchargement des données de la table `evaluation`
--
-- --------------------------------------------------------
--
-- Structure de la table `pays`
--
--
-- Déchargement des données de la table `pays`
--
INSERT INTO `pays` (`idpays`, `libpays`) VALUES
(1, 'Tunisie'),
(2, 'Algerie'),
(3, 'France');
-- --------------------------------------------------------
--
-- Structure de la table `projet`
--
--
-- Déchargement des données de la table `projet`
--
-- --------------------------------------------------------
--
-- Structure de la table `utilisateur`
--
--
-- Déchargement des données de la table `utilisateur`
--
--
-- Index pour les tables déchargées
--
--
-- Index pour la table `evaluation`
--
ALTER TABLE `evaluation`
ADD PRIMARY KEY (`Pseudo`,`IdProj`),
ADD KEY `IdProj` (`IdProj`);
--
-- Index pour la table `pays`
--
ALTER TABLE `pays`
ADD PRIMARY KEY (`idpays`);
--
-- Index pour la table `projet`
--
ALTER TABLE `projet`
ADD PRIMARY KEY (`IdProj`);
--
-- Index pour la table `utilisateur`
--
ALTER TABLE `utilisateur`
ADD PRIMARY KEY (`Pseudo`),
ADD KEY `IdPays` (`IdPays`);
--
-- AUTO_INCREMENT pour les tables déchargées
--
--
-- AUTO_INCREMENT pour la table `pays`
--
ALTER TABLE `pays`
MODIFY `idpays` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=4;
--
-- Contraintes pour les tables déchargées
--
--
-- Contraintes pour la table `evaluation`
--
ALTER TABLE `evaluation`
ADD CONSTRAINT `evaluation_ibfk_1` FOREIGN KEY (`Pseudo`) REFERENCES
`utilisateur` (`Pseudo`),
ADD CONSTRAINT `evaluation_ibfk_2` FOREIGN KEY (`IdProj`) REFERENCES
`projet` (`IdProj`);
--
-- Contraintes pour la table `utilisateur`
--
ALTER TABLE `utilisateur`
ADD CONSTRAINT `utilisateur_ibfk_1` FOREIGN KEY (`IdPays`) REFERENCES
`pays` (`idpays`) ON DELETE CASCADE ON UPDATE CASCADE;
COMMIT;
“Styles.css” :
header{
background-color: #11abf33f;
}
h1{
text-align: center;
}
h1:hover {
size: 40px;
}
nav {
background-color: #d9f0f5;
width: 30%;
height: 370px;
float: left;
padding-top: 10%;
}
nav a{
display: block;
text-decoration: none;
color: black;
border-bottom: 2px solid transparent;
padding: 10px 0px;
}
section {
background-color: #eafafa;
width: 70%;
height: 480px;
float: left;
}
iframe {
width: 99%;
height: 470px;
}