CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[PHP] Problème de connexion membre

Genre
Genre
Niveau 9
01 mars 2008 à 05:48:00

Bonjour à tous,

je fais appel à ceux qui ont des connaissances en PHP pour m'aider à régler mon problème.

Je suis sur la création de mon site et je fais l'espace membre.
Voici la structure de ma table "membres":
id
pseudo
passwd
email
nom
age
pratique
style
figure
rank

Voici les 2 entrées que j'ai dans ma table:
id = 1
pseudo = AntoLeNice
passwd = **********
email = AntoLeNice@hotmail.com
nom = Antoine Bouchard
age = 16
pratique = 3
style = Freestyle
figure = ...
rank = 4

id = 13 (suite à plusieurs tests)
pseudo = Lionel
passwd = **********
email = interboy5@hotmail.com
nom =
age =
pratique =
style = Racing
figure = ...
rank = 1

Et voici mon code de vérification lors de l'identification:
<?php
$memb_conn = mysql_query("SELECT pseudo, passwd, rank FROM membres");
$memb_verif = mysql_fetch_array($memb_conn);
if(isset($_POST['user_login']) && isset($_POST['user_passwd']))
{
if($_POST['user_login'] != NULL && $_POST['user_passwd'] != NULL)
{
if($_POST['user_login'] == $memb_verif['pseudo'] && $_POST['user_passwd'] == $memb_verif['passwd'])
{
$_SESSION['pseudo'] = $_POST['user_login'];
$_SESSION['passwd'] = $_POST['user_passwd'];
$_SESSION['rank'] = $memb_verif['rank'];
echo 'Vous êtes maintenant connecté en tant que '.$_SESSION['pseudo'].'.<br /><br />
<a href="index.php">Revenir à l\'accueil</a>';
}
else
{
echo '<p class="error_form">Aucun pseudo et mot de passe correspondant</p>
<a href="javascript:history.go(-1)">Revenir à la page précédente</a>';
}
}
else
{
echo '<p class="error_form">Vous n\'avez pas remplis tous les champs</p>
<a href="javascript:history.go(-1)">Revenir à la page précédente</a>';
}
}
?>

Le problème:
Lorsque je me connecte avec AntoLeNice, il me connecte sur AntoLeNice. Lorsque je me connecte avec Lionel, il me dit "aucun pseudo et mot de passe correspondant". Pourtant j'entre les bons... avec quelques modification du code (mettre seulement 1 "=" ou "AND" à la place de "&&", il me met "Vous êtes connecté en tant que 1" ou "Vous êtes connecté en tant que AntoLeNice"(même si j'ai entré Lionel).

J'espère que quelqu'un saura m'aider. Merci ^^

deepblue
deepblue
Niveau 16
01 mars 2008 à 08:55:14

$memb_conn = mysql_query("SELECT pseudo, passwd, rank FROM membres");
$memb_verif = mysql_fetch_array($memb_conn);

Ton mysql_fetch_array va te retourner : pseudo, passwd, rank de la >premier< entrée de ta bd qui est celle du pseudo AntoLeNice. Donc quand tu te connectes avec AntoLeNice, tu n'auras aucun probleme, alors que si tu te connectes avec le pseudo Lionel, forcement ça ne fonctionnera pas.

Fait plutot une requete du genre :
"SELECT pseudo, passwd, rank FROM membres WHERE
pseudo='".mysql_escape_string($_POST['user_login']
)."' &&
passwd='".mysql_escape_string($_POST['user_passwd'
])."'"

Et tu comptes le nombres d'entrées dans ton résultat sql : mysql_num_rows()

Genre
Genre
Niveau 9
01 mars 2008 à 23:44:24

Merci beaucoup, ça fonctionne parfaitement... je ne sais pas comment te remercier ^^ merci beaucoup

Genre
Genre
Niveau 9
02 mars 2008 à 00:18:36

J'ai un autre problème en fait... voici le code de mon menu:

$memb_conn = mysql_query("SELECT * FROM membres");
$memb_verif = mysql_fetch_array($memb_conn);
if(isset($_SESSION['pseudo']) && isset($_SESSION['passwd']))
{
switch ($memb_verif['rank'])
{
case 1:
$_SESSION['rank'] = 'Membre';
break;

case 2:
$_SESSION['rank'] = 'Rédacteur';
break;

case 3:
$_SESSION['rank'] = 'Modérateur';
break;

case 4:
$_SESSION['rank'] = 'Administrateur';
break;
}
echo 'Bienvenue, '.$_SESSION['pseudo'].', vous êtes connecté en tant que "'.$_SESSION['rank'].'".<br /><br />
<a href="deconnexion.php">Déconnexion</a>';
}
else
{
echo '<a href="connexion.php">Connexion</a><br />
<a href="inscription.php">Inscription</a><br />
<a href="redacteur.php">Devenir rédacteur ?</a>';
}

Il vérifie le rank.. si c'est 1, c'est Membre, 2 Rédacteur, 3 Modérateur et 4 Administrateur... mais (encore en lien avec le code précédent), peut importe le rank (qui en passant n'est pas entré donc pas de $_POST), il m'affiche administrateur (la première ligne de la table étant rank = 4).

J'ai essayer d'entrer
rank='".mysql_escape_string($memb_verif['rank'])."
' mais ça ne fonctionne pas

Est-ce que tu saurais m'aider ??

Genre
Genre
Niveau 9
02 mars 2008 à 06:56:57

Finalement c'est correct j'ai régler mon problème, merci ^^

Sous forums
  • Aide à l'achat Mac
  • Macintosh
  • Création de Jeux
  • Programmation
  • Création de sites web
  • Linux
  • Internet
  • Steam Deck
  • Hardware
La vidéo du moment