aide pour login en php - PHP - Programmation
Marsh Posté le 03-11-2005 à 09:45:19
T'as même pas une petite idée ?
Marsh Posté le 03-11-2005 à 09:48:18
ca doit etre du genre :
if
$login = login dans ma table utilisateur dans sql
et
$password = pwd dans ma table utlisateur sql
alors direction aceuil
sinon fuck
sans la syntaxe c'est ca?
Marsh Posté le 03-11-2005 à 10:07:58
Ce que je voulais dire c'est qu'il y a pas mal de documentation sur internet qui te permerttrait de trouver ca... Mais bon faut quand même que tu vienne sur le forum pour demander? C'est dingue...
Juste comme ca :
...WHERE `champ1` = "'.mysql_real_escape_string($var).'" AND `champ2`...
Et regarde coté mysql_num_rows() pour la condition en php.
Marsh Posté le 03-11-2005 à 10:10:49
un forum sert aussi pour aider, si tout se trouve ailleur qu'ici, pourquoi tu es la??
si je demande ici, c'est pour trouver des reponse plus claire que celle que je trouve ailleurs, mais aparement on doit poser que des question ou la reponse ne se trouve nul part ailleur...
Marsh Posté le 03-11-2005 à 10:21:49
lancevo7 a écrit : mais aparement on doit poser que des question ou la reponse ne se trouve nul part ailleur... |
Bah logiquement c'est plus ou moins le concepte...
Mais bon voilà une réponse :
Code :
|
Marsh Posté le 03-11-2005 à 10:26:49
ben moi je fais juste une recherche sur le login dans la BDD, et après je compare dans PHP pour le password, ce qui me permet de différencier 2 "fuck"
- celui du login qui n'existe pas
- celui du login qui existe mais dont le password n'est pas le bon
Marsh Posté le 03-11-2005 à 10:30:19
dwogsi a écrit : Bah logiquement c'est plus ou moins le concepte...
|
Merci bcp
Marsh Posté le 03-11-2005 à 10:38:47
Parse error: parse error, unexpected '=', expecting ']' on line 17
ligne 17 :
$query = mysql_query('SELECT `champ` FROM `utilisateurs` WHERE `user` = "'.mysql_real_escape_string(
utilisateurs = ma table
user = champ
c bien ca?
Marsh Posté le 03-11-2005 à 11:21:59
Xav_ a écrit : ben moi je fais juste une recherche sur le login dans la BDD, et après je compare dans PHP pour le password, ce qui me permet de différencier 2 "fuck" |
C'est effectivement une autre solution, mais je ne l'aime pas tellement....
Le message que je met moi en général c'est "Mot de passe ou identifiant incorrecte".
lancevo7 a écrit : Parse error: parse error, unexpected '=', expecting ']' on line 17 |
Fait voir ton code exactement (si c'est pas trop long) parce que l'erreur que tu as ne vient pas des noms de champs que tu a pu mettre dans la requête.
Marsh Posté le 03-11-2005 à 11:23:32
il est comme ca :
Code :
|
Marsh Posté le 03-11-2005 à 11:31:29
Code :
|
ca fait ca mais toujours pas bon
user = champ ds ma base
utilisateurs = base
login = ???
pwd=pwd ds ma base
Marsh Posté le 03-11-2005 à 11:38:58
ben $login et $pwd tu les renseigne avec ce que tu as récupérer du formulaire avant de lancer la requete ?
Marsh Posté le 03-11-2005 à 11:40:45
Code :
|
ca donne ca en ce moment
Marsh Posté le 03-11-2005 à 11:42:23
lancevo7 a écrit :
|
et l'erreur associée ??? (vu que tu dis que ça marche pas)
Marsh Posté le 03-11-2005 à 11:44:42
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /var/www/free.fr/3/f/doudoudivx/verif.php on line 20
Une erreur est survenue, veuillez réessayer !
ligne 20 corespond a echo 'bravo'
(pourtant pk il va chercher cette ligne vu que j'ai mit un mauvais mot de passe)
Marsh Posté le 03-11-2005 à 11:45:06
lancevo7 a écrit : user = champ ds ma base |
Je dirais plustôt :
user = champ dans ta table
utilisateurs = ta table
login = ???
pwd=pwd dans ta table
Une base contiennent une ou plusieurs tables (et parfois d'autres éléments) et c'est les tables qui sont constitué (entre autres) des colones contenant tes données.
Marsh Posté le 03-11-2005 à 11:47:38
De toute facon le code que j'ai donné ne va certainement pas fonctionner chez lui, il a certainement stcoké les mot de passe en clair.
Marsh Posté le 03-11-2005 à 11:48:18
lancevo7 a écrit : Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /var/www/free.fr/3/f/doudoudivx/verif.php on line 20 |
Vu le message d'erreur, ligne 20 correspond à "if ( mysql_num_rows($query) > 0 ) { ". Ca veut donc dire qu'il y a une erreur dans ta requette.
Rajoute un
Code :
|
juste avant le ";" terminant la ligne de ta requette.
Marsh Posté le 03-11-2005 à 12:02:51
oui les mot de passe sont en clair dans ma base
omega2 comme ca?
if ( mysql_num_rows($query) > 0 ) {
echo 'bravo' or echo mysql_error();
}
else{
echo 'Une erreur est survenue, veuillez réessayer !' or echo mysql_error();
}
??
Marsh Posté le 03-11-2005 à 12:03:48
non, la ligne de ta requette, celle qui commence par "$query = mysql_query".
Marsh Posté le 03-11-2005 à 12:06:34
$query = mysql_query ("SELECT 'user' FROM 'utilisateurs' WHERE 'user' = '".mysql_real_escape_string($login)."' AND 'pwd' = '".md5($pwd)."'" )or echo mysql_error();
celle la?
EDIT : error sur cette ligne
Marsh Posté le 03-11-2005 à 12:09:26
peut être un espace avant le or (me demande si ca joue) mais oui, c'est bien cette ligne là.
PS : C'est quoi exxactement l'error qu'il t'a affiché?
Marsh Posté le 03-11-2005 à 12:13:12
Parse error: parse error, unexpected T_ECHO in /var/www/free.fr/3/f/doudoudivx/verif.php on line 19
c'est ca
Marsh Posté le 03-11-2005 à 12:31:19
Bon, je veux :
- Le nom de ta table
- Le nom du champ correspondant a l'identifiant
- Le nom du champ correspondant au pass
Parce que sinon on va jamais s'en sortir.
Marsh Posté le 03-11-2005 à 12:34:16
table = utilisateurs
identifiant = user
pass = pwd
dans ma base les mot de passe sont en clair
Marsh Posté le 03-11-2005 à 12:36:52
Code :
|
Ce code là DOIT marcher!
Marsh Posté le 03-11-2005 à 12:43:05
$query = mysql_query ("SELECT `user` FROM 'utilisateurs' WHERE `user` = '".mysql_real_escape_string($login)."' AND `pwd` = '".mysql_real_escape_string($pwd)."'" ) OR echo mysql_error();
error T_ECHO la dedans
Marsh Posté le 03-11-2005 à 14:07:30
Bah je sais pas essais d'enle ver :
OR echo mysql_error()
Marsh Posté le 03-11-2005 à 14:17:39
echo renvoie rien, faut mettre un print ou un die là.
Marsh Posté le 03-11-2005 à 14:21:34
C'est peut être pour ca alors, j'ais jmais testé avec un echo mais comme c'est ce que proposait omega2 j'ai eu confiance...
Marsh Posté le 03-11-2005 à 14:21:48
Code :
|
CA MARCHE !
Marsh Posté le 03-11-2005 à 14:23:56
Ok, mais faille de sécurité. Utilise mysql_real_escape_string comme dit plus haut.
Marsh Posté le 03-11-2005 à 14:26:12
Accessoirement, SELECT COUNT(*) voire SELECT [un champ] serait plus optimal.
Marsh Posté le 03-11-2005 à 14:27:14
Non mais c'est pas vrai il le fais expré....
Ca lui viendrait pas à l'idée de chercher pouquoi j'avais mis mysql_real_escape_string()?!
Bah non il l'enléve. Franchement j'me serait pas fais chier à écrire tout le nom de cette fonction qui est vachement long si ca serveit à rien.
[edit]Et il a mis une étoile (j'avais pas vu).... Oulalala....
Marsh Posté le 03-11-2005 à 14:31:39
j'ai remodifier comme vous avez dit, c'est bon
par contre, une fois que je conait une page du site si je vais dessus en rentrant l'adresse ca marche, on peut pas faire qu'il faut absolument le user et pass?
Marsh Posté le 03-11-2005 à 09:42:20
bonjour a tous, je voudrais faire une page de login sur un site, attention pas des session juste un verif de login c tout.
voila ma syntaxe pour linstant pour la page de verif.php
<?php
$login = $_POST['login'];
$pwd = $_POST['password'];
$db = mysql_connect('sql.free.fr', 'azerty', 'azerty');
mysql_select_db('azerty',$db);
Que mettre comme condition????
?>
il faut qu'il verifie que le nom d'utilisateur corespond bien avec le mot de passe
si oui alors redirection ver acueil.html
si non alors index.html
Merci desoler je suis nul