Problème d'authentification
mimouta88
Messages postés
28
Date d'inscription
Statut
Membre
Dernière intervention
-
mimouta88 Messages postés 28 Date d'inscription Statut Membre Dernière intervention -
mimouta88 Messages postés 28 Date d'inscription Statut Membre Dernière intervention -
bonjour a tous j'ai crié une page qui contient un login et un mot de passe et je veux que l'admin entre un login et un mot de passe pour avoir accéder a la page accueil.j'ai essayé plusieurs codes mais toujours le cas toujours le code m'affiche la page erreur il y'a pas verification des champs avec la bd(pas de recuperation de donnée de la bdd).svp aidez moi
A voir également:
- Problème d'authentification
- Double authentification google - Guide
- Désactiver l'authentification à deux facteurs instagram sans se connecter ✓ - Forum Instagram
- Application d'authentification facebook - Guide
- Authentification transcash - Forum Instagram
- Quelqu'un aurait un exemple de mail de confirmation transcash ? - Forum Consommation & Internet
3 réponses
page index.php
EDIT: Ajout des balises de code
<html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta name="keywords" content="" /> <meta name="description" content="" /> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> </head> <body style=" background-color:powderblue;"> <div align="center"><h1><i></i></h1></div> <div class="post" align="center"><h2 class="title"><f> bienvenue </f></h2> <form name="f1" action="verm.php" method="POST" onSubmit="return verif_formulaire()" > <br><br><br><br><br><br> <div align="right"><input type="login" name="login" />login<br> <br> <br> </div> <div align="right"> <input type="password" name="mot_de_passe" />mot de passe<br> <br> <br> </div> <br> <br> <br> <input type="submit" value="se connecter" /> </p> </form> <div style="clear: both;"> </div> <div class="entry"> </div> </div> <!-- jQuery --> <script src="../bower_components/jquery/dist/jquery.min.js"></script> <!-- Bootstrap Core JavaScript --> <script src="../bower_components/bootstrap/dist/js/bootstrap.min.js"></script> <!-- Metis Menu Plugin JavaScript --> <script src="../bower_components/metisMenu/dist/metisMenu.min.js"></script> <!-- Custom Theme JavaScript --> <script src="../dist/js/sb-admin-2.js"></script> <script type="text/javascript"> function verif_formulaire() { if(document.f1.login.value == "") { alert("entrer login!"); document.f1.login.focus(); return false; } if(document.f1.mot_de_passe.value == "") { alert("entrer mot de passe!"); document.f1.mot_de_passe.focus(); return false; } } </script> </body> </html>
EDIT: Ajout des balises de code
page verm.php
<?php session_start(); // début de session if (isset($_POST['login'])){ // execution uniquement apres envoi du formulaire (test si la variable POST existe) $login = addslashes($_POST['login']); // mise en variable du nom d'utilisateur $mot_de_passe = addslashes(md5($_POST['mot_de_passe'])); // mise en variable du mot de passe chiffré à l'aide de md5 (I love md5) // requete sur la table admin (on récupère les infos de la personne) $con=@mysql_connect('localhost','root',''); $res2=mysql_select_db('amie',$con); $verif_query=sprintf("SELECT * FROM admin WHERE login='$login' AND mot_de_passe='$mot_de_passe'"); // requête sur la base amie $verif = mysql_query($verif_query,$con) or die(mysql_error()); $row_verif = mysql_fetch_assoc($verif); $utilisateur = mysql_num_rows($verif); if ($utilisateur) { // On test s'il y a un utilisateur correspondant session_register("authentification"); // enregistrement de la session // déclaration des variables de sessio $_SESSION['login'] = $row_verif['login']; // Son Login $_SESSION['mot_de_passe'] = $row_verif['mot_de_passe']; // Son mot de passe (à éviter) header("Location:acceuil.php"); // redirection si OK } else { header("Location:index.php?erreur=login"); // redirection si utilisateur non reconnu } } // Gestion de la déconnexion if(isset($_GET['erreur']) && $_GET['erreur'] == 'logout'){ // Test sur les paramètres d'URL qui permettront d'identifier un contexte de déconnexion $login = $_SESSION['login']; // On garde le login en variable pour dire au revoir (soyons polis :-) session_unset("authentification"); header("Location:index.php?erreur=delog&login=$login"); } ?>
Bonjour,
1 - Ta question concerne d'avantage le code php qu'un souci de requête SQL ..
Je déplace donc ta question dans le bon forum.
2 - Va lire ceci : https://www.commentcamarche.net/faq/43261-php-l-extension-mysql-est-obsolete#top
3 - Applique ce qui est indiqué ici : https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
4 - On n'utilise plus le md5 pour sécuriser les password... ça se craque trop facilement. A la place.. il faut utiliser les fonctions de password_verify
Voici un exemple complet : https://forums.commentcamarche.net/forum/affich-34340900-login-password-php#7
1 - Ta question concerne d'avantage le code php qu'un souci de requête SQL ..
Je déplace donc ta question dans le bon forum.
2 - Va lire ceci : https://www.commentcamarche.net/faq/43261-php-l-extension-mysql-est-obsolete#top
3 - Applique ce qui est indiqué ici : https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
4 - On n'utilise plus le md5 pour sécuriser les password... ça se craque trop facilement. A la place.. il faut utiliser les fonctions de password_verify
Voici un exemple complet : https://forums.commentcamarche.net/forum/affich-34340900-login-password-php#7
oui jordane j'ai demandé si vous pouvez corrigez mon code et ne pas a codé a ma place.voici la page index.php
<?php
<!DOCTYPE html >
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta name="keywords" content="" />
<meta name="description" content="" />
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
</head>
<body style=" background-color:powderblue;">
<div align="center"><h1><i></i></h1></div>
<div class="post" align="center"><h2 class="title"><f> bienvenue </f></h2>
<form name="f1" action="verm.php" method="POST" onSubmit="return verif_formulaire()" >
<br><br><br><br><br><br>
<div align="right"><input type="login" name="login" />login<br> <br> <br> </div>
<div align="right"> <input type="password" name="mot_de_passe" />mot de passe<br> <br> <br> </div>
<br> <br> <br>
<input type="submit" value="se connecter" name="se connecter" />
</p>
</form>
<div style="clear: both;"> </div>
<div class="entry">
</div>
</div>
<!-- jQuery -->
<script src="../bower_components/jquery/dist/jquery.min.js"></script>
<!-- Bootstrap Core JavaScript -->
<script src="../bower_components/bootstrap/dist/js/bootstrap.min.js"></script>
<!-- Metis Menu Plugin JavaScript -->
<script src="../bower_components/metisMenu/dist/metisMenu.min.js"></script>
<!-- Custom Theme JavaScript -->
<script src="../dist/js/sb-admin-2.js"></script>
<script type="text/javascript">
function verif_formulaire()
{
if(document.f1.login.value == "") {
alert("entrer login!");
document.f1.login.focus();
return false;
}
if(document.f1.mot_de_passe.value == "") {
alert("entrer mot de passe!");
document.f1.mot_de_passe.focus();
return false;
}
}
</script>
</body>
</html>
<?php
session_start(); include('config.php'); $error = ''; $Login = false; $mot_de_passe = false; //VERIFIE SI FORMULAIRE ENVOYÉ OU PAS if(isset($_POST['login'])){ session_destroy(); } // Récupération PROPRE des variables AVANT de les utiliser : $login = !empty($_POST['login']) ? $_POST['login'] : NULL; $mot_de_passe = !empty($_POST['mot_de_passe']) ? $_POST['mot_de_passe'] : NULL; $user = isset($_SESSION['user']) ? $_SESSION['user'] : ""; if($login && $mot_de_passe)){ if(isset($_POST['login'])){ $Login = Login ($login, $mot_de_passe); if($Login == true){ $_SESSION['user'] = $login; } else { echo "LOGIN OU MOT DE PASSE INVALIDE"; } } if(isset($_POST['se connecter'])){ $bRegister = Register($login, $mot_de_passe); if($bRegister == true){ $_SESSION['user'] = $login; } } } else{ $error = 'Veuillez remplir tous le champs!'; } ?>
<!DOCTYPE html >
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta name="keywords" content="" />
<meta name="description" content="" />
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
</head>
<body style=" background-color:powderblue;">
<div align="center"><h1><i></i></h1></div>
<div class="post" align="center"><h2 class="title"><f> bienvenue </f></h2>
<form name="f1" action="verm.php" method="POST" onSubmit="return verif_formulaire()" >
<br><br><br><br><br><br>
<div align="right"><input type="login" name="login" />login<br> <br> <br> </div>
<div align="right"> <input type="password" name="mot_de_passe" />mot de passe<br> <br> <br> </div>
<br> <br> <br>
<input type="submit" value="se connecter" name="se connecter" />
</p>
</form>
<div style="clear: both;"> </div>
<div class="entry">
</div>
</div>
<!-- jQuery -->
<script src="../bower_components/jquery/dist/jquery.min.js"></script>
<!-- Bootstrap Core JavaScript -->
<script src="../bower_components/bootstrap/dist/js/bootstrap.min.js"></script>
<!-- Metis Menu Plugin JavaScript -->
<script src="../bower_components/metisMenu/dist/metisMenu.min.js"></script>
<!-- Custom Theme JavaScript -->
<script src="../dist/js/sb-admin-2.js"></script>
<script type="text/javascript">
function verif_formulaire()
{
if(document.f1.login.value == "") {
alert("entrer login!");
document.f1.login.focus();
return false;
}
if(document.f1.mot_de_passe.value == "") {
alert("entrer mot de passe!");
document.f1.mot_de_passe.focus();
return false;
}
}
</script>
</body>
</html>
Tu as aussi récupéré le code du fichier include('config.php'); ?
Car il te faut la fonction Login ainsi que la fonction Register ... et bien entendu.. la connexion à la bdd qui va avec.
Le code que je t'ai donné n'est qu'un exemple.... à toi de l'adapter à tes besoins.. et pas juste le copier bêtement.
Car il te faut la fonction Login ainsi que la fonction Register ... et bien entendu.. la connexion à la bdd qui va avec.
Le code que je t'ai donné n'est qu'un exemple.... à toi de l'adapter à tes besoins.. et pas juste le copier bêtement.
voici la page verm.php
<?php //Import fichier de connexion à la bdd require_once "config.php"; /** * Foncion LOGIN */ function Login($login, $mot_de_passe){ $cnn = get_cnx(); try{ $stmt = $cnn->prepare('SELECT login, mot_de_passe FROM admin WHERE login = :login'); $stmt->bindParam(':login', $login); $stmt->execute(); $row = $stmt->fetch(PDO::FETCH_OBJ); }catch(Exception $e){ echo "Error !" .$e->getMessage(); } //print $row->mot_de_passe; return password_verify($mot_de_passe, $row->mot_de_passe) ? true : false ; } /** * Foncion REGISTER */ function Register($login, $mot_de_passe){ $mot_de_passe = password_hash($mot_de_passe, PASSWORD_DEFAULT); $cnn = $cnn = get_cnx(); try{ $stmt = $cnn->prepare('INSERT INTO admin (login, mot_de_passe) VALUES (:login, :mot_de_passe)'); $stmt->bindParam(':login', $login); $stmt->bindParam(':mot_de_passe', $mot_de_passe); $result = $stmt->execute(); }catch(Exception $e){ echo "Error !" .$e->getMessage(); $result = false; } return $result; } ?>