Authentification LOGIN + MOT DE PASSE - PHP

Résolu/Fermé
cedrad33
Messages postés
209
Date d'inscription
samedi 19 avril 2008
Statut
Membre
Dernière intervention
20 mai 2013
- 10 juin 2008 à 22:42
Panshu
Messages postés
31
Date d'inscription
mardi 19 avril 2011
Statut
Membre
Dernière intervention
26 mai 2014
- 26 mai 2014 à 18:32
Bonjour à tous,

j'ai un formulaire qui abouti sur une page PHP mais qui pose des soucis de connexion avec lesquelles je n'arrives pas à identifier le problème.

Le script est celui ci :

<?php

mysql_connect("mon site","mon login","mon mot de passe")
or die("Connexion au serveur impossible");
mysql_select_db("Membre")
or die("Sélection de la base impossible");

if( empty($_POST["login"])) {echo "Le nom d'utilisateur n'est pas renseigné<br><br>";
}
if( empty($_POST["password"])) {echo "<br>Vous avez oubliez d'insérer votre mot de passe<br>";
}

$login = $_POST[login];
$password = $_POST[password];

$sql = "select * FROM Membre WHERE PseudoMembre = '".$login."' AND PasswordMembre = '".$password."' ;";

$req =mysql_query($sql, Membre);

if ($req == null )
{echo "<BR>connexion impossible<BR><br> Nom d'utilisateur et / ou mot de passe incorrect <br><br>";

} else
{echo "<br>Bonjour<br> ".$login;

}

?>


Mais il fonctionne pas et je ne sais pas pourquoi...

Pouvez - vous m'aider??

Je vous remercie infiniment, par avance, de votre aide.
A voir également:

16 réponses

cedrad33
Messages postés
209
Date d'inscription
samedi 19 avril 2008
Statut
Membre
Dernière intervention
20 mai 2013
23
11 juin 2008 à 13:27
Bonjour à tous,

et merci lewis34 de ton aide, mais mon problème vient de ma requete.

Je fais un autre script pour pouvoir voir si ma requete était bonne, elle est toujours fausse et je comprends pas pourquoi

Voici le script

<?php

mysql_connect("mon site","mon login","mon mot de passe")
or die("Connexion au serveur impossible");
mysql_select_db("Membre")
or die("Sélection de la base impossible");

if( empty($_POST["login"])) {echo "Le nom d'utilisateur n'est pas renseigné<br><br>";
}
if( empty($_POST["password"])) {echo "<br>Vous avez oubliez d'insérer votre mot de passe<br>";
}

$sqla = "SELECT PseudoMembre FROM Membre WHERE PseudoMembre = .$_POST[login]. ;";
$sqlb = "SELECT PasswordMembre FROM Membre WHERE PasswordMembre = .$_POST[password]. ;";

$conna = mysql_query($sqla);
$connb = mysql_query($sqlb);


if (!$conna && !$connb)

{echo "$_POST[login]"."$_POST[password]";
}

?>

A chaque fois que je l'éxécute, ca me donne faux, et donc affiche le nom d'utilisateur et le mot de passe.

Merci par avance de votre aide.
7
redlifebig
Messages postés
59
Date d'inscription
jeudi 5 juin 2008
Statut
Membre
Dernière intervention
17 mars 2010
23
11 juin 2008 à 13:34
Remplace tes requêtes par ça

$sqla = "SELECT PseudoMembre FROM Membre WHERE PseudoMembre = ".$_POST[login]." ;";
$sqlb = "SELECT PasswordMembre FROM Membre WHERE PasswordMembre = ".$_POST[password]." ;";
0
tu a mis un echo
0
Panshu
Messages postés
31
Date d'inscription
mardi 19 avril 2011
Statut
Membre
Dernière intervention
26 mai 2014

26 mai 2014 à 18:32
@redlifebig c'est faux, ça rend un site vulnérable aux injections SQL.

Il faut passer par la fonction htmlspecialchars().
0
cedrad33
Messages postés
209
Date d'inscription
samedi 19 avril 2008
Statut
Membre
Dernière intervention
20 mai 2013
23
11 juin 2008 à 19:04
Bonjour à tous, je vous remercie de votre contribution a tous.

Tout d'abord, je souhaite remercié, Lewis34, mais les messages d'erreurs n'étaient aucun des deux, car mes identifiants étaient 100% exacts.

D'autre part, je souhaite remercié meynoucha, ton script marche a merveille.
Mais j'aurai autre chose a te demandé, est ce que tu pourrais m'expliquer les differentes ligne de ton script car je ne comprend pas tout.

Si ca ne te déranges pas, car l'important n'est seulement que ca fonctionne, mais c'est aussi de comprendre.

Si tu ve on peut en parlé sur msn ce qui sera plus simple.


Bonne journée a tous et encore merci
4
bonjour cedrad33, peut etre il faut que tu regarde ce tutoriel:
http://www.infres.enst.fr/~danzart/mysql/php.phtml
0
cedrad33
Messages postés
209
Date d'inscription
samedi 19 avril 2008
Statut
Membre
Dernière intervention
20 mai 2013
23
11 juin 2008 à 14:59
Bonjour redlifebig,

Je te remercie du temps que tu m'as accordé, mais j'ai remplacé tel que tu me la dis, mais j'obtiens toujours le même résultat.

....

Script (modifié) :

<?php

mysql_connect("mon site","mon login","mon mot de passe")
or die("Connexion au serveur impossible");
mysql_select_db("Membre")
or die("Sélection de la base impossible");

if( empty($_POST["login"])) {echo "Le nom d'utilisateur n'est pas renseigné<br><br>";
}
if( empty($_POST["password"])) {echo "<br>Vous avez oubliez d'insérer votre mot de passe<br>";
}

$sqla = "SELECT PseudoMembre FROM Membre WHERE PseudoMembre = ".$_POST[login]." ;";
$sqlb = "SELECT PasswordMembre FROM Membre WHERE PasswordMembre = ".$_POST[password]." ;";

$conna = mysql_query($sqla);
$connb = mysql_query($sqlb);


if (!$conna && !$connb)

{echo "$_POST[login]"."$_POST[password]";
}

?>

...
2
lewis34
Messages postés
2557
Date d'inscription
samedi 21 juillet 2007
Statut
Membre
Dernière intervention
30 mai 2015
353
10 juin 2008 à 22:49
bonsoir ,rapidement ,

j'immagine que toutes les variables post fonctionnent (pense à mettre des echos pour voir si elles sont bien recupérée)

essaye comme ça

$req =mysql_query($sql, Membre);

if (!$req)
{
echo "connexion impossible<br /><br /> Nom d'utilisateur et / ou mot de passe incorrect <br /><br />";
} 
else
{
echo "Bonjour".$login;

} 


le ! signifie si la req $req est fausse==>alors sinon on continue
1

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
lewis34
Messages postés
2557
Date d'inscription
samedi 21 juillet 2007
Statut
Membre
Dernière intervention
30 mai 2015
353
11 juin 2008 à 15:29
ben non... sauf que j'ai oublié un truc ^^^^

$sqla = "SELECT PseudoMembre FROM Membre WHERE PseudoMembre = ".$_POST[login]." ";

tu avais un ; entrop
1
essaye de faire comme ça


$login = $_POST[login];
$password = $_POST[password];

$sql = "select * FROM Membre WHERE PseudoMembre = '".$login."' AND PasswordMembre = '".$password."' ;";

$req =mysql_query($sql, Membre);

while ($test0 = mysql_fetch_row($req) )

{

if ($test0 == null )
{echo "<BR>connexion impossible<BR><br> Nom d'utilisateur et / ou mot de passe incorrect <br><br>";

} else
{echo "<br>Bonjour<br> ".$login;

}
}
1
elle est bien cette form...
j'ai BAC+4 en informatique système et multimédia, si ya qlq qui a un probleme il peut m envoyé un mail sur l'email: ayedmaouia@yahoo.fr
1
lewis34
Messages postés
2557
Date d'inscription
samedi 21 juillet 2007
Statut
Membre
Dernière intervention
30 mai 2015
353
11 juin 2008 à 15:10
re au lieu de ca

$sqla = "SELECT PseudoMembre FROM Membre WHERE PseudoMembre = ".$_POST[login]." ;";
$sqlb = "SELECT PasswordMembre FROM Membre WHERE PasswordMembre = ".$_POST[password]." ;";

essaye ça


$sqla = "SELECT PseudoMembre FROM Membre WHERE PseudoMembre = ".$_POST[login]." ;
$sqlb = "SELECT PasswordMembre FROM Membre WHERE PasswordMembre = ".$_POST[password]." ;
0
cedrad33
Messages postés
209
Date d'inscription
samedi 19 avril 2008
Statut
Membre
Dernière intervention
20 mai 2013
23
11 juin 2008 à 15:25
Bonjour lewis34, si j'essaie ca, il y'aura un problème de guillemets, il en manquera un forcément et ca va faire une erreur de variable...

Non??
0
cedrad33
Messages postés
209
Date d'inscription
samedi 19 avril 2008
Statut
Membre
Dernière intervention
20 mai 2013
23
11 juin 2008 à 15:38
Merci, j'ai essayé, toujours le même résultat, la connexion ne se fait pas. je ne comprends rien, la requête est pourtant exacte mais il n'accepte pas la connexion.

Script :

<?php

mysql_connect("mon site","mon login","mot de passe")
or die("Connexion au serveur impossible");
mysql_select_db("Membre")
or die("Sélection de la base impossible");

if( empty($_POST["login"])) {echo "Le nom d'utilisateur n'est pas renseigné<br><br>";
}
if( empty($_POST["password"])) {echo "<br>Vous avez oubliez d'insérer votre mot de passe<br>";
}

$sqla = "SELECT PseudoMembre FROM Membre WHERE PseudoMembre = ".$_POST[login]."" ;
$sqlb = "SELECT PasswordMembre FROM Membre WHERE PasswordMembre = ".$_POST[password]."" ;

$conna = mysql_query($sqla);
$connb = mysql_query($sqlb);


if (!$conna && !$connb)

{echo "$_POST[login]"."$_POST[password]";
}

?>
0
lewis34
Messages postés
2557
Date d'inscription
samedi 21 juillet 2007
Statut
Membre
Dernière intervention
30 mai 2015
353
11 juin 2008 à 17:22
re qu'est que ca te met comme msg d'erreur ?


Connexion au serveur impossible
ou
Sélection de la base impossible

tu est sur ,je suppose de tes identifiants de connnexions ?
0
cedrad33
Messages postés
209
Date d'inscription
samedi 19 avril 2008
Statut
Membre
Dernière intervention
20 mai 2013
23
11 juin 2008 à 19:38
merci beaucoup meynoucha :-) bonne fin de journée.
0
ju0123456789
9 oct. 2008 à 17:41
Bonjour, j'ai un probleme avec le code ci-dessus que j'ai essayé de transformer en plateforme ODBC au lieu de MySQL

[code]
$login = $_POST[login];
$password = $_POST[password];

$sql = "select * FROM Membre WHERE PseudoMembre = '".$login."' AND PasswordMembre = '".$password."' ;";

$req =mysql_query($sql, Membre);

while ($test0 = mysql_fetch_row($req) )

{

if ($test0 == null )
{echo "<BR>connexion impossible<BR><br> Nom d'utilisateur et / ou mot de passe incorrect <br><br>";

} else
{echo "<br>Bonjour<br> ".$login;

}
}
[/code]

Ce code ne marche pas pour moi, c'est sûrement dû a fait que je n'utilise pas du MySQL mais moi c'est une plateforme ODBC

Warning: odbc_exec(): supplied argument is not a valid ODBC-Link resource in C:\Programmes\wampserver2.0c\www\html\paiement\login.php on line 12

Warning: odbc_fetch_row(): supplied argument is not a valid ODBC result resource in C:\Programmes\wampserver2.0c\www\html\paiement\login.php on line 14

Pouvez vous m'aidez svp ?
Merci
0
lewis34
Messages postés
2557
Date d'inscription
samedi 21 juillet 2007
Statut
Membre
Dernière intervention
30 mai 2015
353
9 oct. 2008 à 22:44
Bonsoir je pense pas que le probleme vienne du fait que tu utilise odbc (en general ça fonctionne)

modifie plutot ta requete

$sql = "select tonchamp1, tonchamp2,tonchamp3, etc... FROM Membre WHERE PseudoMembre = '".$login."' AND PasswordMembre = '".$password."' ;";

$req =mysql_query($sql);
list($tonchamp1, $tonchamp2,$tonchamp3, etc...) = mysql_fetch_array($req);
//ensuite ton traitement
0
ju0123456789
10 oct. 2008 à 10:30
Bonjour,

<?php

$_SESSION['langage'] = 'PHP 5'; 
include_once("../../fonctions-panier.php");

$connect=ODBC_connect("TESTPHP5","sa","sasa");


$login = $_POST[login]; 
$password = $_POST[password]; 

$sql = "select login,password FROM utilisateur WHERE login = '".$login."' AND password = '".$password."' ;"; 

$req =ODBC_exec($sql); 
list($login, $password) = ODBC_fetch_array($req); 

while ($test0 = odbc_fetch_row($req) ) 

{ 

if ($test0 == null ) 
{echo "<BR>connexion impossible<BR><br> Nom d'utilisateur et / ou mot de passe incorrect <br><br>"; 

} else 
{echo "<br>Bonjour<br> ".$login; 

} 
} 


?>code>

ça me marque toujours un probleme

Warning: Wrong parameter count for odbc_exec() in C:\Programmes\wampserver2.0c\www\html\paiement\login.php on line 14

Warning: odbc_fetch_array(): supplied argument is not a valid ODBC result resource in C:\Programmes\wampserver2.0c\www\html\paiement\login.php on line 15

Warning: odbc_fetch_row(): supplied argument is not a valid ODBC result resource in C:\Programmes\wampserver2.0c\www\html\paiement\login.php on line 17

Voilà ce qui se passe quand je renter les données en ODBC.

Et en mysql :

<code><?php

$_SESSION['langage'] = 'PHP 5'; 
include_once("../../fonctions-panier.php");

$connect=ODBC_connect("TESTPHP5","sa","sasa");


$login = $_POST[login]; 
$password = $_POST[password]; 

$sql = "select login,password FROM utilisateur WHERE login = '".$login."' AND password = '".$password."' ;"; 

$req =mysql_query($sql); 
list($login, $password) = mysql_fetch_array($req); 

while ($test0 = mysql_fetch_row($req) ) 

{ 

if ($test0 == null ) 
{echo "<BR>connexion impossible<BR><br> Nom d'utilisateur et / ou mot de passe incorrect <br><br>"; 

} else 
{echo "<br>Bonjour<br> ".$login; 

} 
} 


?>


ça me met :
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\Programmes\wampserver2.0c\www\html\paiement\login.php on line 15

Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in C:\Programmes\wampserver2.0c\www\html\paiement\login.php on line 17


:(

Merci
0
CK SUPERLATIF
Messages postés
8
Date d'inscription
samedi 14 novembre 2009
Statut
Membre
Dernière intervention
8 mars 2012
1
25 févr. 2012 à 17:47
ok j'ai le meme probleme ke vous et j'ai essayer tout ce ki est ici mais ça passe pas. kelkun a t'il une otre alternative . ?
0