Posez votre question Signaler

Authentification LOGIN + MOT DE PASSE - PHP [Résolu]

cedrad33 208Messages postés 19 avril 2008Date d'inscription 5 mars 2010Dernière intervention - Dernière réponse le 25 févr. 2012 à 17:47
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.
Lire la suite 

Authentification LOGIN + MOT DE PASSE - PHP »

18 réponses
Réponse
+2
moins plus
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.
redlifebig- 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]." ;";
Ajouter un commentaire
Réponse
+2
moins plus
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]";
}

?>

...
Ajouter un commentaire
Réponse
+2
moins plus
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
meynoucha - 11 juin 2008 à 19:15
bonjour cedrad33, peut etre il faut que tu regarde ce tutoriel:
http://www.infres.enst.fr/~danzart/mysql/php.phtml
Ajouter un commentaire
Réponse
+1
moins plus
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
Ajouter un commentaire
Réponse
+1
moins plus
ben non... sauf que j'ai oublié un truc ^^^^

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

tu avais un ; entrop
Ajouter un commentaire
Réponse
+0
moins plus
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]." ;
Ajouter un commentaire
Réponse
+0
moins plus
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??
Ajouter un commentaire
Réponse
+0
moins plus
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]";
}

?>
Ajouter un commentaire
Réponse
+0
moins plus
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 ?
Ajouter un commentaire
Réponse
+0
moins plus
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;

}
}
Ajouter un commentaire
Réponse
+0
moins plus
merci beaucoup meynoucha :-) bonne fin de journée.
Ajouter un commentaire
Réponse
+0
moins plus
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
Ajouter un commentaire
Réponse
+0
moins plus
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
Ajouter un commentaire
Réponse
+0
moins plus
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
Ajouter un commentaire
Réponse
+0
moins plus
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
Ajouter un commentaire
Réponse
+0
moins plus
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 . ?
Ajouter un commentaire
Ce document intitulé « Authentification LOGIN + MOT DE PASSE - PHP » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?