IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

authentification par fichier


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Avril 2004
    Messages
    85
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Avril 2004
    Messages : 85
    Par défaut authentification par fichier
    Bonjour,

    Je souhaite pouvoir m'authentifier sur un site via des informations stockées dans un fichier txt qui a cette forme:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    user:passwd (crypté en md5)
    voici mon code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
    <?
    if(isset($_POST) && !empty($_POST['login']) && !empty($_POST['pass'])) {
      extract($_POST);
      $contenu_array = file('users.txt');
     
      $bool=1;
      foreach($contenu_array as $line)
    	{
    	$id = explode(":", $line);
    	if($login == $id[0] && md5($pass) == $id[1]) {
    		    session_start();
    		    $bool=0;
        		$_SESSION['login'] = $login;
        		header('Location: index1.php');
    		}
    	}
     
    	if($bool){echo "c mort";}
    }
    else {
      echo '<p>Vous avez oublié de remplir un champ.</p>';
       include('index.htm');
       exit;
    }
    ?>
    cela marche, mais quand j'ai deux utilisateurs dans mon fichier users.txt, seul le dernier est pris en compte.

  2. #2
    Membre chevronné
    Inscrit en
    Février 2005
    Messages
    419
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Février 2005
    Messages : 419
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    header('Location: index1.php');
    Ta boucle risque de s'executer plusieurs fois si tu ne fais pas de exit après.

    Essaye donc ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    header('Location: index1.php');
    exit() ;
    Je ne suis pas sur du tout que ça vienne de ça vu le fonctionnement de ton programme, mais ça sera déjà toujours mieux

  3. #3
    Membre confirmé
    Inscrit en
    Avril 2004
    Messages
    85
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Avril 2004
    Messages : 85
    Par défaut
    hum, cela n'arrange pas mon probleme

  4. #4
    Membre confirmé
    Inscrit en
    Avril 2004
    Messages
    85
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Avril 2004
    Messages : 85
    Par défaut
    C'etait un probleme de fin de ligne, ou de caractere caché dans mon fichier txt. L'utilisation de la fonction trim a fait des merveilles.
    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Authentification par pam_smb
    Par botambaoaks dans le forum Réseau
    Réponses: 2
    Dernier message: 18/10/2005, 07h19
  2. [HTTP] authentification par méthode post
    Par G00x2 dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 03/07/2005, 15h05
  3. [1.1] Authentification par formulaire
    Par kakek dans le forum ASP.NET
    Réponses: 2
    Dernier message: 30/05/2005, 09h37
  4. [Layout-Date] Configuration par fichier
    Par Koko22 dans le forum Struts 1
    Réponses: 4
    Dernier message: 28/07/2004, 09h39
  5. [Concept] BD ou Gestion par fichier. Intérêt de la BD ?
    Par Cian dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 28/11/2002, 12h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo