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 des sessions


Sujet :

Langage PHP

  1. #1
    Membre confirmé
    Inscrit en
    Juin 2010
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 112
    Par défaut Utilisation des sessions
    Salut tout le monde
    Mon probleme est le suivant
    mon fichier session.php ne sauvegarde pas les donées que je choisis par exemple le style , le systeme Horaire GMT etc
    voala mon code du fichier 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
    if (!empty($ch) && $ch == "style"){
     $style_name = $HTTP_POST_VARS["style_name"];
     $_SESSION['DF_choose_style'] = $style_name;
     head('index.php');
    }
    $load_choose_style = $_SESSION['DF_choose_style'];
     
    if (!empty($load_choose_style)){
    $choose_style = $load_choose_style;
    }
    else {
    $choose_style = $default_style;
    }
    ce code pour sauver le style mais ça marche pas

    celui du systeme horaire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    //##################  save timezone #######################################
    $timezone = $HTTP_POST_VARS["timezone"];
    if ($tz != "") {
        $_SESSION['DF_timezone'] = $timezone;
        head("index.php");
    }
    $load_timezone =$_SESSION['DF_timezone'];
    if ($load_timezone == "") {
        $load_timezone = $site_timezone;
    }
    $chk_timezone = $load_timezone * 3600;
    //##################  save timezone #######################################
    Cookies
    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
    ob_start (  'ob_gzhandler'  );
    session_start();
    ob_start();
        $user_name = trim($HTTP_POST_VARS['user_name']);
        $user_pass = trim($HTTP_POST_VARS['user_pass']);
                      $save_password  = $HTTP_POST_VARS['SavePassword'];
        if (method == "login"){
            $_SESSION['DFName'] = $user_name;
            $_SESSION['DFPass'] = $user_pass;
            $_SESSION['DFSavePass'] = $save_password;
        }
        if (method == "logout"){
            $_SESSION['DFName'] = '';
            $_SESSION['DFPass'] = '';
            $_SESSION['DFSavePass'] = "";
            setcookie("uname", "", time()-0);
            setcookie("upss", "", time()-0);
            head('index.php');
        }
    mais aussi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
                                        if($_SESSION['DFSavePass'] == "true"){
    setcookie("uname" ,$DBUserName, time()+60*60*24*100); 
    setcookie("upss" ,$DBPassword, time()+60*60*24*100);
                          }elseif($_SESSION['DFSavePass'] == "false"){
                          $DonT_Save = " * Login temporaire";
                          }else{
                          $DonT_Save = "";
                          }

  2. #2
    Membre Expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Par défaut
    Salut

    Je vois nulle part un session_start() qui sert justement à démarrer la session ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    if (!empty($ch) && $ch == "style"){
     $style_name = $HTTP_POST_VARS["style_name"];
     $_SESSION['DF_choose_style'] = $style_name;
    }
    Tu exploite une variable $ch, on ne sait pas d'où elle sort, comment elle est créé.
    En tout cas, si elle n'est pas créé et qu'elle n'a pas comme valeur "style", la variable de session "DF_choose_style" ne sera jamais créé.
    Faudrait en dire plus la dessus, ou faire un minimum de débbuggege (des echo sur certaines variable)

    Puis faudrait actualiser ton code, car les $HTTP_POST_VARS ça date depuis l'antiquité.
    C'est $_ POST
    D'ailleurs, tu utilise bien $_SESSION, alors qu'à cette époque s'était $HTTP_SESSION_VARS


    Pour le timezone, as tu défini quelque chose dans le php.ini (ou ini_set) la directive : date.timezone ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    setcookie("uname", "", time()-0);
    setcookie("upss", "", time()-0);
    Crois tu qu'il est utile de faire une soustraction avec 0 ?

  3. #3
    Membre confirmé
    Inscrit en
    Juin 2010
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 112
    Par défaut
    Tes Remarques sont pertinentes ! chapeau cher ami
    tu vois je suis un debutant en php et je travaille sur un script ! Bof je l'édite quoi
    il est tres ancien mais à mon style
    je voudrais demander une question avant de trainer dans la discussion
    je travaille sous un localhost
    session_start() a t-elle un sens ?

    t'inquiete ça veut pas dir que je l'ai pas utilisé mais ; voila son utilisation :
    dans mon fichier header :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ob_start (  'ob_gzhandler'  );
    session_start();
    ob_start();
    c'est dans mon fichier header
    mais dans le fichier header il y'a un certain :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    require_once("session.php");
    ou il ya les codes des timezone et tt
    Alors je vais essayer d'actualiser mes codes $_POST et tout ça et je verrai encore une fois ^^ Merci de votre patience

  4. #4
    Membre confirmé
    Inscrit en
    Juin 2010
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 112
    Par défaut
    j'ai fait une actualisation de mes codes
    Mais çela n'a pas reglé le bleme
    De plus il y'a un certain Auto logout quand je ferme la fenetre et c'est indesirable
    pour le $ch que vous avez demandé voila son identité :

  5. #5
    Membre Expert
    Avatar de Eric2a
    Homme Profil pro
    Technicien
    Inscrit en
    Septembre 2005
    Messages
    1 225
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Technicien

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 225
    Par défaut
    Salut,

    ch devrait se trouver entre apostrophes (ou guillemets)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $ch = trim($_GET['ch']);
    à moins qu'il corresponde à une constante - ex. define('ch', 'quelquechose'); -

    Concernant cette ligne
    head est elle une fonction contenant le code ci-dessous ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    header('Location : index.php');
    header est la fonction qui envoie un en-tête HTTP (la redirection dans ton cas).

    Si tu n'as pas défini de constante et/ou que la fonction "head" n'existe pas, nous devrions avoir une erreur d'execution.

    Peut-être aurais-tu le rapport d'erreurs désactivé ?
    Si cette ligne est effectivement présente dans le code, il est nécessaire (le temps du développement) de reporter toutes les erreurs PHP.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    error_reporting(E_ALL);
    voir error_reporting qui fixe le niveau de rapport d'erreurs PHP.

  6. #6
    Membre confirmé
    Inscrit en
    Juin 2010
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 112
    Par défaut
    Je vais Corriger la Ch et la mettre entre quotes
    + Dans le mille Head est la fonction que t'a decrite
    Euh Pas besoin des rapports D'erreur ! j'en ai 50 Mo dans un log et ç'est frustrant comme même !!

  7. #7
    Membre confirmé
    Inscrit en
    Juin 2010
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 112
    Par défaut
    J'ai mis le 'Ch' mais sans resultats
    je me demande ! est ce que le serveur local sauvegarde les sessions ?
    parceque quand je ferme l'explorateur
    c'est comme si la session se detruit

  8. #8
    Membre expérimenté

    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    191
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 191
    Par défaut
    Citation Envoyé par AyManoVic Voir le message
    J'ai mis le 'Ch' mais sans resultats
    je me demande ! est ce que le serveur local sauvegarde les sessions ?
    parceque quand je ferme l'explorateur
    c'est comme si la session se detruit
    ceci est normal, quand on ferme un navigateur la session change

Discussions similaires

  1. utilisation des sessions dans les jsp
    Par casho dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 16/08/2006, 20h45
  2. [FPDF] fpdf et utilisation des sessions
    Par kagura dans le forum Bibliothèques et frameworks
    Réponses: 9
    Dernier message: 11/05/2006, 19h46
  3. incompréhension sur l'utilisation des sessions
    Par cladsam dans le forum Langage
    Réponses: 12
    Dernier message: 31/01/2006, 13h28
  4. Réponses: 5
    Dernier message: 22/08/2005, 17h48
  5. [VB.NET] Utilisation des sessions dans Session_End ?
    Par San Soussy dans le forum ASP.NET
    Réponses: 2
    Dernier message: 02/02/2005, 17h40

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