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 :

Problème de variables de session dans mon serveur


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2012
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Avril 2012
    Messages : 19
    Points : 16
    Points
    16
    Par défaut Problème de variables de session dans mon serveur
    Bonjour les amis,

    J'ai un problème avec les variables de session quand je mets mon code dans un serveur web j'ai les erreurs suivantes:
    Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\wamp\www\Academie\Front-Office\haut_de_page.html:10) in C:\wamp\www\Academie\Front-Office\fonctions.php on line 53

    Warning: Cannot modify header information - headers already sent by (output started at C:\wamp\www\Academie\Front-Office\haut_de_page.html:10) in C:\wamp\www\Academie\Front-Office\fonctions.php on line 85

    alors qu'en localhost ca marche très bien.

    Voici mon fichier qui contient mes fonctions de validation d'une connexion et de démarrage d'une session que j'appelle dans la page menu_membre.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
     
    <?php
     
       //Fonction de connexion a la base de données
       function connexionBD()
       {
          $nom_serveur = "localhost";
          $utilisateur = "xxx";
          $mot_de_passe = "xxx";
          $base_de_donnees = "xxx";
     
          //Connexion au serveur
          mysql_connect($nom_serveur, $utilisateur, $mot_de_passe) or die("ECHEC CONNEXION AU SERVEUR !!!");
     
          //Sélection de la Base de données
          mysql_select_db($base_de_donnees) or die("ERREUR IMPOSSIBLE DE SE CONNECTER A LA BASE DE DONNEES !!!");
     
          mysql_query('SET NAMES utf8');
       }
     
       //Fonction de démarrage d'une session
       function demarrage()
       {
          session_start();
     
          if(!isset($_SESSION["id"]))
          echo"
             <script language='javascript'>
                alert('Veuillez vous connecter SVP...');
                document.location='../connexion.php';
             </script>
             ";
       }
     
       //Fonction de fermeture d'une session
       function fermeture()
       {
          session_start();
          session_destroy();
          echo"
             <script language='javascript'>
                alert('Au revoir!!!')
                document.location='../connexion.php';
             </script>";
       }
     
       //Fonction de vérification du login et du mot de passe
       function valid_connexion()
       {
          session_start();
     
          $login = $_POST['login'];
          $password = $_POST['password'];
     
          //Phase d'interrogation de la BD
          if(!(empty($login)) && !(empty($password)))
          {
             connexionBD();
             $requete = "SELECT * FROM users NATURAL JOIN profils WHERE user_nom='$login' and user_password='$password'";
             $resultat = mysql_query($requete) or die("Erreur execution requete:: $requete");
             $nb = mysql_num_rows($resultat); // Nombre de lignes retournées par la requete
             if($nb>0)// Utilisateur Authentifié...
             {
                echo"
                   <script type='text/javascript' language='javascript'>
                      var temp='CONNEXION REUSSIE! Vous allez être redirigé selon votre profil...'
                      alert(temp)
                   </script>";
     
                $user = mysql_fetch_array($resultat);
                $_SESSION["id"]=$user["user_code"];
                $_SESSION["login"]=$user["user_nom"];
                $_SESSION["mdp"]=$user["user_password"];
                $_SESSION["profil"]=$user["profil"];
     
                //Redirection selon le resultat
                if(($user['user_password']==$password) && ($user['user_nom']==$login) && ($user['profil']=="Administrateur"))
                {
                   header("Location: ../Back-Office/admin.php");
                }
                elseif (($user['user_password']==$password) && ($user['user_nom']==$login) && ($user['profil']=="Etudiant"))
                {
                   header("Location: Membres/index.php");
                }
             }
             else
             {
                include 'connexion.php';
                echo"
                   <script type='text/javascript' language='javascript'>
                      var temp='Votre login ou votre mot de passe est invalide!'
                      alert(temp)
                      document.location='connexion.php';
                   </script>";
             }
          }
          mysql_close();
       }
     
    ?>
    La page menu_membre:
    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
     
    <?php
       require '../fonctions.php';
       demarrage();
    ?>
    <!DOCTYPE html>
    <html lang="fr">
    <head>
        <meta charset="utf-8" />
        <meta name="robots" content="index, follow" />
        <meta name="generator" content="Sublime Text 2" />
        <title></title>
        <link rel="stylesheet" href="../Design/styles.css" type="text/css" media="screen" />
        <link rel="shortcut icon" href="../images/favicon.ico" type="image/x-icon" />                  
        <script type="text/javascript" src="../js/jquery.js"></script>
        <script type="text/javascript" src="../js/slider.js"></script>
        <script type="text/javascript" src="../js/superfish.js"></script>
        <script type="text/javascript" src="../js/custom.js"></script>
    </head>
     
    <body>
    <div id="container">
        <div id="header">
            <h1><strong><a href="index.php"><strong>Académie de Formation</strong></a></strong></h1>
            <div class="clear"></div>
        </div>
        <div id="nav">
            <ul class="sf-menu dropdown">
                <li class="selected"><a href="index.php">Accueil</a></li>
                <li><a href="academie.php">L'Académie</a></li>
                <li><a href="informations.php">Informations Générales</a></li>
                <li><a href="emplois_du_temps.php">Emplois du temps</a></li>
                <li><a href="resultats.php">Mon Bulletin</a></li>
                <li><a href="contact.php">Contact</a></li>
                <li><a href="deconnexion.php">Déconnexion</a></li>
            </ul>
        </div>
    Et dans mon fichier index.php je fais comme 1ere instruction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <?php 
       require 'menu_membre.php';
    ?>
    Merci de votre aide!

  2. #2
    Membre expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Points : 3 390
    Points
    3 390
    Par défaut
    Bonjour,

    Enléves les espaces avant les <?php, car ils sont considérés comme du html et d'ou ton message d'erreur ...
    Meuuh en AI à l'INRA
    Domaines: {java, php, js, jquery}{hibernate, doctrine}{MyLib, symfony, Zend}
    fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes (balise à cliquer en bas de l'écran)

  3. #3
    Membre à l'essai
    Inscrit en
    Avril 2012
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Avril 2012
    Messages : 19
    Points : 16
    Points
    16
    Par défaut
    J'ai enlevé les espaces avant toutes mes balises php et j'ai même réenregistré mes fichiers en utf-8 sans bom avec notepad++ mais j'ai toujours le même problème Fench.

  4. #4
    Membre habitué
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2009
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2009
    Messages : 116
    Points : 163
    Points
    163
    Par défaut
    Et si tu mettais ton session_start(); avant d'appeler ta fonction.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?php
       session_start();
       require '../fonctions.php';
       demarrage();
    ?>
    Si on n'ose pas poser des questions bêtes, on le restera.


    Une recherche Google résoudra bien 60% de vos problèmes.

  5. #5
    Membre à l'essai
    Inscrit en
    Avril 2012
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Avril 2012
    Messages : 19
    Points : 16
    Points
    16
    Par défaut
    Toujours les 2 mêmes erreurs Damien.

  6. #6
    Membre habitué
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2009
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2009
    Messages : 116
    Points : 163
    Points
    163
    Par défaut
    Tu dois supprimer tous les autres session_start de ton code source et en garder qu'un.
    Si on n'ose pas poser des questions bêtes, on le restera.


    Une recherche Google résoudra bien 60% de vos problèmes.

Discussions similaires

  1. Problème : variable non modifiée dans mon BSP-TREE!
    Par Invité dans le forum Langage
    Réponses: 1
    Dernier message: 06/11/2014, 14h37
  2. Réponses: 32
    Dernier message: 20/03/2006, 15h23
  3. Réponses: 8
    Dernier message: 06/02/2006, 17h38
  4. [Sécurité] variable de session dans url
    Par mussara dans le forum Langage
    Réponses: 2
    Dernier message: 07/01/2006, 23h53
  5. variables de session dans une popup
    Par erka dans le forum Langage
    Réponses: 7
    Dernier message: 26/11/2005, 20h29

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