Etablir la connexion
mohamedlam
Messages postés
6
Statut
Membre
-
mohamedlam Messages postés 6 Statut Membre -
mohamedlam Messages postés 6 Statut Membre -
Bonjour,
Je suis entrain de realiser une application de gestion de stage et j'ai un formulaire d'établissement de connexion dans le quel peut se connecter l'admin et meme un stagiaire inscrit le prob que mon code lors de l'exécution ne fait pas la diffirence entre un admin et un stagiaire et il m'envoi la meme page normalement lors de la connexion si l'utilisateur qui va se connecter il envoie dans une page si un stagiaire il doit l'envoyer ds une autre voila le code
<?php
session_start();
if (isset($_POST['email']))
{
echo "bnr";
$email=htmlspecialchars(trim($_POST['email']));
$passe=htmlspecialchars(trim($_POST['passe']));
if ($email&&$passe)
{
$passe=md5($passe);
$connect=mysql_connect('localhost','root','');
mysql_select_db('stage');
$log=mysql_query("SELECT * FROM stagiaire WHERE (email='$email'AND passe='$passe');");
$rows=mysql_num_rows($log);
if($rows==0)
{
$_SESSION['email']=$email;
header('Location:alae.php');
}
else
{
$con=mysql_query("SELECT * FROM admin WHERE (email='$email'AND passe='$passe');");
$row=mysql_num_rows($con);
if($row==0)
{
$_SESSION['email']=$email;
header('Location:tab.php');
}
}
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!-- saved from url=(0044)http://stagiaires.ma/signup/intern/package/9 -->
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<!---[if lt IE 9]-->
<title>Formulaire Stagiaire</title> <link href="./styles/bootstrap.min.css" media="screen" rel="stylesheet" type="text/css">
<link href="./styles/jquery-ui-1.8.23.custom.css" media="screen" rel="stylesheet" type="text/css">
<link href="./styles/jquery.fancybox.css" media="screen" rel="stylesheet" type="text/css">
<link href="./styles/style.css" media="screen" rel="stylesheet" type="text/css">
</head>
<body class="default_index_signupintern" >
<div class="modal" id="myModal" aria-hidden="true">
<div class="modal-header">
<div class="container" id="wrapper">
<div class="row">
<div class="span9">
<form class=" form-horizontal" action="" method="post">
<div class="control-group">
<div class="controls">
<input type="hidden" name="id" value="" class="" id="id"></div>
<fieldset id="fieldset-company_infos">
<legend>Veuillez Se Connectez</legend>
<div class="control-group">
<label for="email" class="control-label required">E-mail</label>
<div class="controls">
<input type="text" name="email" id="email" value="" placeholder="Votre@dresse.fr"class="" required></div>
</div>
<div class="control-group">
<label for="password" class="control-label required">Mot de passe</label>
<div class="controls">
<input type="password" name="passe" id="password" value="" class="" required></div>
</div>
</fieldset>
<div class="control-group">
<div class="controls">
<button type="sumbit" class="btn btn-success">Connexion</button>
<button type="reset" class="btn" >Clear</button>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
<div class="modal-footer">
<a href="formulaire index.html">Insciption</a>
<button class="btn" data-dismiss="modal" aria-hidden="true">Close</button>
</div>
<script src="js/bootstrap.js" ></script>
</body>
</html>
Je suis entrain de realiser une application de gestion de stage et j'ai un formulaire d'établissement de connexion dans le quel peut se connecter l'admin et meme un stagiaire inscrit le prob que mon code lors de l'exécution ne fait pas la diffirence entre un admin et un stagiaire et il m'envoi la meme page normalement lors de la connexion si l'utilisateur qui va se connecter il envoie dans une page si un stagiaire il doit l'envoyer ds une autre voila le code
<?php
session_start();
if (isset($_POST['email']))
{
echo "bnr";
$email=htmlspecialchars(trim($_POST['email']));
$passe=htmlspecialchars(trim($_POST['passe']));
if ($email&&$passe)
{
$passe=md5($passe);
$connect=mysql_connect('localhost','root','');
mysql_select_db('stage');
$log=mysql_query("SELECT * FROM stagiaire WHERE (email='$email'AND passe='$passe');");
$rows=mysql_num_rows($log);
if($rows==0)
{
$_SESSION['email']=$email;
header('Location:alae.php');
}
else
{
$con=mysql_query("SELECT * FROM admin WHERE (email='$email'AND passe='$passe');");
$row=mysql_num_rows($con);
if($row==0)
{
$_SESSION['email']=$email;
header('Location:tab.php');
}
}
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!-- saved from url=(0044)http://stagiaires.ma/signup/intern/package/9 -->
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<!---[if lt IE 9]-->
<title>Formulaire Stagiaire</title> <link href="./styles/bootstrap.min.css" media="screen" rel="stylesheet" type="text/css">
<link href="./styles/jquery-ui-1.8.23.custom.css" media="screen" rel="stylesheet" type="text/css">
<link href="./styles/jquery.fancybox.css" media="screen" rel="stylesheet" type="text/css">
<link href="./styles/style.css" media="screen" rel="stylesheet" type="text/css">
</head>
<body class="default_index_signupintern" >
<div class="modal" id="myModal" aria-hidden="true">
<div class="modal-header">
<div class="container" id="wrapper">
<div class="row">
<div class="span9">
<form class=" form-horizontal" action="" method="post">
<div class="control-group">
<div class="controls">
<input type="hidden" name="id" value="" class="" id="id"></div>
<fieldset id="fieldset-company_infos">
<legend>Veuillez Se Connectez</legend>
<div class="control-group">
<label for="email" class="control-label required">E-mail</label>
<div class="controls">
<input type="text" name="email" id="email" value="" placeholder="Votre@dresse.fr"class="" required></div>
</div>
<div class="control-group">
<label for="password" class="control-label required">Mot de passe</label>
<div class="controls">
<input type="password" name="passe" id="password" value="" class="" required></div>
</div>
</fieldset>
<div class="control-group">
<div class="controls">
<button type="sumbit" class="btn btn-success">Connexion</button>
<button type="reset" class="btn" >Clear</button>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
<div class="modal-footer">
<a href="formulaire index.html">Insciption</a>
<button class="btn" data-dismiss="modal" aria-hidden="true">Close</button>
</div>
<script src="js/bootstrap.js" ></script>
</body>
</html>
A voir également:
- Etablir la connexion
- Gmail connexion - Guide
- Site inaccessible n'autorise pas la connexion - Guide
- Connexion chromecast - Guide
- Gmail connexion autre compte - Guide
- Formate pour taxer connexion internet ✓ - Forum Matériel & Système
3 réponses
Salut,
Pour commencer tu fait un "echo" à la ligne 3 qui va te provoquer l'erreur suivante pour les redirections :
Cannot modify header information - headers already sent
Tu ne dois envoyer aucun affichage (code html ou echo) avant les instructions header.
Ensuite la fonction htmlspecialchars doit être utilisée afficher des données en html, non pas comme filtres sur tes entrées. Il n'est pas donc pas utile d'utiliser cette fonction à cet endroit.
Par contre puisque tu utilises tes entrées ($_POST['email'] et $_POST['passe']) dans une requête sql, tu doit utiliser la fonction mysql_real_escape_string pour éviter les injections sql.
Une petite recherche sur ton moteur de recherche favoris te permettra d'avoir plus d'infos sur ces deux fonctions.
Enfin si un stagiaire utilise le même couple email/passe qu'un admin, l'administrateur ne pourra jamais se connecter.
Voila quelques remarques te permettant d'avancer.
Bon courage.
Pour commencer tu fait un "echo" à la ligne 3 qui va te provoquer l'erreur suivante pour les redirections :
Cannot modify header information - headers already sent
Tu ne dois envoyer aucun affichage (code html ou echo) avant les instructions header.
Ensuite la fonction htmlspecialchars doit être utilisée afficher des données en html, non pas comme filtres sur tes entrées. Il n'est pas donc pas utile d'utiliser cette fonction à cet endroit.
Par contre puisque tu utilises tes entrées ($_POST['email'] et $_POST['passe']) dans une requête sql, tu doit utiliser la fonction mysql_real_escape_string pour éviter les injections sql.
Une petite recherche sur ton moteur de recherche favoris te permettra d'avoir plus d'infos sur ces deux fonctions.
Enfin si un stagiaire utilise le même couple email/passe qu'un admin, l'administrateur ne pourra jamais se connecter.
Voila quelques remarques te permettant d'avancer.
Bon courage.