Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1416 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  aide pour login en php

 


 Mot :   Pseudo :  
 
 Page :   1  2  3
Page Précédente
Auteur Sujet :

aide pour login en php

n°1237136
lancevo7
Posté le 03-11-2005 à 09:42:20  profilanswer
 

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

mood
Publicité
Posté le 03-11-2005 à 09:42:20  profilanswer
 

n°1237140
sielfried
Posté le 03-11-2005 à 09:45:19  profilanswer
 

T'as même pas une petite idée ? [:figti]


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°1237142
lancevo7
Posté le 03-11-2005 à 09:48:18  profilanswer
 

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?

n°1237151
dwogsi
Défaillance cérébrale...
Posté le 03-11-2005 à 09:51:19  profilanswer
 

RTFM > C'est pas pour rien.

n°1237169
lancevo7
Posté le 03-11-2005 à 10:04:51  profilanswer
 

Pardon?

n°1237172
dwogsi
Défaillance cérébrale...
Posté le 03-11-2005 à 10:07:58  profilanswer
 

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.

n°1237175
lancevo7
Posté le 03-11-2005 à 10:10:49  profilanswer
 

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...

n°1237185
dwogsi
Défaillance cérébrale...
Posté le 03-11-2005 à 10:21:49  profilanswer
 

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 :
  1. $query = mysql_query('SELECT `champ` FROM `membre` WHERE `pseudo` = "'.mysql_real_escape_string($_POST["pseudo]).'" AND `pass` = "'.md5($_POST["pass"]).'" );
  2. if ( mysql_num_rows($query) > 0 ) {
  3.   // Login ok
  4. }else{
  5.   // "Sinon fuck" comme tu l'as dit
  6. }

n°1237201
Xav_
The only one...
Posté le 03-11-2005 à 10:26:49  profilanswer
 

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


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
n°1237210
lancevo7
Posté le 03-11-2005 à 10:30:19  profilanswer
 

dwogsi a écrit :

Bah logiquement c'est plus ou moins le concepte...
 
Mais bon voilà une réponse :
 

Code :
  1. $query = mysql_query('SELECT `champ` FROM `membre` WHERE `pseudo` = "'.mysql_real_escape_string($_POST["pseudo]).'" AND `pass` = "'.md5($_POST["pass"]).'" );
  2. if ( mysql_num_rows($query) > 0 ) {
  3.   // Login ok
  4. }else{
  5.   // "Sinon fuck" comme tu l'as dit
  6. }



 
Merci bcp ;)

mood
Publicité
Posté le 03-11-2005 à 10:30:19  profilanswer
 

n°1237221
lancevo7
Posté le 03-11-2005 à 10:38:47  profilanswer
 

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?

n°1237260
dwogsi
Défaillance cérébrale...
Posté le 03-11-2005 à 11:21:59  profilanswer
 

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" ;)
- celui du login qui n'existe pas
- celui du login qui existe mais dont le password n'est pas le bon


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
 
ligne 17 :
$query = mysql_query('SELECT `champ` FROM `utilisateurs` WHERE `user` = "'.mysql_real_escape_string(
 
 
utilisateurs = ma table
user = champ
 
c bien ca?


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.

n°1237262
lancevo7
Posté le 03-11-2005 à 11:23:32  profilanswer
 

il est comme ca :
 

Code :
  1. $query = mysql_query "SELECT 'user' FROM 'utilisateurs' WHERE 'user' = '".mysql_real_escape_string($login)."' AND 'pwd' = '".md5($pwd)."'" );
  2. if ( mysql_num_rows($query) > 0 ) {
  3. echo 'bravo';
  4. }
  5. else{
  6. echo 'Une erreur est survenue, veuillez réessayer !';
  7. }
  8. ?>


 

n°1237267
omega2
Posté le 03-11-2005 à 11:28:05  profilanswer
 

Elle est passé où la "(" derriére mysql_query?

n°1237270
lancevo7
Posté le 03-11-2005 à 11:31:29  profilanswer
 

Code :
  1. $query = mysql_query ("SELECT 'user' FROM 'utilisateurs' WHERE 'login' = '".mysql_real_escape_string($login)."'" AND 'pwd' = '".md5($pwd)."');


 
ca fait ca mais toujours pas bon
 
 
user = champ ds ma base
utilisateurs = base
login = ???
 
pwd=pwd ds ma base

n°1237286
Xav_
The only one...
Posté le 03-11-2005 à 11:38:58  profilanswer
 

ben $login et $pwd tu les renseigne avec ce que tu as récupérer du formulaire avant de lancer la requete ?


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
n°1237292
lancevo7
Posté le 03-11-2005 à 11:40:45  profilanswer
 

Code :
  1. <?php
  2. $login = $_POST['login'];
  3. $pwd = $_POST['password'];
  4. //connection a Mysql
  5. $db = mysql_connect('sql.free.fr', '****', '*****');
  6. //sélection de la base
  7. mysql_select_db('****',$db);
  8. $query = mysql_query ("SELECT 'user' FROM 'utilisateurs' WHERE 'user' = '".mysql_real_escape_string($login)."' AND 'pwd' = '".md5($pwd)."'" );
  9. if ( mysql_num_rows($query) > 0 ) {
  10. echo 'bravo';
  11. }
  12. else{
  13. echo 'Une erreur est survenue, veuillez réessayer !';
  14. }
  15. ?>


 
 
ca donne ca en ce moment

n°1237293
Xav_
The only one...
Posté le 03-11-2005 à 11:42:23  profilanswer
 

lancevo7 a écrit :

Code :
  1. <?php
  2. $login = $_POST['login'];
  3. $pwd = $_POST['password'];
  4. //connection a Mysql
  5. $db = mysql_connect('sql.free.fr', '****', '*****');
  6. //sélection de la base
  7. mysql_select_db('****',$db);
  8. $query = mysql_query ("SELECT 'user' FROM 'utilisateurs' WHERE 'user' = '".mysql_real_escape_string($login)."' AND 'pwd' = '".md5($pwd)."'" );
  9. if ( mysql_num_rows($query) > 0 ) {
  10. echo 'bravo';
  11. }
  12. else{
  13. echo 'Une erreur est survenue, veuillez réessayer !';
  14. }
  15. ?>


 
 
ca donne ca en ce moment


et l'erreur associée ??? (vu que tu dis que ça marche pas)


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
n°1237298
lancevo7
Posté le 03-11-2005 à 11:44:42  profilanswer
 

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)

n°1237300
omega2
Posté le 03-11-2005 à 11:45:06  profilanswer
 

lancevo7 a écrit :

user = champ ds ma base
utilisateurs = base
login = ???
 
pwd=pwd 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.

n°1237303
dwogsi
Défaillance cérébrale...
Posté le 03-11-2005 à 11:47:38  profilanswer
 

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.

n°1237304
omega2
Posté le 03-11-2005 à 11:48:18  profilanswer
 

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
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)


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 :
  1. or echo mysql_error()

juste avant le ";" terminant la ligne de ta requette.

n°1237327
lancevo7
Posté le 03-11-2005 à 12:02:51  profilanswer
 

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();  
}
 
??
 

n°1237329
omega2
Posté le 03-11-2005 à 12:03:48  profilanswer
 

non, la ligne de ta requette, celle qui commence par "$query = mysql_query".

n°1237331
lancevo7
Posté le 03-11-2005 à 12:06:34  profilanswer
 

$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


Message édité par lancevo7 le 03-11-2005 à 12:07:41
n°1237341
omega2
Posté le 03-11-2005 à 12:09:26  profilanswer
 

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é?

n°1237345
lancevo7
Posté le 03-11-2005 à 12:13:12  profilanswer
 

Parse error: parse error, unexpected T_ECHO in /var/www/free.fr/3/f/doudoudivx/verif.php on line 19
 
c'est ca

n°1237378
dwogsi
Défaillance cérébrale...
Posté le 03-11-2005 à 12:31:19  profilanswer
 

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.

n°1237386
lancevo7
Posté le 03-11-2005 à 12:34:16  profilanswer
 

table = utilisateurs
identifiant = user
pass = pwd
 
dans ma base les mot de passe sont en clair

n°1237391
dwogsi
Défaillance cérébrale...
Posté le 03-11-2005 à 12:36:52  profilanswer
 

Code :
  1. <?php
  2. $login = $_POST['login'];
  3. $pwd = $_POST['password'];
  4. //connection a Mysql
  5. $db = mysql_connect('sql.free.fr', '****', '*****');
  6. //sélection de la base
  7. mysql_select_db('****',$db);
  8. $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();
  9. if ( mysql_num_rows($query) > 0 ) {
  10.    echo 'bravo';
  11. }
  12. else{
  13.    echo 'Une erreur est survenue, veuillez réessayer !';
  14. }
  15. ?>


 
Ce code là DOIT marcher!

n°1237398
lancevo7
Posté le 03-11-2005 à 12:43:05  profilanswer
 

$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

n°1237486
dwogsi
Défaillance cérébrale...
Posté le 03-11-2005 à 14:07:30  profilanswer
 

Bah je sais pas essais d'enle ver :
 OR echo mysql_error()

n°1237506
sielfried
Posté le 03-11-2005 à 14:17:39  profilanswer
 

echo renvoie rien, faut mettre un print ou un die là.


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°1237510
dwogsi
Défaillance cérébrale...
Posté le 03-11-2005 à 14:21:34  profilanswer
 

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...

n°1237511
lancevo7
Posté le 03-11-2005 à 14:21:48  profilanswer
 

Code :
  1. <?php
  2. $login = $_POST['login'];
  3. $pwd = $_POST['password'];
  4. //connection a Mysql
  5. $db = mysql_connect('sql.free.fr', '***', '**', '***');
  6. //sélection de la base
  7. mysql_select_db('****');
  8. $sql = "SELECT * FROM utilisateurs WHERE user = '".$login."' AND `pwd` = '".$pwd."'";
  9. $requete = mysql_query($sql, $db);
  10. $result = mysql_fetch_object($requete);
  11. if ($result) {
  12.    echo 'bravo';
  13. }
  14. else{
  15.    echo 'Une erreur est survenue, veuillez réessayer !';
  16. }
  17. ?>


 
 
 
CA MARCHE !

n°1237515
sielfried
Posté le 03-11-2005 à 14:23:56  profilanswer
 

Ok, mais faille de sécurité. Utilise mysql_real_escape_string comme dit plus haut.


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°1237523
sielfried
Posté le 03-11-2005 à 14:26:12  profilanswer
 

Accessoirement, SELECT COUNT(*) voire SELECT [un champ] serait plus optimal.


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°1237524
dwogsi
Défaillance cérébrale...
Posté le 03-11-2005 à 14:27:14  profilanswer
 

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....


Message édité par dwogsi le 03-11-2005 à 14:28:08
n°1237528
lancevo7
Posté le 03-11-2005 à 14:28:44  profilanswer
 

Merci impecable ca marche!
 
merci beaucoup

n°1237535
lancevo7
Posté le 03-11-2005 à 14:31:39  profilanswer
 

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?

mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3
Page Précédente

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  aide pour login en php

 

Sujets relatifs
[debutant] [swing] bulle d'aide à la eclipseBesoin d'aide pour un petit prog!
[Debutant]besoin d'aide pour dessiner dans un JPanelHTML Validator : Aide pour résoudre certains problèmes ?
besoin d'aide!!!aide à la réalisation d'un projet (niv débutant)
Menu dynamique besoin d'aide !aide sous dev-C++
aide avec highlight_stringBesoin d'aide
Plus de sujets relatifs à : aide pour login en php


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR