bonjour

voila la gestion de l'acces à l'administration du site par la creation des sessions

j'ai ce 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
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
 
    <?
 
    class auth
    {
        var $user;
        var $passwd;
        var $page;
        var $name_session;
        var $redir_time;
 
       function auth() // Constructeur
       {
           $this->user = $_REQUEST["user"]; // Recupere le nom d'utilisateur courant
           $this->passwd = $_REQUEST["passwd"]; // Recupere le mot de passe courant
           $this->page = $_SERVER["PHP_SELF"]; // Recupere le nom de la page
           $this->name_session = "administration"; // Nom de la session
           $this->redir_time = 1500; // Temps de la redirection en ms
 
          session_start(); // Creer la session
           if (!$this->is_admin()) // Verifie si l'utilisateur est deja logger
           {
               if ($_REQUEST["auth"] <> 1) // Verifie si le formulaire doit etre validé
               {
                   // Formulaire
                   echo "<form action='$this->page?auth=1' method=post>
                   <b>Nom d'utilisateur : <input type=text maxlength=30 name=user>
                   <p>Mot de passe : <input type=password maxlength=12 name=passwd>
                   <p><input type=submit value=Valider></form>";
 
                   die(); // Arrete le chargement de la page
               }
               else // Validation du formulaire
               {
                   $this->valid_auth();
               }
           }
       }
 
       function valid_auth()
       {    
 
           if($this->user != "" and $this->passwd != "") // Verifie que les champs ne sont pas vides
           {
               $this->passwd = md5($this->passwd); // Crypte le mot de passe
               $result = mysql_query("SELECT passwd FROM comptes WHERE user='$this->user'"); // Selectionne le mot de passe suivant le login
               $row = mysql_fetch_array($result);
               $vpasswd = $row["passwd"];
               if($vpasswd == $this->passwd) // Verifie si le mot de passe est correct
               {
                   $admin = base6_encode("$this->user:$this->passwd"); // Encode les informations
                   $_SESSION["$this->name_session"] = $admin;
                   header("location: $this->page"); // Recharge la page
               }
               else // Si le mot de passe est incorrect
               {
                   echo "<script> setTimeout(\"window.location=\'$this->page\';\", $this->redir_time); </script>"; // Redirige apres 1.50 sec
                   echo "Identifiants invalides...";
               }
           }
           else // Si un ou les champs sont vides
           {
               echo "<script> setTimeout(\"window.location=\'$this->page\';\", $this->redir_time); </script>";
               echo "Les champs sont vides...";
           }
           die(); // Arrete le chargement de la page
       }
 
       function is_admin()
       {
 
           $admin = $_SESSION["$this->name_session"];
           $admin = base64_decode($admin); // Decode les informations
           $admin = explode(":", $admin); // Separe le mot de passe du login
           $user = $admin[0]; // Login
           $passwd = $admin[1]; // Mot de passe
 
           if ($user != "" and $passwd != "") { // Verifie que les informations du cookie ne sont pas vides
               $query = mysql_query("SELECT passwd FROM comptes WHERE user='$user'"); // Selectionne le mot de passe suivant le login
               $row = mysql_fetch_array($query);
               $vpasswd = $row["passwd"];
               if($vpasswd == $passwd && $vpasswd != "") { // Verifie que le mot de passe est correct et qu'il n'est pas vide
                   return 1; // Retourne 1, l'utilisateur est deja logger
               }
           }
           return 0; // Retourne 1, l'utilisateur n'est pas logger
       }
 
       function delog()
       {
           session_unset(); // Detruit la session
           header("location: $this->page"); // Recharge la page
       }
 
      function get_name()
       {
         $admin = $_SESSION["$this->name_session"];
         $admin = base64_decode($admin); // Decode le cookie
         $admin = explode(":", $admin); // Separe le mot de passe du login
         $user = $admin[0]; // Login
         echo $user; // Affiche le login
     }
 }
 
 $admin= new auth;
 
 ?>
lors de son execution le navigatuer me retourne ce message d' erreur
Cannot send session cookie - headers already sent by (output started at d:\labs\codes_sources\authentification.php:2)