Page avec login

Eléphanteau du PHP | 20 Messages

12 mai 2008, 00:57

Il suffit de supprimer MD5 avant d'entrée une valeur .
Concrètement, dans ce qui suit, en tenant compte du fait que j'ai 6 ans et que je viens tout juste d'apprendre à lire et écrire, j'enlève quoi au juste ?

<?
// on teste si une entrée de la base contient ce couple login / pass
$sql = 'SELECT count(*) FROM membre WHERE login="'.mysql_escape_string($_POST['login']).'" AND pass_md5="'.md5(mysql_escape_string($_POST['pass'])).'"';
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
$data = mysql_fetch_array($req);

mysql_free_result($req);
mysql_close();
?>

[Note : ce message a été posté de manière anonyme avant d'être réattribué à son auteur]

Eléphant du PHP | 224 Messages

12 mai 2008, 02:24

Bonsoir :)
Concrètement, dans ce qui suit, en tenant compte du fait que j'ai 6 ans et que je viens tout juste d'apprendre à lire et écrire, j'enlève quoi au juste ?
Tu écris drôlement bien pour quelqu'un qui vient juste d'apprendre ;) dommage que ce don ne fonctionne pas avec la programmation :D :langue:


Alors, àmha, il suffit d'enlever la fonction "md5()", c'est à dire que la ligne suivante :
$sql = 'SELECT count(*) FROM membre WHERE login="'.mysql_escape_string($_POST['login']).'" AND pass_md5="'.md5(mysql_escape_string($_POST['pass'])).'"';
Doit devenir :
$sql = 'SELECT count(*) FROM membre WHERE login="'.mysql_escape_string($_POST['login']).'" AND pass_md5="'.mysql_escape_string($_POST['pass']).'"';
Ceci étant, je ne suis nullement spécialiste mais il me semble qu'il va aussi falloir supprimer la fonction "md5()" du mot de passe lorsqu'il est sauvegardé dans la base de données... mais là, ça dépasse mes compétences...

à+ :)
Fredo d;o)
"Un pas à la fois me suffit..." (Gandhi)

ViPHP
ViPHP | 2291 Messages

12 mai 2008, 09:59

Ceci étant, je ne suis nullement spécialiste mais il me semble qu'il va aussi falloir supprimer la fonction "md5()" du mot de passe lorsqu'il est sauvegardé dans la base de données... mais là, ça dépasse mes compétences...

à+ :)

Oui il vaudrait mieux en effet donc cette partie
$sql = 'INSERT INTO membre VALUES("", "'.mysql_escape_string($_POST['login']).'", "'.md5(mysql_escape_string($_POST['pass'])).'")'; 
            mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error()); 
Elle devient
$sql = 'INSERT INTO membre VALUES("", "'.mysql_escape_string($_POST['login']).'", "'.mysql_escape_string($_POST['pass']).'")'; 
            mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error()); 

Eléphant du PHP | 422 Messages

12 mai 2008, 10:44

Je travaille avec Dreamweaver, ai-je vraiment besoin de Apache (dont je ne comprends pas encore le fonctionnement) pour faire du PHP ?
Apache est un serveur Web. Quand tu tapes une URL ou quand tu cliques sur un lien, c'est à ce logiciel que tu t'adresses. Apache va récupérer le nom de la page que tu as appelé et va te l'envoyer.
Soit c'est une page HTML, une image, un fichier PDF, un fichier texte, ... : il lit le fichier sur son disque et il te l'envoie
Soit c'est un fichier PHP, Perl, ... : il appelle le programme correspondant, attend sa réponse et transmet la réponse au browser appelant.

Essaye de trouver un cours ou un bouquin sur le fonctionnement d'un serveur Web, ça aidera.

Invité
Invité n'ayant pas de compte PHPfrance

12 mai 2008, 13:04

(...)
Doit devenir :
$sql = 'SELECT count(*) FROM [b]membre[/b] WHERE login="'.mysql_escape_string($_POST['login']).'" AND [b]pass_md5[/b]="'.mysql_escape_string($_POST['[b]pass[/b]']).'"';
Ceci étant, je ne suis nullement spécialiste mais il me semble qu'il va aussi falloir supprimer la fonction "md5()" du mot de passe lorsqu'il est sauvegardé dans la base de données... mais là, ça dépasse mes compétences...

à+ :)
Merci. Ça avance puisque maintenant je crois quelque chose quand j'upload, il reeste à atteindre la page membre. pour l'instant j'ai ce message d'erreur:
Erreur SQL !
SELECT count(*) FROM membres WHERE usrname="airneuf" AND psword="xxxxx"
Can't connect to MySQL server on 'localhost' (10061)


Dans le code cité plus haut j'ai remplacé membre par le nom de ma table, et j'ai remplacé pass_md5 et pass par le nom du champ de ma table qui contient le mot de passe, soit psword.

C'est bien ce que je devais faire ?

Eléphanteau du PHP | 20 Messages

12 mai 2008, 13:38

(...)

Essaye de trouver un cours ou un bouquin sur le fonctionnement d'un serveur Web, ça aidera.
Un bouquin, ouais.. comme pour le DaVinci code j'attendais la sortie du film, mais c'est pas pour demain si je comprends bien. :roll:

[Note : ce message a été posté de manière anonyme avant d'être réattribué à son auteur]