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 :

Utilisation de sessions


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Homme Profil pro
    Etude technique THT
    Inscrit en
    Juillet 2012
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Etude technique THT
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Juillet 2012
    Messages : 84
    Par défaut Utilisation de sessions
    Bonjour,

    Afin de me familiariser avec l'utilisation de sessions j'ai créé un fichier page1.php et un fichier page2.php.
    Dans le fichier page1.php, définition d’une session et affichage de celle-ci comme suivant :

    page1.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
     
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
     
    <html>
    <head>
        <meta http-equiv="content-type" content="text/html; charset=utf-8" />
        <meta name="author" content="" />
        <meta name="copyright" content="" />
        <meta name="description" content="">
        <meta name="keywords" content="" />
     
        <title>CESSION page 1</title>
     
    </head>
     
     
    <body>
     <?php
     
    session_start();
     
    echo 'Page numéro 1    ' . '</br>    ';
     
    $_SESSION['favcolor'] = 'vert';
     
    echo $_SESSION['favcolor'];
     
     
    echo '<br /><a href="page2.php?' . SID . '">page 2</a>';
     
     
    ?>
     
    </body>
    </html>
    Dans la page2.php affichage de la session prédéfinie dans la page1.php comme suivant :

    page2.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
     
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
     
    <html>
    <head>
        <meta http-equiv="content-type" content="text/html; charset=utf-8" />
        <meta name="author" content="" />
        <meta name="copyright" content="" />
        <meta name="description" content="">	
        <meta name="keywords" content="" />
        <title>CESSION page 2</title>
     
    </head>
     
     
    <body>
     <?php
     
    session_start();
     
    echo 'Page numéro 2    ' . '</br>    ';
     
    echo 'Couleur : ' . $_SESSION['favcolor'];
     
    echo '<br /><a href="page1.php?' . SID . '">page 1</a>';
     
    ?>
     
    </body>
    </html>
    Le problème $_SESSION['favcolor'] dans la page2.php ne s’affiche pas. Auriez-vous une idée ?
    Cordialement.

  2. #2
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Aucun message d'erreur ? Normalement, session_start doit être appelé au tout début du script, et surtout avant le code HTML.
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  3. #3
    Membre éprouvé
    Homme Profil pro
    Etude technique THT
    Inscrit en
    Juillet 2012
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Etude technique THT
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Juillet 2012
    Messages : 84
    Par défaut Re session_start
    Bonjour Celira,

    Merci pour votre réponse.

    Non il ni à aucun message d’erreur.
    J’ai placé session_start au début du script dans les pages 1 et 2, mais cela ne fonctionne toujours pas.

    Emplacement dans le 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
     
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
    <?php session_start(); ?>
     
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
     
    <html>
     
    <head>
        <meta http-equiv="content-type" content="text/html; charset=utf-8" />
        <!-- <meta charset="utf-8"> -->
    	<meta name="author" content="" />
    	<meta name="copyright" content="Le contenu de ce site est protégé par les droits d'auteur." />
        <meta name="description" content="Description complete (pas trop long)"> <!-- Uniquement dans la page index -->	
    	<meta name="keywords" content="" />
    	<title>CESSION page 1</title>
     
     
     
    </head>
    Puis déplacer après la balise <html> aucun résultat, ensuite positionner avant la fermeture du <head> mais $_SESSION['favcolor'] ne s’affiche toujours pas dans la page2.php.

    A savoir qu’elle s’affiche bien dans la page1.php dans tous les cas de figure cités précédemment.

    Pourriez-vous me spécifier l’emplacement où doit-être positionner session_start dans mon code ?

  4. #4
    Membre éprouvé
    Homme Profil pro
    Etude technique THT
    Inscrit en
    Juillet 2012
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Etude technique THT
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Juillet 2012
    Messages : 84
    Par défaut Complément d’information
    Autre position :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <?php session_start(); ?>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
     
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
     
    <html>
    Cela ne fonctionne toujours pas avec la page2.php!

  5. #5
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    • session_start() doit être sur la toute première ligne du code.
    • le doctype est obsolète,
    • il ne faut qu'une seule balise <html>





    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?php  // PAS d'ESPACE AVANT !
    if( session_id()=='' ){ session_start(); }
    header('Content-type:text/html; charset=UTF-8');	// encodage UTF-8
     
    // ici, on peut effectuer des traitements PHP
    // .........
    ?>
    <!DOCTYPE HTML>
    <html>
     <head>
    	<meta charset="utf-8" />
    ...

  6. #6
    Membre éprouvé
    Homme Profil pro
    Etude technique THT
    Inscrit en
    Juillet 2012
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Etude technique THT
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Juillet 2012
    Messages : 84
    Par défaut
    Bonjour jreaux62,

    Tout d’abord merci pour votre réponse.
    J’ai appliqué les corrections sur les pages 1 et 2 mais $_SESSION['favcolor'] ne s’affiche toujours pas avec la page2.php.

    Voici mon code pour les pages 1 et 2:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <?php if( session_id()=='' ){ session_start(); }
    header('Content-type:text/html; charset=UTF-8');
    ?>
     
    <!DOCTYPE HTML>
     
    <html>
     
    <head>
        <!-- <meta http-equiv="content-type" content="text/html; charset=utf-8" /> -->
        <meta charset="utf-8">
    Cordialement.

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 22/09/2005, 10h21
  2. Réponses: 5
    Dernier message: 22/08/2005, 16h48
  3. Utilisation de [Session] et de [BDD]
    Par Alexr dans le forum JDBC
    Réponses: 1
    Dernier message: 21/06/2005, 14h09
  4. [VB.NET] Utilisation des sessions dans Session_End ?
    Par San Soussy dans le forum ASP.NET
    Réponses: 2
    Dernier message: 02/02/2005, 16h40
  5. [JSP] Utilisation de session
    Par samios dans le forum Servlets/JSP
    Réponses: 7
    Dernier message: 02/11/2004, 11h17

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