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

PHP & Base de données Discussion :

Module de Connexion


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité1
    Invité(e)
    Par défaut Module de Connexion
    Bonsoir,
    j'ai installé il y a peu un système d'espace membre, l'inscription fonctionne mais lorsque je souhaite me connecter j'ai plusieurs erreurs qui apparaissent :

    Warning: Cannot modify header information - headers already sent by (output started at /mnt/102/sda/6/a/.../connexion.php:11) in /mnt/102/sda/6/a/.../contenu_connexion.php on line 84

    Warning: Cannot modify header information - headers already sent by (output started at /mnt/102/sda/6/a/.../connexion.php:11) in /mnt/102/sda/6/a/.../contenu_connexion.php on line 85

    Warning: Cannot modify header information - headers already sent by (output started at /mnt/102/sda/6/a/.../connexion.php:11) in /mnt/102/sda/6/a/.../contenu_connexion.php on line 91

    Voici mon script de connexion en 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
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    <?
     
    // Redirige l'utilisateur s'il est déjà identifié
    if(isset($_COOKIE["ID_UTILISATEUR"]))
    {
         header("Location: index.php");
    }
    else
    {
     
         // Formulaire visible par défaut
         $masquer_formulaire = false;
     
         // Une fois le formulaire envoyé
         if(isset($_POST["BT_Envoyer"]))
         {
     
              // Vérification de la validité des champs
              if(!ereg("^[A-Za-z0-9_]{2,20}$", $_POST["TB_Nom_Utilisateur"]))
              {
                   $message = "Votre nom d'utilisateur doit comporter entre 2 et 20 caractères<br />\n";
                   $message .= "L'utilisation de l'underscore est autorisée";
              }
              elseif(!ereg("^[A-Za-z0-9]{6,}$", $_POST["TB_Mot_de_Passe"]))
              {
                   $message = "Votre mot de passe doit comporter au moins 6 caractères";
              }
              else
              {
     
                   // Connexion à la base de données
                   // Valeurs à modifier selon vos paramètres configuration
                   mysql_connect("localhost", "root", "******");
                   mysql_select_db("******");
     
                   // Sélection de l'utilisateur concerné
                   $result = mysql_query("
                        SELECT ID_Utilisateur, Nom_Utilisateur, Mot_de_Passe, Compte_Active
                        FROM Comptes_Utilisateurs
                        WHERE Nom_Utilisateur = '" . $_POST["TB_Nom_Utilisateur"] . "'
                   ");
     
                   // Si une erreur survient
                   if(!$result)
                   {
                        $message = "Une erreur est survenue lors de la tentative de connexion";
                   }
                   else
                   {
     
                        // Si aucun utilisateur n'a été trouvé
                        if(mysql_num_rows($result) == 0)
                        {
                             $message = "Le nom d'utilisateur " . $_POST["TB_Nom_Utilisateur"] . " n'existe pas";
                        }
                        else
                        {
     
                             // Récupération des données
                             $row = mysql_fetch_array($result);
     
                             // Si le compte n'a pas été activé
                             if($row["Compte_Active"] == 0)
                             {
                                  $message = "Votre compte utilisateur n'a pas été activé";
                             }
                             else
                             {
     
                                  // Vérification du mot de passe
                                  if(md5($_POST["TB_Mot_de_Passe"]) != $row["Mot_de_Passe"])
                                  {
                                       $message = "Votre mot de passe est incorrect";
                                  }
                                  else
                                  {
     
                                       // Définition du temps d'expiration des cookies
                                       $expiration =
                                            empty($_POST["CB_Connexion_Automatique"]) ? 0 : time() + 90 * 24 * 60 * 60;
     
                                       // Création des cookies
                                       setcookie("ID_UTILISATEUR", $row["ID_Utilisateur"], $expiration, "/");
                                       setcookie("NOM_UTILISATEUR", $row["Nom_Utilisateur"], $expiration, "/");
     
                                       // Fermeture de la connexion à la base de données
                                       mysql_close();
     
                                       // Redirection de l'utilisateur
                                       header("Location: index.php");
     
                                  }
     
                             }
     
     
     
                        }
     
                   }
     
                   // Fermeture de la connexion à la base de données
                   mysql_close();
     
              }
     
         }
     
    }
     
    ?>
     
    <? if(isset($message)) { ?>
         <p><?= $message; ?></p>
    <? } if($masquer_formulaire != true) { ?>
    <form action="http://<?= $_SERVER["SERVER_NAME"] . $_SERVER["SCRIPT_NAME"]; ?>" method="post">
         <p>
              Nom d'utilisateur : <input type="text" name="TB_Nom_Utilisateur" />
         </p>
         <p>
              Mot de passe : <input type="password" name="TB_Mot_de_Passe" />
         </p>
         <p>
              <input type="checkbox" name="CB_Connexion_Automatique" />
              Se connecter automatiquement à chaque visite
         </p>
         <p>
              <input type="submit" name="BT_Envoyer" value="Envoyer" />
         </p>
    </form>
    <? } ?>
    Si quelqu'un pouvait m'aider je lui serais reconnaissant =)

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Février 2004
    Messages
    496
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2004
    Messages : 496
    Par défaut
    Salut,

    rien ne doit être affiché à l'écran lors de l'appel à la fonction header (FAQ)

  3. #3
    Invité1
    Invité(e)
    Par défaut
    Merci pour ta réponse, mais perso je suis complètement perdu. . . =(

  4. #4
    Invité1
    Invité(e)
    Par défaut
    Helpppp !
    Si quelqu'un a une explication plus longue et simplifiée je suis preneur ! =P

Discussions similaires

  1. [AC-2007] Creer un module de connexion à SQLServer
    Par Peper89 dans le forum VBA Access
    Réponses: 1
    Dernier message: 13/09/2010, 17h19
  2. [PHP 5.0] Module et connexion, un petit souci
    Par nono662 dans le forum Langage
    Réponses: 6
    Dernier message: 20/02/2010, 01h14
  3. [Joomla!] Problème traduction en francais du module de connexion CB
    Par filiplarlibe dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 3
    Dernier message: 25/05/2009, 14h56
  4. module de connexion client serveur
    Par atifo dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 18/06/2008, 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