Section membre -> Login

Répondre
Vexware
Vexware
Déconnecté
Vexware
Bonjour,

j'ai écrit ce code pour vérifier si le login et le mot de passe entrés étaient les bons, ça marche mais je me demandais si il y avait un meilleur moyen (disons plus « formel ») de le faire ?

  1. <?  
  2. // Collect form data  
  3. $login = $_POST['login'];  
  4. $pass = $_POST['pass'];  
  5.  
  6. // Check for form completion  
  7. if ($login && $pass)  
  8. {  
  9. // Connect to MySQL  
  10. mysql_connect("localhost", "nomdelabase", "motdepasse");  
  11. // Select login table  
  12. mysql_select_db("nomtable");  
  13. // Query login table  
  14. $collect = mysql_query("SELECT pass FROM login WHERE login='$login'");  
  15. $org = mysql_fetch_array($collect);  
  16. // Check password  
  17. if ($pass == $org['pass'])  
  18. {  
  19. echo "You are logged in !";  
  20. }  
  21. else  
  22. {  
  23. echo "Inexistant user or wrong password.";  
  24. }  
  25. // Close MySQL Connection  
  26. mysql_close;  
  27. }  
  28. else  
  29. {  
  30. echo "Please fill in all entries.";  
  31. }  
  32. ?> 


N.B. : Si le code est en anglais c'est parce que je travaille en anglais quand je programme !
LA GLOBULE
LA GLOBULE
Déconnecté
111 111 111 x 111 111 111 = 12 345 678 987 654 321
Ben nan, c'est correct smiley
Koboneil
Koboneil
Déconnecté
Koboneil
Argh ! Au moment ou je clique répondre je vois le poste de LA GLOBULE smiley

Sinon un truc completement hs :
Tu l'as tuée hotesse avec "awp in da face, puis knife" smiley ?
Vexware
Vexware
Déconnecté
Vexware
Merci beaucoup ! Il ne me reste donc plus qu'à manier les sessions. Avant cela, pour le cryptage des mots de passe, est-ce que je dois faire :
  1.  
  2. // Check password
  3. if (md5($pas)s == md5($org['pass']))
  4.  


Ou si le mot de passe a été crypté en md5 à l'inscription est-ce qu'il suffit de faire :
  1.  
  2. // Check password
  3. if (md5($pass) == $org['pass'])
  4.  


Merci ! ;)
Koboneil
Koboneil
Déconnecté
Koboneil
Bah si le mot de pass provenant de ta base est cryptée il faut utiliser la seconde solution smiley
Vexware
Vexware
Déconnecté
Vexware
C'est aussi la solution logique smiley. Merci beaucoup de m'avoir aidé. Der des der, est-il nécessaire de faire mysql_mem_free($requete) ou je ne sais plus quelle commande pour libérer la mémoire allouée à la requête ?
LA GLOBULE
LA GLOBULE
Déconnecté
111 111 111 x 111 111 111 = 12 345 678 987 654 321
Oui pour toutes les requetes de type SELECT.
Vexware
Vexware
Déconnecté
Vexware
Ca roule ! Mon système d'inscription et de lgin marche parfaitement !

Seul problème, je voudrais le sophistiquer en faisant que lorsque l'utiliser s'inscrit, il reçoit par mail une clé d'inscription (random), qu'il doit vérifier pour être pleinement inscrit. Si la clé correspondant à l'utiliser n'a pas été vérifiée depuis 30 jours, celle-ci est supprimée et la colonne id est automatiquement mise à jour (ça marche avec auto_increment ?). Comment faire ?

Merci smiley.
LA GLOBULE
LA GLOBULE
Déconnecté
111 111 111 x 111 111 111 = 12 345 678 987 654 321
Ben tu viens de le faire : t'as pense le truc en francais, maitenant y'a plus qu'à traduire ca en code, etape par etape.
Vexware
Vexware
Déconnecté
Vexware
Comment fait-on pour travailler avec le temps ? Je veux dire, dès que l'utilisateur arrive sur la page de confirmation le compte à rebours commence, mais aurais-tu un tutorial sur l'utilisation de ce genre de compte à rebours ? Merci.
LA GLOBULE
LA GLOBULE
Déconnecté
111 111 111 x 111 111 111 = 12 345 678 987 654 321
Quel compte à rebour ???

Tu as besoin d'un compte à rebour pourquoi faire ?
Vexware
Vexware
Déconnecté
Vexware
Pour supprimer l'entrée temporaire si elle n'a pas été vérifiée après 30 jours.
LA GLOBULE
LA GLOBULE
Déconnecté
111 111 111 x 111 111 111 = 12 345 678 987 654 321
Faut utiliser un cron pour faire çà.
Genre un script qui se lance toutes les semaines ou tous les jours et qui fait ce que tu lui demandes.

Mais en soit, ca n'a pas vraiment d'importance : l'entree peut rester dans la table, meme si elle ne sert à rien.

Apres, libre à toi de la supprimer (ou non), avec la methode de ton choix.
i M@N
i M@N
Déconnecté
One Love, One Heart, One Unity.
Hello !

Pourquoi se compliquer la vie ?

Il suffit d'envoyer un email qui contient un lien (genre http://monsite.com/fichier.php?id=2) pointant vers un fichier .php qui va récupérer l'id du membre (ici 2) puis va updater la base en fonction de ce qui est prévu dans le script PHP : mettre la valeur d'un champ "actif" de la base = 1 par exemple.
Si le lien n'est pas cliqué, tu le gardes dans la base avec la valeur du champ "actif" = 0.

Après tu peux faire un script (que tu lanceras une fois par mois) qui supprime les enregistrements de la base qui ont plus d'un mois : pour cela il te suffit de mettre un champ "date" dans ta table puis de faire la différence entre la date du jour et la date de la base puis de virer les enregistrements où "actif" = 0 et ou date du jour-date d'enregistrement = 1 mois.

Ché pô ... ça me paraît pas infaisable comme truc ...

@+...
Répondre
Accès rapide :

Remonter Remonter
L'éditeur javascript - CSS - Gentoo - Tutoriaux PHP - Tutoriels PHP - Breizh Blog