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 :

session_start()


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 106
    Points : 37
    Points
    37
    Par défaut session_start()
    bonjour a tous et bonne année!

    comment peut on savoir si une session est bien ouverte ou non?

    merci d'avance

  2. #2
    Membre éclairé Avatar de nako
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2003
    Messages
    577
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2003
    Messages : 577
    Points : 663
    Points
    663

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 106
    Points : 37
    Points
    37
    Par défaut
    merci pour ton aide!

    j'ai un autre soucis!
    je vois sur tous les site que l'ouverture de session se fait par
    session_start(), et moi chez mon hebergeur quand je le met dans mon script il me met un message d'erreur! "Internal Server Error"!

    je voudrais savoir si session_start() est indispensable ou non?

    merci

  4. #4
    Membre éclairé Avatar de nako
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2003
    Messages
    577
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2003
    Messages : 577
    Points : 663
    Points
    663
    Par défaut
    Fais tu bien ton session_start avant d'afficher quoi que ce soit ? (y compris les entetes)

    Sinon, regarde la doc de ton hébergeur, ou demande lui, il a peut-être mis en place quelque chose de spécial.
    Chez free, par exemple, il faut avoir un répertoire nommé sessions à la racine de ton site.
    a+

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 106
    Points : 37
    Points
    37
    Par défaut
    oui chez mon hebergeur aussi mais j'arrive pas comprendre comment ca marche!!
    je crée le repertoir a la racine et je dois mettre quoi dedans?

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 106
    Points : 37
    Points
    37
    Par défaut
    ya une documenttion mais je n'y comprend pas grand chose!
    peux tu jeter un coup d'oeil?

    voici l'adresse : http://online.net/support/fr/doc/php4/php4_sessions.html

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

    Informations professionnelles :
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 438
    Points : 587
    Points
    587
    Par défaut
    salut,


    Pour que vos sessions 'fichiers' (mode par défaut) fonctionnent, vous devez créer un répertoire "sessions" (en minuscules sans les guillemets) à la racine de votre site Web (ou du cas échéant, de votre site Web secondaire). Sinon un message d'erreur vous signalant l'impossibilite de sauvegarder les sessions apparaitra.
    Il semble donc qu'il suffit que ce répertoire soit créé pour que ça fonctionne.

    Avant toute chose, il faut se connecter en ftp et créer le repertoire "sessions" (en minuscules sans les guillemets) à la racine de votre site Web
    Pour tester ils proposent un petit exemple :

    Créez un fichier "start.php" (attention a l'extension .php) contenant :

    <?
    session_start();
    session_register ("count");
    $count = 42;
    ?>
    On enregistre <? echo $count; ?> >BR>
    Pour aller a la page suivante, <A HREF="nextpage.php">cliquez ici</A>

    _ Créez un fichier "nextpage.php" contenant :

    <?
    session_start();
    session_register("count");
    echo "La valeur précédente de count etait " . $count ."<br>";
    ?>

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 106
    Points : 37
    Points
    37
    Par défaut
    oui je sais mais en faite c'est mon script que je dois mettre dans le repertoir session?

    je vous donne mon script :

    session.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
     
     
    <?php
     
     
     
           //recuperation de la donnée
           $login = $_POST['login'];
     
     
     
    // On se connect à notre serveur Sql
    include('connexion.php');
     
    // On selectionne quand le champs login correspond au login entré
    // et le champs passe au pass entré.
    $sql = "SELECT * FROM connexion WHERE login='".$login."' and mdp='".$mdp."'";
     
    // On execute la requête de selection
    $res = mysql_query($sql);
     
    // On compte le nombre de ligne des resultats
    // 1 : si valide 0 si aucun login ne correspond
    $nbrres = mysql_num_rows($res);
     
     
    	// Si la variable $nbrres = 0 --> login innbrresant ou faux pass
    if($nbrres!=1)
    {
     
     
     
     
                 // On affiche ce message d'erreur
        echo "<font color=\"#DD0000\"><center>Veuillez vérifier vos données</center></font>";
     
        // On inclut le formulaire d'identification
        include("verification.php");
     
    }
    else
    {
                    include ('header.php');
    }
     
    ?>
    header.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
     
     
    <?php
     
     
     
                // On selectionne quand le champs login correspond au login entré
     
                $sql1 = "SELECT * FROM connexion WHERE login='".$login."'";
     
     
     
                // On execute la requête de selection
                $req = mysql_query($sql1);
     
               // On compte le nombre de ligne des resultats
               // 1 : si valide 0 si aucun login ne correspond
               $res1 =  mysql_fetch_array($req);
     
     
     
     
               if($res1['categorie']=='administrateur')
     
     
                     {
     
                  // initialiser la session
                  session_unset();
                  // enregistrer les informations sur l'utilisateur, sauf son mot de passe
                  unset($res1['login']);
                  $_SESSION = $res1;
     
                             header('location: index2.php');
                      }
     
     
     
     
           else
           {
                  if($res1['categorie']=='importateur');
               {
                    // initialiser la session
                  session_unset();
                  // enregistrer les informations sur l'utilisateur, sauf son mot de passe
                  unset($res1['login']);
                  $_SESSION = $res1;
     
                  header('location: index3.php');
               }
           }
    ?>
    merci

  9. #9
    Membre averti Avatar de gofono_bass
    Inscrit en
    Décembre 2005
    Messages
    383
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Décembre 2005
    Messages : 383
    Points : 448
    Points
    448
    Par défaut
    non tu mets rien, c'est le repertoire ou vont etre stockés les fichiers des sessions c tout.

  10. #10
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 106
    Points : 37
    Points
    37
    Par défaut
    ok
    mais la dans mon script il n'ya pas de session_start()! il faut que je le rajoute et ca va marcher?

  11. #11
    Membre averti Avatar de gofono_bass
    Inscrit en
    Décembre 2005
    Messages
    383
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Décembre 2005
    Messages : 383
    Points : 448
    Points
    448
    Par défaut
    oui voila, il faut rajouter le session_start(); et au debut, avant toute instruction d'affichage.
    Enfin, j'ai pas lu ton code et je sais pas ce que tu veux faire, mais en tout cas, c'est le prioncipe de base des sessions.

  12. #12
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 106
    Points : 37
    Points
    37
    Par défaut
    ok
    ca la énieme fois que j'essaye je mets le session_start a tous les endroits possible et imaginable sur mon script mais ca ne fonctionne pas il me donne tjrs le meme message d'erreur qui est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     
    Internal Server Error
    The server encountered an internal error or misconfiguration and was unable to complete your request.
    Please contact the server administrator, php2-m@invalid and inform them of the time the error occurred, and anything you might have done that may have caused the error.
     
    More information about this error may be available in the server error log.

  13. #13
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    Citation Envoyé par corsamobile
    oui je sais mais en faite c'est mon script que je dois mettre dans le repertoir session?
    Je sais pas si c'est du à ton manque de rigueur quand tu écris tes messages, mais ton répertoire sessions doit être au pluriel !

  14. #14
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 106
    Points : 37
    Points
    37
    Par défaut
    oui c'etait ca!
    mais comment savais tu?
    tu es voyant

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

Discussions similaires

  1. session_start() + frame = ?
    Par dev7 dans le forum Langage
    Réponses: 4
    Dernier message: 20/12/2005, 11h44
  2. problème avec session_start()
    Par hanane_iaai dans le forum Langage
    Réponses: 1
    Dernier message: 12/12/2005, 17h46
  3. Problème de session_start
    Par BARBIER dans le forum Langage
    Réponses: 18
    Dernier message: 08/12/2005, 14h29
  4. header('Location:$url') VS session_start()
    Par Paniez dans le forum Langage
    Réponses: 2
    Dernier message: 02/12/2005, 22h30
  5. [Sécurité] utilisation de session_start()
    Par ibtisss dans le forum Langage
    Réponses: 3
    Dernier message: 23/09/2005, 18h40

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