Identifi

danytoss Messages postés 19 Date d'inscription dimanche 12 novembre 2000 Statut Membre Dernière intervention 20 novembre 2008 - 7 oct. 2005 à 16:04
danytoss Messages postés 19 Date d'inscription dimanche 12 novembre 2000 Statut Membre Dernière intervention 20 novembre 2008 - 11 oct. 2005 à 12:15
Bonjour



J'ai créer y a quelque temps, une petite base de données avec EasyPHP
1.6, lorsque je me connectais avec les logins et mot de passe des
uilisateurs, ça fonctionnait très bien.



J'ai voulu installer Easy PHP 1.7, et depuis je ne peux plus me connecter et j'ai plusieurs message d'erreur.



Pouvez vous me dire comment écrire mon script pour qu'il vérifie les
logins et mode passe ou me donner un lien ou je pourrais trouver la
solution à mon problème.





Merci d'avance à tous



A+

Danytoss

10 réponses

davwart Messages postés 855 Date d'inscription mardi 19 novembre 2002 Statut Membre Dernière intervention 28 juillet 2009 1
7 oct. 2005 à 16:17
le plus simple serait que tu nous donnes le message d'erreur, tu crois pas ? ;)

-------------------------------------
Les ordinateurs, plus on s'en sert moins, moins ça a de chance de mal marcher. [Les Shadoks]
0
danytoss Messages postés 19 Date d'inscription dimanche 12 novembre 2000 Statut Membre Dernière intervention 20 novembre 2008
7 oct. 2005 à 16:34
exact bien vu :-)





Alors, voici ce que j'avais écrit dans mon fichier de connexion (ça fonctionne avec EasyPHP 1.6):



<?php

$serv="localhost";

$user="root";

$pwd="";

$bdd="parc";



Mysql_connect($serv,$user,$pwd) or die ("Impossible de se connecté au serveur, erreur dans les identifiants...");

Mysql_select_db($bdd) or die ("Impossible de se connecté a cette base de données?!");





$req1="SELECT `login`,`password` FROM `administrateur` WHERE `login` = '$login' AND `password` LIKE '$mdp' ";

$resultat1=Mysql_query($req1);

$ligne=Mysql_fetch_array($resultat1);



$req2="SELECT `droit` FROM `administrateur` WHERE `login` LIKE '$login' AND `password` LIKE '$mdp' ";

$resultat2=Mysql_query($req2);

$ligne2=Mysql_fetch_array($resultat2);





If(empty($ligne[0]))

include("erreur.html");

Else

if ($ligne2[0]=="Administrateur")

include("accueiladmin.php");



elseif($ligne2[0]=="Utilisateur")

include("accueilutil.php");



Else

include("accueilsuper.php");

?>





et voila les messges d'erreur que j'ai avec EasyPHP 1.7






Notice: Undefined variable: login in c:\program files\easyphp1-7\www\gestion_parc\connexion.php on line 11





Notice: Undefined variable: mdp in c:\program files\easyphp1-7\www\gestion_parc\connexion.php on line 11





Notice: Undefined variable: login in c:\program files\easyphp1-7\www\gestion_parc\connexion.php on line 15





Notice: Undefined variable: mdp in c:\program files\easyphp1-7\www\gestion_parc\connexion.php on line 15



Voila merci a tous de nouveau

:-)
0
davwart Messages postés 855 Date d'inscription mardi 19 novembre 2002 Statut Membre Dernière intervention 28 juillet 2009 1
7 oct. 2005 à 16:53
re!



ben l'erreur est simple: tu utilises 2 variables non défines:

$login, $mdp.



D'ou viennent ces variables? d'un $_GET? d'un $_POST ??



allez, rassure toi, ça veut dire que ton site est + sécurisé qu'avant ;)


-------------------------------------
Les ordinateurs, plus on s'en sert moins, moins ça a de chance de mal marcher. [Les Shadoks]
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
7 oct. 2005 à 18:28
Salut,



il manque quand même des addslashes() pour sécuriser correctement ça (en fonction des magic_quotes())

if(isset($_POST['login']) AND isset($_POST['mdp']))

{

if(get_magic_quotes_gpc()==0)

{

$_POST['login']=addslashes($_POST['login']);

$_POST['mdp']=addslashes($_POST['mdp']);

}

mysql_connect(blabla);

mysql_query('blabla WHERE login="'.$_POST['login'].'" AND passe="'.$_POST['passe'].'"');

mysql_close();

}

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li>
0

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

Posez votre question
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
7 oct. 2005 à 19:23
C'est bien moche quand même :

"J'ai voulu installer Easy PHP 1.7, et depuis je ne peux plus me
connecter et j'ai plusieurs message d'erreur." $login devient
$_POST['login'] etc... (voir le readme qui va avec EasyPHP, bravo
de ne pas l'avoir lu :) )



"req1="SELECT `login`,`password` FROM `administrateur` WHERE `login` = '$login' AND `password` LIKE '$mdp' ";"

Beurk ca =)

Pourquoi un LIKE ? C'est n'importe quoi, utilise plutot '=' plutot que 'LIKE'... !



De plus, tu fais 2 requetes dans le vent la !

Je te réecris le tout :



<?php

$serv="localhost";

$user="root";

$pwd="";

$bdd="parc";



mysql_connect($serv,$user,$pwd) or die ("Impossible de se connecté au serveur, erreur dans les identifiants...");

mysql_select_db($bdd) or die ("Impossible de se connecté a cette base de données?!");



$sql = "SELECT COUNT(*), droit FROM administrateur WHERE


LOWER(login) = '".strtolower(addslashes($_POST['login']))."' AND

password = '".$_POST['password']."' ";

$query = mysql_query($sql);

$data = mysql_fetch_row($query);

mysql_close();

mysql_free_result();



if ( $data[0] === 1 ) {

switch ( $data[1] ) {

case 'Administrateur':

include("accueiladmin.php");

break;

case 'Utilisateur':

include("accueilutil.php");

break;

default:

include("accueilsuper.php");

break;

}

} else {

include("erreur.html");

}



?>

Et encore, je te dirais de mettre tes mots de passes en MD5 ou SHA-1.
Ou alors d'utiliser un type d'encryption genre AES ... à toi de voir :)
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
7 oct. 2005 à 19:29
if ( $data[0] === 1 ) {



ça sera toujours faux, mysql renvoit des strings (je sais c'est absurde mais bon...)



le mysql_close() se met après le mysql_query() :-)

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li>
0
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
7 oct. 2005 à 19:36
Ah, c'est moi qui écrit n'importe quoi...

if ( $data[0] == 1 ) {

//

}



J'ai fais un = de trop... beuh :/
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
7 oct. 2005 à 19:53
non, c'est mieux de mettre un triple égal, mais faut ajuster le type à droite en conséquence

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li>
0
danytoss Messages postés 19 Date d'inscription dimanche 12 novembre 2000 Statut Membre Dernière intervention 20 novembre 2008
10 oct. 2005 à 10:27
Avant tout merci à tous d'avoir répondu.



Je vais éssayé ce que vous m'avez dis, je vais repandre le code de FHX et je vous tiens au courant



Encore une fois merci à tous!





Danytoss
0
danytoss Messages postés 19 Date d'inscription dimanche 12 novembre 2000 Statut Membre Dernière intervention 20 novembre 2008
11 oct. 2005 à 12:15
Rebonjour tt le monde!



J'ai donc essayé le code donné par FHX, mais malheureusement ça ne fonctionne pas.

je l'ai copié, et j'ai essayé de comprendre, mais en vain.



avant tout une question,

ça sert à quoi: ".strtolower(addsleshes($_POST['login']

je pense que c'est pour récupérer les données de la variable login, non?

(n'oubliez pas je suis un débutant)



et partir de "$query", je suis perdu.



ce serai sympa si vous auriez 5 min pour m'expliquez vite fait tout ces commandes.





voila les messages d'erreur que j'ai lorsque je mets mon login et mot de passe.




Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in c:\program files\easyphp1-7\www\base_documentaire\site\connexion.php on line 16





Warning: Wrong parameter count for mysql_free_result() in c:\program files\easyphp1-7\www\base_documentaire\site\connexion.php on line 17





Merci à tous encore une fois
0
Rejoignez-nous