Système compte utilisateur
Résolu
Utilisateur anonyme
-
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
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
A voir également:
- Système compte utilisateur
- Restauration systeme windows 10 - Guide
- Créer un compte google - Guide
- Installer windows 10 sans compte microsoft - Guide
- Créer un compte gmail - Guide
- Comment savoir qui regarde mon compte facebook - Guide
8 réponses
SELECT id, mot_de_passe, grade FROM compte WHERE pseudo=adminIl faut mettre des guillemets autour.
$sql = 'SELECT id, mot_de_passe, grade FROM compte WHERE pseudo="'.$login.'"';
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
______________________________________________________________
<?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
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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 ?
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.
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.
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
{
$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