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

Bibliothèques et frameworks PHP Discussion :

[SimpleXML] connexion


Sujet :

Bibliothèques et frameworks PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2006
    Messages : 77
    Par défaut [SimpleXML] connexion
    Salut, j'ai un problème ...

    Je voudras me connecter a partir d'un pseudo et d'un pass.
    Je voudrais que si le pass et pseudo sont les me que dans le fichier xml, la connexion se fasse, sinon elle ne se fais pas ...

    C'est surement une bête erreur mais bon ...

    Mon php : (login.php)
    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    <?php
    if (isset($_POST['pseudo']) != NULL AND isset($_POST['pass']) != NULL) {
     
    include('inc/login.funct.php');
      verif(htmlentities($_POST['pseudo']), htmlentities($_POST['pass']));
     
     if ($o == '1') {
      session_start();
      $_SESSION['login'] = htmlentities($_POST['pseudo']);
      ?> <p>Connexion réussie, redirection en cours ... Veillez patienter 3 secondes ...</p>
      <META HTTP-EQUIV="Refresh" CONTENT="2; URL=gestionArticles.php">
      <?php
     }
     else {
     ?> <p>Erreur de pseudo / mot de passe, veillez rц╘essayer !</p>
    <?php
     }
    }
    else {
    ?>
     
    <p>Pour gц╘rer votre blog, il faut que vous soyez connectц╘. Pour vous connecter vous devez remplir le formulaire ci-dessous.</p>
     
    <form action="login.php" method="post">
     
    <ul>
    <li>Votre pseudo : <input name="pseudo" type="text" maxlength="20" /></li>
    <li>Votre mot de passe : <input name="pass" type="password" maxlength="20" /></li>
    </ul>
    <input type="button" value="Gц╘rer mon blog" onclick="verifForm(this.form)" />
     
    </form>
     
    <ul>
    <li><a href="#">Recevoir mon mot de passe par email</a></li>
    <li><a href="register.php">Crц╘er mon blog</a></li>
    </ul>
     
    <?php } ?>
    La fonction qui vérifie (inc/login.funct.php) :
    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
    <?php
    function verif($pseudo, $pass) {
      if (is_file('blogs/'.$pseudo.'.xml'))
      {
        $login = simplexml_load_file('blogs/'.$pseudo.'.xml');
        foreach($login->identite[0] as $identite) {
          if (utf8_decode($identite->pass) == md5($pass) AND utf8_decode($identite->pseudo) == $pseudo) {
          $o = '1';
          } else { $o = '0'; }
        }
      }
      else {
        $o = '0';
      }
    }
    ?>
    Mon xml : (blogs/zuxion.xml) enfaite c'est la "fiche" d'un blog (c'est juste la partie qui nous interesse ...)
    Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <identite>
        <name>Zuxion-Blog</name>
        <pseudo>zuxion</pseudo>
        <pass>3311c6783001fd37f76cb57a5e3a056d</pass> <!-- zezet -->
        <email>zuxion@gmail.com</email>
        <avatar>http://www.url.com/avatar.jpg</avatar>
        <template>bluecolor</template>
        <nbrArticles>7</nbrArticles>
      </identite>

    Donc enfaite quand je veux me connecter ca me fais toujours comme si le pass était faux ...
    J'aimerais donc que ça marche ..

  2. #2
    Membre chevronné Avatar de papyphp
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    438
    Détails du profil
    Informations personnelles :
    Âge : 75
    Localisation : Belgique

    Informations professionnelles :
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 438
    Par défaut
    Salut,

    l'erreur vient de cette ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (isset($_POST['pseudo']) != NULL AND isset($_POST['pass']) != NULL)
    isset() renvoie un booléen qui par définition ne peut jamais être null

    tu dois donc tester l'existence de la variable par isset() ET tester le fait qu'elle contient une valeur correcte

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    77
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2006
    Messages : 77
    Par défaut
    J'ai toujours fais comme ça et ça a toujours bien marcher ...
    Donc l'erreur ne vient pas de là ...

    edit : j'ai quand me tester et bien ça ne marche tjrs pas ...

Discussions similaires

  1. [Kylix] [cgi] pb déploiement appli avec connexion MySQL [rés
    Par Nepomiachty Olivier dans le forum EDI
    Réponses: 3
    Dernier message: 06/08/2002, 21h09
  2. [CR 8.5][Web] demande de connexion récurrente.
    Par Edison dans le forum Connectivité
    Réponses: 4
    Dernier message: 09/07/2002, 18h48
  3. Réponses: 4
    Dernier message: 04/07/2002, 13h31
  4. Connexion ODBC
    Par Anonymous dans le forum Réseau
    Réponses: 2
    Dernier message: 23/04/2002, 13h10
  5. Je ne peux établir une connexion cliente sous Linux.
    Par Anonymous dans le forum CORBA
    Réponses: 5
    Dernier message: 16/04/2002, 16h57

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