0% ont trouvé ce document utile (0 vote)
171 vues9 pages

Formulaire de connexion et création d'utilisateur

Transféré par

Abdellah boumaiza
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
171 vues9 pages

Formulaire de connexion et création d'utilisateur

Transféré par

Abdellah boumaiza
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Faculté des sciences Dhar El Mahraz Année universitaire : 2017 - 2018

Licence professionnelle SIGL

Travaux pratiques N°4, Web dynamique


On utilisant l’outil PhpMyAdmin, créer la base de donnée « scott », les tables seront
générées automatiquement en important le schéma relationnel « scott.sql ».

Connectez-vous à cette base de données.

Exercice 1 :

Réaliser un formulaire contenant un nom d’utilisateur et un mot de passe. Vérifier que le


compte utilisateur existe dans la table « passwd ». Un message (un div situé au haut du
formulaire) est apparu affichant une authentification réussite où une connexion
échouée.

Correction: Exercice N°1

<form action="" method="POST">

<table>

<tr align="center">

<td colspan=2><div id="message"


style="color:white;background:red; border-radius:5px; font-size:18px;"></div></td>

</tr>

<tr>

<td> <label for="login">Nom d'utilisateur:</label> </td>

<td> <input type="text" id="login" name="login"/> </td>

</tr>

<tr>

<td> <label for="pass">Mot de passe</label> </td>

<td> <input type="password" id="pass" name="pass"/> </td>


</tr>

<tr align="left">

<td colspan=2><input type="submit"><input type="reset"></td>

</tr>

<tr align="center">

<td colspan=2><a href="traitement.php?new=0">Créer un nouveau


utilisateur</a></td>

</tr>

</table>

</form>

<script>

$('#message').hide();

</script>"

<?php

function database_open($db) {

$host = '127.0.0.1';

$user = 'root';

$pass = '';

$acces = new mysqli($host, $user ,$pass ,$db);

$errnum=mysqli_connect_errno();

if ($errnum)

{ $errmsg=mysqli_connect_error();

echo "Connexion impossible:$errmsg";

exit();

return $acces;

}
function database_close($link) {

mysql_close($link);

if(isset($_POST['login']) && !empty($_POST['login']) && isset($_POST['pass']) &&


!empty($_POST['pass'])){

$db=database_open('scott');

$login=$db->real_escape_string(htmlspecialchars($_POST['login']));

$pass=$db->real_escape_string(htmlspecialchars($_POST['pass']));

$req=$db->query("select count(*) from passwd where login='$login' and


pass='$pass'");

$data=$req->fetch_row();

if($data[0]==1){

echo "

<script>

$('#message').html('Vous êtes connecté');

$('#message').slideDown(1000);

</script>";

}else{

echo "

<script>

$('#message').html('Connection échouée!!!');

$('#message').slideDown(1000);

</script>";

?>
Exercice 2 :

Ajouter au formulaire de l’exercice 1 un lien hypertexte qui permet d’ajouter un nouveau


compte. Ce lien va vous diriger vers une page qui vous permettra de créer un nouvel employé
dans la table « emp », et par conséquant, un nouveau compte dans la table « passwd ».
1- Créer un fichier comportant une fonction « list_option » qui permet de créer une liste.
Cette fonction accepte comme arguments : un tableau des éléments de la liste et le
nom de la liste
2- Créer un fichier comportant une fonction « list_modifiable » qui permet de créer une
liste modifiable en utilisant le « datalist » de HTML5. Cette fonction accepte comme
arguments : un tableau des éléments de la liste et le nom de la liste
3- Créer une interface/formulaire permettant de saisir les données du nouvel employé (le
login et le mot de passe sont le nom de l’employé et son numéro).

Correction: Exercice 2

<?php

require("list_modifiable.php");

require("list_option.php");

function database_open($db) {

$host = '127.0.0.1';

$user = 'root';

$pass = '';

$acces = new mysqli($host, $user ,$pass ,$db);

$errnum=mysqli_connect_errno();

if ($errnum)

{ $errmsg=mysqli_connect_error();
echo "Connexion impossible:$errmsg";

exit();

return $acces;

function database_close($link) {

mysql_close($link);

$db=database_open('scott');

function creer_nouveau(){

?>

<form method="post" action="">

<table>

<tr>

<td> <label for="nom">Nom d'employé:</label> </td>

<td> <input type="text" id="nom" name="nom"/> </td>

</tr>

<tr>

<td> <label for="n">N° employé:</label> </td>

<td> <input type="text" id="n" name="n"/> </td>

</tr>

<tr>

<td> <label for="job">Fonction d'employé:</label> </td>

<td> <input type="text" id="job" name="job" list="job"/> </td>

<?php

$db=database_open('scott');

$req=$db->query("select distinct(job) from emp");


$tableau=array();

while($data=$req->fetch_row()){

$tableau[]=$data[0];

list_modifiable($tableau,"job");

?>

</tr>

<tr>

<td> <label for="chef">Chef:</label> </td>

<td>

<?php

$db=database_open('scott');

$req=$db->query("select distinct(ename) from emp");

$tableau=array();

while($data=$req->fetch_row()){

$tableau[]=$data[0];

list_option($tableau,"chef");

?></td>

</tr>

<tr>

<td> <label for="d">Date d'embauche:</label> </td>

<td> <input type="date" id="d" name="d"


placeholder="JJ/MM/AAAA"/> </td>

</tr>

<tr>

<td> <label for="sal">Salaire de l'employé:</label> </td>

<td> <input type="text" id="sal" name="sal"/> </td>


</tr>

<tr>

<td> <label for="dept">Département:</label> </td>

<td>

<?php

$db=database_open('scott');

$req=$db->query("select distinct(dname) from dept");

$tableau=array();

while($data=$req->fetch_row()){

$tableau[]=$data[0];

list_option($tableau,"dept");

?> </td>

</tr>

<tr>

<tr align="left">

<td colspan=2><input type="submit" value="Ajouter"><input type="reset"


value="Effacer"></td>

</tr>

</table>

</form>

<?php

if (isset($_GET['new'])){

if($_GET['new']==0){

creer_nouveau();

if (isset($_POST['nom'])){

$nom=$_POST['nom'];
$num=$_POST['n'];

$job=$_POST['job'];

$chef=$_POST['chef'];

$sal=$_POST['sal'];

$dept=$_POST['dept'];

$dat=$_POST['d'];

$db=database_open("scott");

$req=$db->query("select empno from emp where ename='$chef'");

$mgr=$req->fetch_row()[0];

$req=$db->query("select deptno from dept where dname='$dept'");

$ndept=$req->fetch_row()[0];

$dat=strtotime($dat);

$dat1=date('y-m-d',$dat);

$sql="insert into emp values($num,'$nom','$job',$mgr,'$dat1',$sal,NULL,$ndept)";

$req=$db->query($sql);

$sql="insert into passwd values('$nom','$num')";

$req=$db->query($sql);

}}}

?>

Fichier liste_modifiable.php

<?php

function list_modifiable($tableau,$name){

echo "<datalist name='$name' id='$name'>";

for($i=0;$i<count($tableau);$i++){

echo "<option value='" . $tableau[$i]. "'>" . $tableau[$i]. "</option>";

echo "</datalist>";
}

?>

Fichier list_option.php

<?php

function list_option($dept,$name){

echo "<select name='$name' id='$name'>";

for($i=0;$i<count($dept);$i++){

echo "<option value='" . $dept[$i]. "'>" . $dept[$i]. "</option>";

echo "</select>";

?>

Vous aimerez peut-être aussi