Système compte utilisateur

Résolu
Utilisateur anonyme -  
 Utilisateur anonyme -
Bonjour,
je créer un système de compte sur mon site web, je voit comment sa marche et tout [base de donnée et variable $_SESSION]

mais je bloque sur un truc...

quand le mec rentre son pseudo et son mot de passe je ne voit pas comment vérifier que il y aie le bon pseudo qui et aussi un bon mot de passe que les deux soit sur le même id de compte....

genre

if(pseudo exsiste et mot de passe aussi et qu'il soit sur le même id)
{
création des variables session
}

Voila je pense que sa doit pas être bien dur mais même après 45min de recherche je ne trouve pas :S. donc si vous pourriez m'aidez sa serai cool :D

8 réponses

avion-f16 Messages postés 19252 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
1
avion-f16 Messages postés 19252 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
SELECT id, mot_de_passe, grade FROM compte WHERE pseudo=admin
Il faut mettre des guillemets autour.
$sql = 'SELECT id, mot_de_passe, grade FROM compte WHERE pseudo="'.$login.'"';
1
Utilisateur anonyme
 
Le code
______________________________________________________________
<?php
session_start();

if(isset($_POST['login']) && isset($_POST['password'])) {
if(empty($_POST['login']) || empty($_POST['password']) {
echo 'Au moins un champ est vide.';
afficherFormulaire();
} else {
$login = $_POST['login'];
$password = md5($_POST['password']);

$pdo = new PDO('mysql:host=localhost;dbname=db_test','root','');
$sql = 'SELECT 'id', 'password' FROM 'membres' WHERE 'login' = '.$pdo->quote($login);
$req = $pdo->query($sql);

if($req->rowCount() > 0) {
$membre = $req->fetch(PDO::FETCH_OBJ);
if($membre->password == $password) {
$_SESSION['id'] = $membre->id;
echo 'Vous êtes désormais connecté.<br/>'
. '<a href="index.php">Retour à l\'accueil</a>';
} else {
echo 'Mot de passe incorrect.';
afficherFormulaire();
}
} else {
echo 'Identifiant inconnu.';
afficherFormulaire();
}
}
} else {
afficherFormulaire();
}
?>
_______________________________________________________________

oui la j'ai un peu compris la logique... mais je n'ai jamais utiliser PDO et je ne vois pas comment faire sa vece le bon vieux Mysql_query :S

pourrais-tu me donner l'algorytme de ce code ?

Encore merci à toi Avion-f16
0
avion-f16 Messages postés 19252 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
Lis le texte qu'il y a au-dessus.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
 
euh pour la création des variables SESSION tu me conseillerai de créer une variables pour tout les infos sur l'utilisateur ou faire que une variable $_SESSION['id'] et je ferai des requêtes sql par rapport à l'id ?
0
avion-f16 Messages postés 19252 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
Perso je préfère ne stocker que l'id.
Ainsi, s'il y a des changement (pseudo, type de compte, ...), il n'y a pas besoin de se reconnecter. Mais c'est plus lourd.
0
Utilisateur anonyme
 
if(isset($_POST['connecter']))
{
$login = $_POST['login'];
$password = $_POST['password'];
$sql = 'SELECT id, mot_de_passe, grade FROM compte WHERE pseudo='.$login.'';
$req = mysql_query($sql) or die ('Erreur SQL !<br/>'.$sql.'<br/>'.mysql_error());
$nbr_login = mysql_num_rows($req);
if($nbr_login > 0)
{
while($data = mysql_fetch_array($req))
{
if($data['mot_de_passe'] == $password)
{
$_SESSION['id'] = $data['id'];
$_SESSION['grade'] = $data['grade'];
}
else
{}
}
}
else
{}
}
else
{}

_____________________________________________________________

sa me mets "Erreur SQL !
SELECT id, mot_de_passe, grade FROM compte WHERE pseudo=admin
Champ 'admin' inconnu dans where clause
"

mais je ne vois pas la phaute :S
0
Utilisateur anonyme
 
Moi je pense que je vais mettre directement les infos dans les varialbe $_SESSION car il n'y aura pas de grand changement donnée sur les comptes...

et pour le WHERE id="" bizarre je n'avait jamais mi et sa et sa marchais :S mais la mnt sa marche :D merci à toi
0