Logger des utilisateurs
                                    
                        atk                    
                                    -
                                     
Utilisateur anonyme -
        Utilisateur anonyme -
        Bonjour, 
j'essaie de créer une page permettant de logger les utilisateurs sur la base de donnée, mais cela ne marche pas, il m'indique que l'utilisateur ou mdp n'est pas bon, j'ai du me tromper quelque part mais je ne vois pas ou vous pouvez m'aider ? Les utilisateurs seront pris dans une table users avec id pass et login.
Voici le code :
<meta charset="utf-8" />
<title>Se connecter</title>
<h1>Connexion</h1>
<?php
session_start();
if(isset($_POST['submit']))
{
$login = htmlspecialchars(trim($_POST['login']));
$pwd = htmlspecialchars(trim($_POST['pwd']));
if(empty($login))
{
echo "<strong>Veuillez saisir votre login</strong>";
}
elseif(empty($pwd))
{
echo "<strong>Veuillez saisir votre mot de passe</strong>";
}
else
{
mysql_connect("localhost","root","");
mysql_select_db("cinema");
$pwd = sha1($pwd);
$pseudo = mysql_query("SELECT * FROM users WHERE login='$login' AND pwd='$pwd' ");
$rows = @mysql_num_rows($pseudo);
if($rows == 1)
{
$_SESSION['login'] = $login;
header('location:cinelogin.php');
}
else
{
echo "<strong>Le nom d'utilisateur ou le mot de passe est incorrect !</strong>";
}
}
}
?>
<form method="post" action="">
<label for="login">Login</label><br/>
<input type="text" name="login" id="login"/><br/>
<label>Mot de passe</label><br/>
<input type="password" name="pwd" id="pwd"/><br/><br/>
<input type="submit" name="submit" value="Se connecter" />
</form>
<a href="inscription.php">Je souhaite m'inscrire</a>
                
            
                
    
    
    
        j'essaie de créer une page permettant de logger les utilisateurs sur la base de donnée, mais cela ne marche pas, il m'indique que l'utilisateur ou mdp n'est pas bon, j'ai du me tromper quelque part mais je ne vois pas ou vous pouvez m'aider ? Les utilisateurs seront pris dans une table users avec id pass et login.
Voici le code :
<meta charset="utf-8" />
<title>Se connecter</title>
<h1>Connexion</h1>
<?php
session_start();
if(isset($_POST['submit']))
{
$login = htmlspecialchars(trim($_POST['login']));
$pwd = htmlspecialchars(trim($_POST['pwd']));
if(empty($login))
{
echo "<strong>Veuillez saisir votre login</strong>";
}
elseif(empty($pwd))
{
echo "<strong>Veuillez saisir votre mot de passe</strong>";
}
else
{
mysql_connect("localhost","root","");
mysql_select_db("cinema");
$pwd = sha1($pwd);
$pseudo = mysql_query("SELECT * FROM users WHERE login='$login' AND pwd='$pwd' ");
$rows = @mysql_num_rows($pseudo);
if($rows == 1)
{
$_SESSION['login'] = $login;
header('location:cinelogin.php');
}
else
{
echo "<strong>Le nom d'utilisateur ou le mot de passe est incorrect !</strong>";
}
}
}
?>
<form method="post" action="">
<label for="login">Login</label><br/>
<input type="text" name="login" id="login"/><br/>
<label>Mot de passe</label><br/>
<input type="password" name="pwd" id="pwd"/><br/><br/>
<input type="submit" name="submit" value="Se connecter" />
</form>
<a href="inscription.php">Je souhaite m'inscrire</a>
        A voir également:         
- La session « perfdiag logger » s'est arrêtée avec l'erreur suivante : 0xc0000188
- Une erreur s'est produite instagram ✓ - Forum Instagram
- Appliquez à tous les paragraphes du document à télécharger, à l’exception des titres et des sous-titres, la mise en forme suivante : - Guide
- Imprimante temporairement arrêtée que faire ✓ - Forum Imprimante
- Erreur 3000 france tv - Forum Lecteurs et supports vidéo
- Erreur t32 ✓ - Forum Livebox
7 réponses
                        
                    Bonjour
Il y a peut-être une erreur dans ta requête. Pour vérifier, modifie ta ligne :
    
                Il y a peut-être une erreur dans ta requête. Pour vérifier, modifie ta ligne :
$pseudo = mysql_query("SELECT * FROM users WHERE login='$login' AND pwd='$pwd' ") or die(mysql_error()); 
                
                
                        
                    Bonjour,
j'avais en effet une erreur, dans ma bdd c'était "pass" et j'avais mis pwd, par contre même en changeant cela, ça ne trouve toujours pas les utilisateurs..."erreur de pseudo/mdp" alors que ceux ci sont bien présent.
Je suis débutant en mysql et j'avoue ne pas trop savoir comment utiliser PDO
    
                j'avais en effet une erreur, dans ma bdd c'était "pass" et j'avais mis pwd, par contre même en changeant cela, ça ne trouve toujours pas les utilisateurs..."erreur de pseudo/mdp" alors que ceux ci sont bien présent.
Je suis débutant en mysql et j'avoue ne pas trop savoir comment utiliser PDO
                        
                    As-tu mis en place le mysql_error() ? T'affiche-t-il encore une erreur maintenant ?
Tu peux aussi ajouter
    
                Tu peux aussi ajouter
echo $rows;après
$rows = mysql_num_rows($pseudo);: est-ce que tu vois le zéro s'afficher, ou autre chose, ou rien du tout ?
                        
                    Oui oui j'ai bien laissé le mysql error mais il ne m'indique pas d'erreur :/ Si je met l'echo il m'affiche 0
                
                
    
                Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
                        
                    Alors, c'est que contrairement à ce que tu dis, aucun couple utilisateur - mot de passe ne correspond.
As-tu bien fait l'enregistrement de tes utilisateurs et mot de passe en utilisant les mêmes fonctions que pour les retrouver, c'est à dire htmlspecialchars et sha1 ?
Fais un echo de $login et $pwd juste avant ton mysql_query pour t'assurer.
    
                As-tu bien fait l'enregistrement de tes utilisateurs et mot de passe en utilisant les mêmes fonctions que pour les retrouver, c'est à dire htmlspecialchars et sha1 ?
Fais un echo de $login et $pwd juste avant ton mysql_query pour t'assurer.
                        
                    Pour l'inscription je ne crois pas avoir utiliser les mêmes fonctions, le soucis viendrait de là ?
J'ai fais l'echo de pwd et login, cela ne m'affiche rien du tout
    
                J'ai fais l'echo de pwd et login, cela ne m'affiche rien du tout
                        
                    C'est bon j'ai compris c'est parce que j'avais sha1 en effet je l'avais pas mis dans l'autre dossier php donc évidemment erreur de mdp... Merci beaucoup pour ton aide !
j'aurais une autre petit question, j'aimerais faire une connexion pour user courant et un autre pour admin et je sais pas trop comment faire. Je pense que dans la table il faut créer "type" qui va définir courant et admin mais après je suis un peu largué
    
                j'aurais une autre petit question, j'aimerais faire une connexion pour user courant et un autre pour admin et je sais pas trop comment faire. Je pense que dans la table il faut créer "type" qui va définir courant et admin mais après je suis un peu largué
 
    
    
    
    
- tu ferais mieux d'utiliser PDO
- ton @ sur mysql_num_rows n'est pas logique : une erreur n'est pratiquement possible ici que s'il y a eu une erreur sur le mysql_query qui précède. Tant qu'à utiliser le @ (ce qui est généralement une mauvaise idée) autant le mettre sur la cause première.
Mais c'est une autre histoire.