Problème authentification en php/mysql
Résolu
Bonsoir
SVP j'ai besoin de votre aide je travaille en php et mysql je dois dois réaliser l'authentification.J'ai fais deux
champs texte login et motdepasse et un champ liste qui contient employé, chef, administrateur et un bouton valider
ma table est "user" qui contient les champs login et motdepasse
j'ai fais ce code mais il marche pas, quand je clique sur valider j'ai la même page index (je suis débutante svp)
merci pour votre aide je dois rendre ce projet lundi .
SVP j'ai besoin de votre aide je travaille en php et mysql je dois dois réaliser l'authentification.J'ai fais deux
champs texte login et motdepasse et un champ liste qui contient employé, chef, administrateur et un bouton valider
ma table est "user" qui contient les champs login et motdepasse
j'ai fais ce code mais il marche pas, quand je clique sur valider j'ai la même page index (je suis débutante svp)
merci pour votre aide je dois rendre ce projet lundi .
<?php
//connexion a la base de données
include("connex.inc.php");
$idcom=connex("basebank","myparam");
if(!empty($_POST['login']) && !empty($_POST['motdepasse'])){
$login = addslashes($_POST['login']);
$password = crypt($_POST['motdepasse'],5);
$req = mysql_query("SELECT * FROM user WHERE login = '$login' AND motdepasse = '$motdepasse'") or die(mysql_error());
if(mysql_num_rows($req) == 0){
echo "<p style='color:red' align='center'>Login ou mot de passe incorrecte</p>";
}else{
$_SESSION['login'] = $login ;
$_SESSION['motdepasse'] = $motdepasse ;
if($_POST['grade']=="Chef hierarchique") Header("Location: index-chef.php");
elseif($_POST['grade']=="Agent de pointage") Header("Location: index-adp.php");
exit();
}
}
?>Configuration: Windows Vista Firefox 3.0.10
23 réponses
-
ok j'essaye et je vous tiendrais au courant
merci pour tout -
j'ai appris beaucoup d'astuce
Il n'y a besoin d'aucune (enfin très peu) d'astuces en informatique. Il faut surtout de la logique
Le coucou ne s'affiche pas alors qu'il le devrait. Il est soumis à deux if. La seule démarche logique est de vérifier pourquoi les 2 if ne s'exécutent pas. Et comme il s'agit de if (isset($_POST... il suffit de mettre au début un print_r($_POST). Il n'y a aucune astuce là-dedans
Mais si tu as une bonne raison de penser que modifier la page supp-utilisateur.php va t'apporter des éclaircissements, surtout fais-le. SI TU AS UNE BONNE RAISON LOGIQUE.
Pour moi c'est fini pour ce soir. À plus tard peut-être. -
vous savez je suis débutante et j'ai appris beaucoup d'astuce comme le truc d'echo pour vérifier et d'ailleurs pour l'authentification j'ai même fais une redirection vers une page d'erreur.
J'ai fais echo "coucou"; mais ca ne s'affiche pas
j'ai une idée pour quoi ne pas mettre dans la page supp-utilisateur.php un appel de ce genre
<form id="form1" name="form1" method="post" action="cibleSuppUtilisateur.php"> à la page cibleSuppUtilisateur qui contiendra le code<?php include("connex.inc.php"); $idcom=connex("basebank","myparam"); if (isset($_POST['supprimer'])) { // si on a bien appuyé sur Supprimer if (isset($_POST['login'])){ $login=$_POST['login']; echo "coucou"; $SQL=("DELETE FROM user WHERE login='$login'"); mysql_query($SQL); Require("supp-utilisateur.php"); } } c'est une bonne idée ? ?> -
je fais quoi ?
Tu réfléchis un peu.
Pourquoi ça devrait effacer ? Parce qu'il y a une instruction qui sert à ça. Commence par mettre un echo "cocou" juste avant l'instruction qui sert à ça
Si tu vois le 'coucou', il faudra ensuite réfléchir à pourquoi l'instruction d'effacement ne fait pas ce qu'on attend d'elle
Si tu ne le vois pas, il faudra réfléchir à pourquoi le programme ne passe pas par là.
J'ai bien mon idée sur le sujet, mais il serait bon que tu prennes des initiatives : un programme doit marcher de telle manière, et s'il ne fait pas ce qu'on veut on vérifie qu'il passe par les bonnes lignes (en faisant echo "coucou";) et que les variables ont les bonnes valeurs en faisant echo $variable ou print_r ($tableau). -
oui c'est vrais j'aurais du le remarquer, quand je clique sur supprimer rien ne se passe ni dans la table ni dans ma page je fais quoi ???
pour la sécurité quel est l'idée qu'on peut faire pour sécurisé si c'est pas trop difficile sinon je laisse comme ça car dans mon projet j'ai pas encore réussi la suppression et la modification donc j'aurais peut-être pas le temps 'j'ai réussi que l'affichage de la table et l'ajout'
merci a vous depuis tout a l'heure -
la page que contient ce formulaire n'est accessible que pour l'administrateur donc je pense que ca ira
Ça, ça m'étonnerait bien ! Il n'y a rien, absolument rien dans ta page qui en limite l'accès.
Pour l'erreur ligne 147, c'est ma faute (mais tu aurais pu le voir aussi), il manque un } avant le ?>. Il y a deux if(..){, il fallait deux } pour les refermer -
Merci beaucoup
la page que contient ce formulaire n'est accessible que pour l'administrateur donc je pense que ca ira
j'ai renommer mon bouton en supprimer
mais la page ne s'ouvre plus et me renvoie une erreur (et moi j'ai que 146 lignes dans mon code)
Parse error: parse error in C:\Program Files\EasyPHP 3.0\www\PFE\site_flash\supp-utilisateur-admin.php on line 147
code:<?php include("connex.inc.php"); $idcom=connex("basebank","myparam"); if (isset($_POST['supprimer'])) { // si on a bien appuyé sur Supprimer if (isset($_POST['login'])){ $login=$_POST['login']; $SQL=("DELETE FROM user WHERE login='$login'"); mysql_query($SQL); } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Supprimer utilisateur</title> <link href="style.css" rel="stylesheet" type="text/css" /> <link href="layout.css" rel="stylesheet" type="text/css" /> <script src="Scripts/swfobject_modified.js" type="text/javascript"></script> <script src="SpryAssets/SpryMenuBar.js" type="text/javascript"></script> <link href="SpryAssets/SpryMenuBarVertical.css" rel="stylesheet" type="text/css" /> </head> <body id="page2"> <!-- header --> <div class="header_tal"> <object id="FlashID" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="766" height="396"> <param name="movie" value="images/header.swf" /> <param name="quality" value="high" /> <param name="wmode" value="opaque" /> <param name="swfversion" value="8.0.35.0" /> <!-- Cette balise <param> invite les utilisateurs de Flash Player en version 6.0 r65 et ultérieure à télécharger la version la plus récente de Flash Player. Supprimez-la si vous ne voulez pas que cette invite soit visible. --> <param name="expressinstall" value="Scripts/expressInstall.swf" /> <!-- La balise <object> suivante est destinée aux navigateurs autres qu'IE. Supprimez-la d'IE à l'aide d'IECC. --> <!--[if !IE]>--> <object type="application/x-shockwave-flash" data="images/header.swf" width="766" height="396"> <!--<![endif]--> <param name="quality" value="high" /> <param name="wmode" value="opaque" /> <param name="swfversion" value="8.0.35.0" /> <param name="expressinstall" value="Scripts/expressInstall.swf" /> <!-- Le navigateur affichera le contenu alternatif suivant pour les utilisateurs d'un lecteur Flash de version 6.0 ou de versions plus anciennes. --> <div> <h4>Le contenu de cette page nécessite une version plus récente d’Adobe Flash Player.</h4> <p><a href="https://get.adobe.com/flashplayer/"><img src="https://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Obtenir le lecteur Adobe Flash" width="112" height="33" /></a></p> </div> <!--[if !IE]>--> </object> <!--<![endif]--> </object> </div> <!-- content --> <div class="content_tal"> <div id="content" class="separate"> <div class="separate1"> <div class="cont_height"> </div> <div class="col_1 green"> <div class="title_green"> <p><img alt="" src="images/2title1.gif" /></p> <p> </p> <p> </p> <p> </p> </div> <div class="indent"> <ul id="MenuBar1" class="MenuBarVertical"> <li><a href="mailto:nomCorrespondant@nomDomaine.fr">Accéder à la boite e-mail</a></li> <li><a class="MenuBarItemSubmenu" href="#">Remplir un formulaire</a> <ul> <li><a href="form-conge-admin.php">Demande de congé</a></li> <li><a href="form-sortie-admin.php">Demande d'autorisation de sortie</a></li> </ul> </li> <li><a href="#" class="MenuBarItemSubmenu">Utilisateur</a> <ul> <li><a href="consul-utilisateur-admin.php">Consulter</a> </li> <li><a href="#" class="MenuBarItemSubmenu">Traiter</a> <ul> <li><a href="ajout-utilisateur-admin.php">Ajouter</a></li> <li><a href="modif-utilisateur-admin.php">Modifier</a></li> <li><a href="supp-utilisateur-admin.php">Supprimer</a></li> </ul> </li> </ul> </li> <li><a href="#" class="MenuBarItemSubmenu">Aide</a> <ul> <li><a href="doc-admin.php">Documentation</a></li> <li><a href="apropos-admin.php">A propos</a></li> </ul> </li> </ul> <p> </p> <p><br clear="all" /> </p> <div class="indent_text"><br clear="all" /> </div> </div> </div> <div class="col_2 blue"> <div class="title_blue"><img alt="" src="images/2title2.gif" /></div> <div class="indent"> <p><strong>Application administrateur :</strong></p> <p> </p> <table width="327" height="33"> <tr> <td>Login :</td> <td><form id="form1" name="form1" method="post" action=""> <label> <input type="text" name="login" id="login" /> </label> </form></td> </tr> </table> <p> </p> <p> </p> <table width="326" height="37"> <tr> <td><input type="submit" name="supprimer" id="supprimer" value="Supprimer"/></td> <td><a href="index-admin.php"></td> <td><input type="submit" name="revenir" id="revenir" value="Revenir" /></td> <td><label> <input type="submit" name="quitter" onclick="javascript:window.close()" id="quitter" value="Quitter" /> </label></td> </tr> </table> <p> </p> <div class="col_box"> <div class="col_box_1"></div> <div class="col_box_2"> </div> <div class="col_box_3"></div> <div class="clear"></div> </div> </div> </div> <div class="clear"></div> </div> </div> </div> <!-- footer --> <div id="footer"><span>BestBank.com.tn © 2009 </span> All Rights Reserved</div> <script type="text/javascript"> <!-- swfobject.registerObject("FlashID"); var MenuBar1 = new Spry.Widget.MenuBar("MenuBar1", {imgRight:"SpryAssets/SpryMenuBarRightHover.gif"}); //--> </script> </body> </html> -
Ça m'a l'air plus facile ...
$SQL=("DELETE FROM user WHERE login='$login'");
c'est correct sauf que $login n'est pas défini.
Je suppose que $login correspond au champ login du formulaire, et qu'il faut faire le "delete" quand on clique sur le bouton Supprimer
Comme ce bouton a pour nom 'valider', le code doit ressembler à ça :
<?php
include("connex.inc.php");
$idcom=connex("basebank","myparam");
if (isset($_POST['valider'])) { // si on a bien appuyé sur Supprimer
if (isset($_POST['login'])){
$login=$_POST['login'];
$SQL=("DELETE FROM user WHERE login='$login'");
mysql_query($SQL);
}
?>
Mais ce formulaire est très dangereux, n'importe qui peut supprimer n'importe quoi... Il y aurait des mesures de sécurité à prendre -
c'est bon j'ai remplacer crypt par addlashes et enlever le 5 ca a marcher
MERCI MERCI MERCI MERCI pour votre aide que dieu vous bénisse vous me rendez super heureuse
si vous pouvez me corriger aussi ce code de suppression d'un enregistrement de ma table
<?php
include("connex.inc.php");
$idcom=connex("basebank","myparam");
$SQL=("DELETE FROM user WHERE login='$login'");
mysql_query($SQL);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Supprimer utilisateur</title>
<link href="style.css" rel="stylesheet" type="text/css" />
<link href="layout.css" rel="stylesheet" type="text/css" />
<script src="Scripts/swfobject_modified.js" type="text/javascript"></script>
<script src="SpryAssets/SpryMenuBar.js" type="text/javascript"></script>
<link href="SpryAssets/SpryMenuBarVertical.css" rel="stylesheet" type="text/css" />
</head>
<body id="page2">
<!-- header -->
<div class="header_tal">
<object id="FlashID" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="766" height="396">
<param name="movie" value="images/header.swf" />
<param name="quality" value="high" />
<param name="wmode" value="opaque" />
<param name="swfversion" value="8.0.35.0" />
<!-- Cette balise <param> invite les utilisateurs de Flash Player en version 6.0 r65 et ultérieure à télécharger la version la plus récente de Flash Player. Supprimez-la si vous ne voulez pas que cette invite soit visible. -->
<param name="expressinstall" value="Scripts/expressInstall.swf" />
<!-- La balise <object> suivante est destinée aux navigateurs autres qu'IE. Supprimez-la d'IE à l'aide d'IECC. -->
<!--[if !IE]>-->
<object type="application/x-shockwave-flash" data="images/header.swf" width="766" height="396">
<!--<![endif]-->
<param name="quality" value="high" />
<param name="wmode" value="opaque" />
<param name="swfversion" value="8.0.35.0" />
<param name="expressinstall" value="Scripts/expressInstall.swf" />
<!-- Le navigateur affichera le contenu alternatif suivant pour les utilisateurs d'un lecteur Flash de version 6.0 ou de versions plus anciennes. -->
<div>
<h4>Le contenu de cette page nécessite une version plus récente d’Adobe Flash Player.</h4>
<p><a href="https://get.adobe.com/flashplayer/"><img src="https://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Obtenir le lecteur Adobe Flash" width="112" height="33" /></a></p>
</div>
<!--[if !IE]>-->
</object>
<!--<![endif]-->
</object>
</div>
<!-- content -->
<div class="content_tal">
<div id="content" class="separate">
<div class="separate1">
<div class="cont_height"> </div>
<div class="col_1 green">
<div class="title_green">
<p><img alt="" src="images/2title1.gif" /></p>
<p> </p>
<p> </p>
<p> </p>
</div>
<div class="indent">
<ul id="MenuBar1" class="MenuBarVertical">
<li><a href="mailto:nomCorrespondant@nomDomaine.fr">Accéder à la boite e-mail</a></li>
<li><a class="MenuBarItemSubmenu" href="#">Remplir un formulaire</a>
<ul>
<li><a href="form-conge-admin.php">Demande de congé</a></li>
<li><a href="form-sortie-admin.php">Demande d'autorisation de sortie</a></li>
</ul>
</li>
<li><a href="#" class="MenuBarItemSubmenu">Utilisateur</a>
<ul>
<li><a href="consul-utilisateur-admin.php">Consulter</a> </li>
<li><a href="#" class="MenuBarItemSubmenu">Traiter</a>
<ul>
<li><a href="ajout-utilisateur-admin.php">Ajouter</a></li>
<li><a href="modif-utilisateur-admin.php">Modifier</a></li>
<li><a href="supp-utilisateur-admin.php">Supprimer</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="#" class="MenuBarItemSubmenu">Aide</a>
<ul>
<li><a href="doc-admin.php">Documentation</a></li>
<li><a href="apropos-admin.php">A propos</a></li>
</ul>
</li>
</ul>
<p> </p>
<p><br clear="all" />
</p>
<div class="indent_text"><br clear="all" />
</div>
</div>
</div>
<div class="col_2 blue">
<div class="title_blue"><img alt="" src="images/2title2.gif" /></div>
<div class="indent">
<p><strong>Application administrateur :</strong></p>
<p> </p>
<table width="327" height="33">
<tr>
<td>Login :</td>
<td><form id="form1" name="form1" method="post" action="">
<label>
<input type="text" name="login" id="login" />
</label>
</form></td>
</tr>
</table>
<p> </p>
<p> </p>
<table width="326" height="37">
<tr>
<td><input type="submit" name="valider" id="valider" value="Supprimer"/></td>
<td><a href="index-admin.php"></td>
<td><input type="submit" name="revenir" id="revenir" value="Revenir" /></td>
<td><label>
<input type="submit" name="quitter" onclick="javascript:window.close()" id="quitter" value="Quitter" />
</label></td>
</tr>
</table>
<p> </p>
<div class="col_box">
<div class="col_box_1"></div>
<div class="col_box_2"> </div>
<div class="col_box_3"></div>
<div class="clear"></div>
</div>
</div>
</div>
<div class="clear"></div>
</div>
</div>
</div>
<!-- footer -->
<div id="footer"><span>BestBank.com.tn © 2009 </span> All Rights Reserved</div>
<script type="text/javascript">
<!--
swfobject.registerObject("FlashID");
var MenuBar1 = new Spry.Widget.MenuBar("MenuBar1", {imgRight:"SpryAssets/SpryMenuBarRightHover.gif"});
//-->
</script>
</body>
</html> -
quand j'ai ajouter echo "il y a ",mysql_num_rows($req)," réponses<br />";
j'ai eu
Array ( [login] => Bernard fleur [motdepasse] => admin [grade] => Chef hierarchique [valider] => Valider ) il y a 0 réponses
Login ou mot de passe incorrecte
non j'ai pas fais ca le truc de 5 et crypt (je l'ai trouver sur le net en cherchant ) , j'ai tout simplement ajouter creer ma base et insérer comme sur la photo http://img5.imageshack.us/img5/3922/capturercdj.jpg
je dois modifier quoi ? -
Si j'ai avec login ou motdepasse incorrecte Alors, c'est que le login ou le mot de passe sont incorrects .. as-tu vérifié qu'ils sont bien dans ta base.
En particulier, le mot de passe a-t-il bien été enegistré dans la base avec la même fonction crypt et le même paramètre 5 ? Parce que si ce n'est pas le cas, il n'y a aucune raison de retrouver le mot de passe en faisant crypt($_POST['motdepasse'],5)
Quand ça sera réglé, il te restera quelques problèmes de session mais on verra plus tard -
si j'ai avec login ou motdepasse incorrecte
-
Tu n'as aucun message d'erreur ? même pas "login ou mot de passe incorrect" ?
Alors ajoute echo "il y a ",mysql_num_rows($req)," réponses<br />";
juste avant if(mysql_num_rows($req) == 0){ -
je vous en remercie de prendre de votre temps et m'aider c'est super gentille
j'ai renommer le menu en grade et voila ce que me donne le print_r($_POST);
Array ( [login] => fertani abdelaziz [motdepasse] => admin [grade] => Agent de pointage [valider] => Valider )
le code<?php //connexion a la base de données include("connex.inc.php"); $idcom=connex("basebank","myparam"); print_r($_POST); if(!empty($_POST['login']) && !empty($_POST['motdepasse'])){ $login = addslashes($_POST['login']); $motdepasse = crypt($_POST['motdepasse'],5); $req = mysql_query("SELECT * FROM user WHERE login = '$login' AND motdepasse = '$motdepasse'") or die(mysql_error()); if(mysql_num_rows($req) == 0){ echo "<p style='color:red' align='center'>Login ou mot de passe incorrecte</p>"; }else{ $_SESSION['login'] = $login ; $_SESSION['motdepasse'] = $motdepasse ; if($_POST['grade']=="Chef hierarchique") Header("Location: index-chef.php"); elseif($_POST['grade']=="Agent de pointage") Header("Location: index-adp.php"); exit(); } } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Page d'authentification</title> <link href="style.css" rel="stylesheet" type="text/css" /> <link href="layout.css" rel="stylesheet" type="text/css" /> <script src="Scripts/swfobject_modified.js" type="text/javascript"></script> <style type="text/css"> <!-- body,td,th { font-size: 12px; } --> </style></head> <body id="page1"> <!-- header --> <div class="header_tal"> <object id="FlashID" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="766" height="396"> <param name="movie" value="images/header.swf" /> <param name="quality" value="high" /> <param name="wmode" value="opaque" /> <param name="swfversion" value="8.0.35.0" /> <!-- Cette balise <param> invite les utilisateurs de Flash Player en version 6.0 r65 et ultérieure à télécharger la version la plus récente de Flash Player. Supprimez-la si vous ne voulez pas que cette invite soit visible. --> <param name="expressinstall" value="Scripts/expressInstall.swf" /> <!-- La balise <object> suivante est destinée aux navigateurs autres qu'IE. Supprimez-la d'IE à l'aide d'IECC. --> <!--[if !IE]>--> <object type="application/x-shockwave-flash" data="images/header.swf" width="766" height="396"> <!--<![endif]--> <param name="quality" value="high" /> <param name="wmode" value="opaque" /> <param name="swfversion" value="8.0.35.0" /> <param name="expressinstall" value="Scripts/expressInstall.swf" /> <!-- Le navigateur affichera le contenu alternatif suivant pour les utilisateurs d'un lecteur Flash de version 6.0 ou de versions plus anciennes. --> <div> <h4>Le contenu de cette page nécessite une version plus récente d’Adobe Flash Player.</h4> <p><a href="https://get.adobe.com/flashplayer/"><img src="https://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Obtenir le lecteur Adobe Flash" width="112" height="33" /></a></p> </div> <!--[if !IE]>--> </object> <!--<![endif]--> </object> </div> <!-- content --> <div class="content_tal"> <div id="content" class="separate"> <div class="separate1"> <div class="cont_height"> </div> <div class="col_1 green"> <div class="title_green"><img alt="" src="images/1title1.gif" /></div> <div class="indent"><img src="images/best-bank-tunisie-medium.jpg" width="224" height="75" /> <div class="indent_text"> <p>Bank Ettamouil Tounsi Saoudi a été constitué le 15 juin 1983 entre la Société ALBARAKA d’Investissement et de Developpement Jeddah, en Arabie Saoudite d’une part, et la Banque Centrale Tunisienne d’autre part, sous le régime de la loi du 12 Juillet 1976 modifiée par la loi n°108/85 du 6 Décembre 1985 portant encouragement de institutions financières et bancaires travaillant essentiellement avec les non résidents.</p> </div> </div> </div> <div class="col_2 blue"> <div class="indent"> <div class="indent_text"> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p>Bank Ettamouil Tounsi Saoudi fonde ses rapports avec ses clients sur une base excluant toute usure « Riba » et œuvre à consolider le développement économique et social en Tunisie et dans les autres pays arabes et islamiques </p> <p> </p> <p>Pour accéder à l'application de la Best Bank veuillez vous identifier:</p> <p> </p> <p> </p> </div> </div> </div> <div class="col_3 red"> <div class="title_red"> </div> <div class="indent"> <p> </p> <?php $date = date("d-m-Y"); $heure = date("H:i"); Print("Nous sommes le $date et il est $heure"); ?> <p> </p> <p> </p> <p><strong>Authentification </strong>:</p> <p> </p> <p>Login :</p> <p> </p> <form id="form1" name="form1" method="post" action=""> <label> <input type="text" name="login" id="login" /> </label> <p> </p> <p>Mot de passe :</p> <p> </p> <label> <input type="password" name="motdepasse" id="motdepasse" /> </label> <p> </p> <p>Grade :</p> <p> </p> <p> <select name="grade" id="grade"> <option>Choisir grade :</option> <option>Administrateur</option> <option selected="selected">Agent de pointage</option> <option>Chef hiérarchique</option> <option>Employe</option> <option>Respensable ressource humaine</option> </select> </p> <p> </p> <table width="189" height="22"> <tr> <label> <input type="submit" name="valider" id="valider" value="Valider" /> </label> <label> <input type="reset" name="quitter" id="quitter" value="Quitter" /> </label> </form></td> </tr> </table> </div> </div> <div class="clear"></div> </div> </div> </div> <!-- footer --> <div id="footer"><span>BestBank.com.tn © 2009</span> All Rights Reserved</div> <script type="text/javascript"> <!-- swfobject.registerObject("FlashID"); //--> </script> <form action="cible-auth-chef.php" method="post" > </body> </html> -
On avance, ne désespère pas...
Tu utilises dans ton traitement la variable $_POST['grade'] alors que le print_r te montre bien qu'elle n'existe pas. Celle qui existe, c'est $_POST['menu'] : en effet, dans ton formulaire tu as <select name="menu" id="menu">
Alors tu appelles tu utilises partout soit 'grade', soit 'menu', mais pas un mélange des deux. -
j'ai eu ca
Array ( [login] => Bernard fleur [motdepasse] => admin [menu] => Agent de pointage [valider] => Valider )
svp aidez moi et merci d'avance
voila le code<?php //connexion a la base de données include("connex.inc.php"); $idcom=connex("basebank","myparam"); print_r($_POST); if(!empty($_POST['login']) && !empty($_POST['motdepasse'])){ $login = addslashes($_POST['login']); $motdepasse = crypt($_POST['motdepasse'],5); $req = mysql_query("SELECT * FROM user WHERE login = '$login' AND motdepasse = '$motdepasse'") or die(mysql_error()); if(mysql_num_rows($req) == 0){ echo "<p style='color:red' align='center'>Login ou mot de passe incorrecte</p>"; }else{ $_SESSION['login'] = $login ; $_SESSION['motdepasse'] = $motdepasse ; if($_POST['grade']=="Chef hierarchique") Header("Location: index-chef.php"); elseif($_POST['grade']=="Agent de pointage") Header("Location: index-adp.php"); exit(); } } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Page d'authentification</title> <link href="style.css" rel="stylesheet" type="text/css" /> <link href="layout.css" rel="stylesheet" type="text/css" /> <script src="Scripts/swfobject_modified.js" type="text/javascript"></script> <style type="text/css"> <!-- body,td,th { font-size: 12px; } --> </style></head> <body id="page1"> <!-- header --> <div class="header_tal"> <object id="FlashID" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="766" height="396"> <param name="movie" value="images/header.swf" /> <param name="quality" value="high" /> <param name="wmode" value="opaque" /> <param name="swfversion" value="8.0.35.0" /> <!-- Cette balise <param> invite les utilisateurs de Flash Player en version 6.0 r65 et ultérieure à télécharger la version la plus récente de Flash Player. Supprimez-la si vous ne voulez pas que cette invite soit visible. --> <param name="expressinstall" value="Scripts/expressInstall.swf" /> <!-- La balise <object> suivante est destinée aux navigateurs autres qu'IE. Supprimez-la d'IE à l'aide d'IECC. --> <!--[if !IE]>--> <object type="application/x-shockwave-flash" data="images/header.swf" width="766" height="396"> <!--<![endif]--> <param name="quality" value="high" /> <param name="wmode" value="opaque" /> <param name="swfversion" value="8.0.35.0" /> <param name="expressinstall" value="Scripts/expressInstall.swf" /> <!-- Le navigateur affichera le contenu alternatif suivant pour les utilisateurs d'un lecteur Flash de version 6.0 ou de versions plus anciennes. --> <div> <h4>Le contenu de cette page nécessite une version plus récente d’Adobe Flash Player.</h4> <p><a href="https://get.adobe.com/flashplayer/"><img src="https://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Obtenir le lecteur Adobe Flash" width="112" height="33" /></a></p> </div> <!--[if !IE]>--> </object> <!--<![endif]--> </object> </div> <!-- content --> <div class="content_tal"> <div id="content" class="separate"> <div class="separate1"> <div class="cont_height"> </div> <div class="col_1 green"> <div class="title_green"><img alt="" src="images/1title1.gif" /></div> <div class="indent"><img src="images/best-bank-tunisie-medium.jpg" width="224" height="75" /> <div class="indent_text"> <p>Bank Ettamouil Tounsi Saoudi a été constitué le 15 juin 1983 entre la Société ALBARAKA d’Investissement et de Developpement Jeddah, en Arabie Saoudite d’une part, et la Banque Centrale Tunisienne d’autre part, sous le régime de la loi du 12 Juillet 1976 modifiée par la loi n°108/85 du 6 Décembre 1985 portant encouragement de institutions financières et bancaires travaillant essentiellement avec les non résidents.</p> </div> </div> </div> <div class="col_2 blue"> <div class="indent"> <div class="indent_text"> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p>Bank Ettamouil Tounsi Saoudi fonde ses rapports avec ses clients sur une base excluant toute usure « Riba » et œuvre à consolider le développement économique et social en Tunisie et dans les autres pays arabes et islamiques </p> <p> </p> <p>Pour accéder à l'application de la Best Bank veuillez vous identifier:</p> <p> </p> <p> </p> </div> </div> </div> <div class="col_3 red"> <div class="title_red"> </div> <div class="indent"> <p> </p> <?php $date = date("d-m-Y"); $heure = date("H:i"); Print("Nous sommes le $date et il est $heure"); ?> <p> </p> <p> </p> <p><strong>Authentification </strong>:</p> <p> </p> <p>Login :</p> <p> </p> <form id="form1" name="form1" method="post" action=""> <label> <input type="text" name="login" id="login" /> </label> <p> </p> <p>Mot de passe :</p> <p> </p> <label> <input type="password" name="motdepasse" id="motdepasse" /> </label> <p> </p> <p>Grade :</p> <p> </p> <p> <select name="menu" id="menu"> <option>Choisir grade :</option> <option>Administrateur</option> <option selected="selected">Agent de pointage</option> <option>Chef hiérarchique</option> <option>Employe</option> <option>Respensable ressource humaine</option> </select> </p> <p> </p> <table width="189" height="22"> <tr> <label> <input type="submit" name="valider" id="valider" value="Valider" /> </label> <label> <input type="reset" name="quitter" id="quitter" value="Quitter" /> </label> </form></td> </tr> </table> </div> </div> <div class="clear"></div> </div> </div> </div> <!-- footer --> <div id="footer"><span>BestBank.com.tn © 2009</span> All Rights Reserved</div> <script type="text/javascript"> <!-- swfobject.registerObject("FlashID"); //--> </script> <form action="cible-auth-chef.php" method="post" > </body> </html> -
Si tu fais print_r($_POST); au début, vois-tu toutes les variables maintenant ?
Et il y a une petite erreur: tu mets ton mot de passe dans une variable $password, mais dans ta requête tu utilises la variable $motdepasse. -
oui j'ai appliquer ce que j'ai compris mais le reste j'ai aps su comment faire
<?php //connexion a la base de données include("connex.inc.php"); $idcom=connex("basebank","myparam"); if(!empty($_POST['login']) && !empty($_POST['motdepasse'])){ $login = addslashes($_POST['login']); $password = crypt($_POST['motdepasse'],5); $req = mysql_query("SELECT * FROM user WHERE login = '$login' AND motdepasse = '$motdepasse'") or die(mysql_error()); if(mysql_num_rows($req) == 0){ echo "<p style='color:red' align='center'>Login ou mot de passe incorrecte</p>"; }else{ $_SESSION['login'] = $login ; $_SESSION['motdepasse'] = $motdepasse ; if($_POST['grade']=="Chef hierarchique") Header("Location: index-chef.php"); elseif($_POST['grade']=="Agent de pointage") Header("Location: index-adp.php"); exit(); } } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Page d'authentification</title> <link href="style.css" rel="stylesheet" type="text/css" /> <link href="layout.css" rel="stylesheet" type="text/css" /> <script src="Scripts/swfobject_modified.js" type="text/javascript"></script> <style type="text/css"> <!-- body,td,th { font-size: 12px; } --> </style></head> <body id="page1"> <!-- header --> <div class="header_tal"> <object id="FlashID" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="766" height="396"> <param name="movie" value="images/header.swf" /> <param name="quality" value="high" /> <param name="wmode" value="opaque" /> <param name="swfversion" value="8.0.35.0" /> <!-- Cette balise <param> invite les utilisateurs de Flash Player en version 6.0 r65 et ultérieure à télécharger la version la plus récente de Flash Player. Supprimez-la si vous ne voulez pas que cette invite soit visible. --> <param name="expressinstall" value="Scripts/expressInstall.swf" /> <!-- La balise <object> suivante est destinée aux navigateurs autres qu'IE. Supprimez-la d'IE à l'aide d'IECC. --> <!--[if !IE]>--> <object type="application/x-shockwave-flash" data="images/header.swf" width="766" height="396"> <!--<![endif]--> <param name="quality" value="high" /> <param name="wmode" value="opaque" /> <param name="swfversion" value="8.0.35.0" /> <param name="expressinstall" value="Scripts/expressInstall.swf" /> <!-- Le navigateur affichera le contenu alternatif suivant pour les utilisateurs d'un lecteur Flash de version 6.0 ou de versions plus anciennes. --> <div> <h4>Le contenu de cette page nécessite une version plus récente d’Adobe Flash Player.</h4> <p><a href="https://get.adobe.com/flashplayer/"><img src="https://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Obtenir le lecteur Adobe Flash" width="112" height="33" /></a></p> </div> <!--[if !IE]>--> </object> <!--<![endif]--> </object> </div> <!-- content --> <div class="content_tal"> <div id="content" class="separate"> <div class="separate1"> <div class="cont_height"> </div> <div class="col_1 green"> <div class="title_green"><img alt="" src="images/1title1.gif" /></div> <div class="indent"><img src="images/best-bank-tunisie-medium.jpg" width="224" height="75" /> <div class="indent_text"> <p>Bank Ettamouil Tounsi Saoudi a été constitué le 15 juin 1983 entre la Société ALBARAKA d’Investissement et de Developpement Jeddah, en Arabie Saoudite d’une part, et la Banque Centrale Tunisienne d’autre part, sous le régime de la loi du 12 Juillet 1976 modifiée par la loi n°108/85 du 6 Décembre 1985 portant encouragement de institutions financières et bancaires travaillant essentiellement avec les non résidents.</p> </div> </div> </div> <div class="col_2 blue"> <div class="indent"> <div class="indent_text"> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p> </p> <p>Bank Ettamouil Tounsi Saoudi fonde ses rapports avec ses clients sur une base excluant toute usure « Riba » et œuvre à consolider le développement économique et social en Tunisie et dans les autres pays arabes et islamiques </p> <p> </p> <p>Pour accéder à l'application de la Best Bank veuillez vous identifier:</p> <p> </p> <p> </p> </div> </div> </div> <div class="col_3 red"> <div class="title_red"> </div> <div class="indent"> <p> </p> <?php $date = date("d-m-Y"); $heure = date("H:i"); Print("Nous sommes le $date et il est $heure"); ?> <p> </p> <p> </p> <p><strong>Authentification </strong>:</p> <p> </p> <p>Login :</p> <p> </p> <form id="form1" name="form1" method="post" action=""> <label> <input type="text" name="login" id="login" /> </label> <p> </p> <p>Mot de passe :</p> <p> </p> <label> <input type="password" name="motdepasse" id="motdepasse" /> </label> <p> </p> <p>Grade :</p> <p> </p> <p> <select name="menu" id="menu"> <option>Choisir grade :</option> <option>Administrateur</option> <option selected="selected">Agent de pointage</option> <option>Chef hiérarchique</option> <option>Employe</option> <option>Respensable ressource humaine</option> </select> </p> <p> </p> <table width="189" height="22"> <tr> <label> <input type="submit" name="valider" id="valider" value="Valider" /> </label> <label> <input type="reset" name="quitter" id="quitter" value="Quitter" /> </label> </form></td> </tr> </table> </div> </div> <div class="clear"></div> </div> </div> </div> <!-- footer --> <div id="footer"><span>BestBank.com.tn © 2009</span> All Rights Reserved</div> <script type="text/javascript"> <!-- swfobject.registerObject("FlashID"); //--> </script> <form action="cible-auth-chef.php" method="post" > </body> </html> -
Tu n'as pas réussi ?
Mais as-tu essayé de tenir compte de ce que j'avais dit ? -
je suis débutante svp svp je vous en supplie corriger moi le code si c'est possible car j'ai pas réussie
merci a vous et que dieu vous bénisse
- 1
- 2
Suivant