login

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : login

Re: login

par 2hmi » 13 avr. 2010, 09:39

Pour moi aprés longue étude l'erreur viendrai d'ici :
<?php
// 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);
//var_dump($data);
?>

Car lorsque j'effectue une inscription tout fonctionne bien, si je ne me deconnecte pas il retrouve le membre lors de l'identification. Cependant lorsque je me déconnecte, et que je cherche par la suite à réidentifier ce même membre il ne le trouve plus.
L'erreur viendrai t-elle de ma requête??

Re: login

par aquiev » 13 avr. 2010, 09:35

Merci.
En effet mon problème ne viens pas de là mais je l'ai modifié quand même.
Et il n'y a rien qui s'affiche ac les msg d'erreurs.

Re: login

par aquiev » 13 avr. 2010, 09:32

Pour moi aprés longue étude l'erreur viendrai d'ici :
<?php
// 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);
//var_dump($data);
?>

Car lorsque j'effectue une inscription tout fonctionne bien, si je ne me deconnecte pas il retrouve le membre lors de l'identification. Cependant lorsque je me déconnecte, et que je cherche par la suite à réidentifier ce même membre il ne le trouve plus.
L'erreur viendrai t-elle de ma requête??

Re: login

par AB » 12 avr. 2010, 17:59

Fait afficher des messages d'erreur pour situer le problème

$base = mysql_connect ('localhost', 'root', '') or  die(mysql_error()); 
mysql_select_db ('djp', $base) or  die(mysql_error()); 

Et au passage on utilise pas mysql_escape_string qui est déprécié mais mysql_real_escape_string (mais ce ne doit pas être l'origine du pb).

Re: login

par aquiev » 12 avr. 2010, 16:43

A premiere vue de ce que je viens de voir, le pb serai au niveau de la recherche d'identification si elle est correct ou non , le bouton de renvoie fonctionne bien, mais il ne parviens peut etre pas a faire le lien entre la bdd et les informations rentrées. Cependant je ne vois pas l'erreur dans le code.
Merci d'avance!

Re: login

par aquiev » 12 avr. 2010, 16:21

J'utilise wamp server,
il fonctionne correctement car mon formulaire d'inscription lui fonctionne mais c'est mon formulaire d'identification qui ne veux pas fonctionner, d'ou le fait que j'en conclu que ca ne viens pas de wamp

Re: login

par AB » 12 avr. 2010, 16:15

Vérifies que ton serveur d'évaluation est démarré et fonctionne correctement. Tu utilises quoi, wamp ou easyphp ?

Re: login

par aquiev » 12 avr. 2010, 16:10

Désormais je n'ai plus le même message d'erreur cad je n'ai plus "Appache HTTP serveur à cessé de fonctionner...." mais lorsque je m'identifie sur le site ac login et mot de passe existant ds la base de données, il essaie de charger la page mais reste sur la même (cad celle d'identification) en la remettant à vide!!!!
Merci de m'aider j'ai besoin de vous

Re: login

par aquiev » 12 avr. 2010, 16:06

Il est vrai que je n'ai peu etre pas passé beaucoup de tps sur le tuto, mais c'est parce que j'aimerai comprendre le probléme de mon code, car je ne le trouve pas. Si vraiment je ne parviens pas a trouver alors je me poserai plus longuement sur ton tuto;
Merci

Re: login

par AB » 12 avr. 2010, 15:22

Pour ce qui est des parenthéses il y en a autant d'ouvrante que de fermante.
Oui tu as raison j'ai été un peu dérouté par ta façon de faire (redondant de faire isset suivit de !empty) et de séparer les conditions en plusieurs blocs mais ce n'est pas une erreur, juste un peu bizarre dans ce contexte.

Pour le tuto, ben prends ton temps. Les codes d'authentification et d'inscription doivent être maîtrisés avant de partir "dans la nature".

Qu'est-ce qui ne fonctionne pas quand tu essaies le code du tuto ? Essaies-le d'abord dans une page vierge avant de tenter une adaptation.
Au minimum cela devrait te retourner des messages d'erreurs si cela ne fonctionne pas.

Soit patient, tu te dis débutant et dix minutes après avoir regardé le tuto tu dis que cela ne fonctionne pas... pour un débutant faut un peu plus de dix minutes quand même...

Et essayes d'être précis quand tu dis que cela ne fonctionne pas sinon on ne pourras pas t'aider :wink:

Re: login

par aquiev » 12 avr. 2010, 15:03

Je ne parviens à adapter ton tuto a mon site, il n'effectue rien et ne rempli pas ma base de données cependant j'ai bien changer les informations pour faire correspondre.
De plus je débute en php donc j'ai encore bien du mal.

Re: login

par aquiev » 12 avr. 2010, 14:52

Je vais tester ton tuto, cependant j'aurai bien voulu savoir l'erreur de mon code.
Pour ce qui est des parenthéses il y en a autant d'ouvrante que de fermante.
Merci

Re: login

par AB » 12 avr. 2010, 14:42

if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) && !empty($_POST['pass']))) {
Il y a des ')' en trop dans la ligne ci-dessus.

Sinon je t'ai donné un lien plus haut vers un tuto complet (avec code fonctionnel qu'il te suffit de copier coller pour tester) :wink:

Re: login

par aquiev » 12 avr. 2010, 14:22

Merci.
Cependant le
mysql_close();
a la fin ne fonctionne pas.
De plus lorsque je met $DATA cela ne change rien et n'affiche rien, ça continue à faire exactement le même.

Re: login

par visualight » 12 avr. 2010, 14:10

Teste le retour de $DATA comme l'as dit AB.
Essaye aussi de voir en mettant ton mysql_close(); à la fin du document (pour tester).