JeuWeb - Crée ton jeu par navigateur
Problème pour script de login - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : Problème pour script de login (/showthread.php?tid=312)

Pages : 1 2


RE: [REGLE] Problème pour script d'inscription - Chewbacca - 24-10-2006

^^ bon courage!


RE: [REGLE] Problème pour script d'inscription - Plume - 24-10-2006

Ah ouais bien vu Smile J'l'avais pas pensé celle là :/


RE: [REGLE] Problème pour script d'inscription - Chewbacca - 01-11-2006

Bon je vais pas créer un sujet pour chacun des problèmes que je rencontre, ça risquerait de faire planter le forum ^^. Donc je vous parle de mon problème de login ici :
Code PHP :
<?php
session_start
();//On démaare la session.
if (isset ($_SESSION['logged']) && $_SESSION['logged']==1)//Si on est déja connecté.
{
echo
'Vous êtes déja connecté. Pour vous déconnecter, cliquez <a href="deconnection.php">ici</a>';//on propose de se déconnecter
}
else
//Si on n'est pas connecté.
{
if (isset (
$_POST['pseudo']) && isset ($_POST['pass']) && !empty($_POST['pseudo']) &&!empty($_POST['pass']))//Si tout est rempli.
{
mysql_connect("XXX");//connection à la BDD
mysql_select_db("XXX");
$pseudo=($_POST['pseudo']);//définition des variables
$mpd=($_POST['pass']);
$query=mysql_query("SELECT Nom, Pass FROM Membres WHERE Nom='$pseudo' && Pass='$mdp'")or die (mysql_error());
$donnees=mysql_num_rows($query);
if (
$donnees==0)//Si l'utilisateur n'existe pas
{
echo
stripslashes('Vous avez spécifié un nom d\'utilisateur ou un mot de passe invalide.<a href="connection.php">Veuillez réessayer</a>');
}
else
//s'il existe.
{
echo
stripslashes('Vous êtes connecté. Pour vous rendre sur l\'accueil du site, cliquez <a href="index.php">ici</a>');
$_SESSION['logged']=1;
mysql_close() or die (mysql_error());
}
}
else
//Si tout n'est pas rempli.
{
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
<head>
<title>501-lycée du parc</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" media="screen" type="text/css" title="Design" href="configure.css" />
<body>
<form action="connection.php" method="post"></br>
Nom :<input type="text" name="pseudo"></br>
Mot de passe:<input type="password"name="pass"></br>
<input type="submit" value="Se connecter">
<?php
}
}

?>
Mon script ne plante pas, mais, alors que l'utilisateur existe, il me dit qu'il n'existe pas!
Vous avez une solution?
Merci d'avance.


RE: Problème pour script de login - Raoull - 02-11-2006

mmm une idée comme ca :
tu veux vérifier si le nom existe déjà, mais toi tu fais :
("SELECT Nom, Pass FROM Membres WHERE Nom='$pseudo' && Pass='$mdp'")
Or la tu vérifie si un nom précis ET un mot de passe précis existe...

Vu qu'il y a peu de chance, qu'un nouvel inscrit mette le meme mot de passe, meme s'il utilise un nom déjà pris, ta requete repondra toujours que c'est libre.

Inutile donc de vérifier le mot de passe dans ta requete, cherche juste si un membre a déjà ce pseudo. C'est ca qui fout le merde.

En fait je trouve que tu organise mal tes vérifications.
Tout en haut tu vérifie déjà 1 fois que la personne n'est pas connecté, puis en vérifiant les données du formulaire, tu répète :
echo stripslashes('Vous êtes connecté. Pour vous rendre sur l\'accueil du site, cliquez <a href="index.php">ici</a>');

D'ailleurs dans cette commande, tu n'as pas besoin de faire stripslashes() devant ton echo. Les guillemets sont échappés avec un \ donc aucun souci !
Ca fait une commande inutile en moins...


RE: Problème pour script de login - Chewbacca - 02-11-2006

C'est bon ça marche, j'avais fait une bête erreur de frappe, $mdp au lieu de $ mdp ^^
Pour ce qui est de savoir si la personne est connectée, je regarde quand il charge la page s'il est connecté. S'il l'est je lui dis et je lui propose de se déconnecter. S'il ne l'est pas et qu'il rentre des informations valides, je le connecte et je lui dis.
Pour ce qui est du stripslashes, en es-tu sûr?
Je pensais au contraire, que puisque j'échappais le ', il fallait que je mette un stripslashes pour qu'on ne voie pas le \ Merci en tout cas ;-)