Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
Vieux 13/03/2010, 00h00   #1
Candidat au titre de Membre du Club
 
Inscription : août 2009
Messages : 47
Détails du profil
Informations forums :
Inscription : août 2009
Messages : 47
Points : 12
Points : 12
Par défaut Authentification code php

Salut
Je suis entrain de rediger un script d'authentification,il parait qu'il y a un probléme mais je sais pas où,même lorsque j'écris les logins et mots de passe correctement je reçois toujours le message d'erreur "Echec d'authentification > login ou mot de passe incorrect".

Merci d'avance.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
<?php require_once('classconnection.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
	$pass = addslashes(md5($_POST['pass'])); // mise en variable du mot de passe chiffré à l'aide de md5 
 
// requete sur la table administrateurs (on récupère les infos de la personne)
$dbprotect = mysql_pconnect("localhost","root", "") or trigger_error(mysql_error(),E_USER_ERROR); 
mysql_select_db('conférence', $dbprotect);
$verif_query=sprintf("SELECT * FROM utilisateurs WHERE login='$login' AND pass='$pass'"); // requête sur la base administrateurs
$verif = mysql_query($verif_query, $dbprotect) 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 session
		$_SESSION['privilege'] = $row_verif['privilege']; // le privilège de l'utilisateur (permet de définir des niveaux d'utilisateur)
		$_SESSION['nom'] = $row_verif['nom']; // Son nom
		$_SESSION['prenom'] = $row_verif['prenom']; // Son Prénom
		$_SESSION['login'] = $row_verif['login']; // Son Login
		//$_SESSION['pass'] = $row_verif['pass']; // Son mot de passe (à éviter)
 
		header("Location:acceuil.php"); // redirection si OK
	}
	else {
		header("Location:authentification.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
	$prenom = $_SESSION['prenom']; 
	session_unset("authentification");
	header("Location:authentification.php?erreur=delog&prenom=$prenom");
}
?>
<html>
<head>
<title>AUTHENTIFICATION</title>
<!--<link href="styles.css" rel="stylesheet" type="text/css">-->
</head>
<body background="fnd111.jpg">
<form action="" method="post" name="connect">
  <p align="center" class="titre"></p>
  <p align="center" class="title">
    <?php if(isset($_GET['erreur']) && ($_GET['erreur'] == "login")) {   // Affiche l'erreur 
	 ?>
  <h3>  <strong class="erreur" color="black"> Echec d'authentification &gt; login ou mot de passe incorrect</strong></h3>
 
    <?php  }?>
    <?php if(isset($_GET['erreur']) && ($_GET['erreur'] == "delog")) { // Affiche l'erreur ?>
    <h3><strong class="reussite" color="black">D&eacute;connexion r&eacute;ussie... A bient&ocirc;t <?php echo $_GET['prenom'];?> !</strong></h3>
    <?php } ?>
    <?php if(isset($_GET['erreur']) && ($_GET['erreur'] == "intru")) { // Affiche l'erreur ?>
    <strong class="erreur">Echec d'authentification !!! &gt; Aucune session n'est ouverte ou vous n'avez pas les droits pour afficher cette page</strong>
 
    <?php } ?>
  </p>
 
<br><br><br><br><br><br>
  <table>
 
	<tr>
         <td height="26" valign="top" bgcolor="#345491"> <div align="left"><img src="../../../Program Files/EasyPHP 2.0b1/www/PFE/fleche.gif" height="23" width="14"></div></td>
                <td width="205" colspan="4" valign="middle" bgcolor="#345491" class="text_rub"> <div align="center"><span class="Style7">Authentification  <strong> </strong></span></div></td>
             <td colspan="2" valign="top" bgcolor="#345491"> <div align="right"><img src="../../../Program Files/EasyPHP 2.0b1/www/PFE/carro.gif" height="23" width="16"></div></td>
       </tr>
	  </table>
 
  <table   >
 
    <tr>
      <td width="237">login &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;
 
      <input name="login" type="text" id="login" onClick="this.value='';" class="textbox"  value="pseudo Miracl" ></td>
    </tr>
    <tr>
      <td >mot de passe
      <input name="pass" type="password" onClick="this.value='';" class="textbox" value="password"  id="pass"></td>
    </tr>
    <tr>
      <td>
        <input type="submit" name="Submit" value="Se connecter">
     </td>
    </tr>
  </table>
 
</form>
</body>
</html>
loviso est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/03/2010, 00h41   #2
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
Ce n'est pas addslashes qu'il faut utiliser mais mysql_real_escape_string.
Tu confonds egalement je pense session_register() et session_name().

Sinon pour ton problème, tu devrais afficher $verif_query pour voir exactement ce que tu executes et voir avec phpmyadmin ce que ca retourne.
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/03/2010, 20h24   #3
Candidat au titre de Membre du Club
 
Inscription : août 2009
Messages : 47
Détails du profil
Informations forums :
Inscription : août 2009
Messages : 47
Points : 12
Points : 12
Citation:
Envoyé par sabotage Voir le message
Ce n'est pas addslashes qu'il faut utiliser mais mysql_real_escape_string.
Tu confonds egalement je pense session_register() et session_name().

Sinon pour ton problème, tu devrais afficher $verif_query pour voir exactement ce que tu executes et voir avec phpmyadmin ce que ca retourne.


Merci pour ta réponse,le probléme était au niveau du md5,ça marche maintenant.
loviso est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +1. Il est actuellement 06h22.


 
 
 
 
Partenaires

Hébergement Web