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 :

Comment garder une variable en mémoire...


Sujet :

Langage PHP

  1. #1
    Membre averti
    Inscrit en
    Mars 2004
    Messages
    1 907
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 1 907
    Points : 411
    Points
    411
    Par défaut Comment garder une variable en mémoire...
    je souhaite garder une variable en mémoire : $totalttc

    j'utilise donc le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    [FONT=Courier New]$totalttc = $_SESSION['var2']; [/FONT]
    le problème c'est que j'ai le mesage d'erreur suivant :
    Notice: Undefined index: var2 in c:\program files\easyphp1-7\www\lldiffusion_new\pannier_ajout.php on line 485

    pouvez-vous m'indiquer ce qui ne va pas?

    merci d'avance

  2. #2
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    et pour
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $_SESSION['var2'] = $totalttc;
    ?
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag (en bas)

  3. #3
    Membre éprouvé Avatar de FCYPBA
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    745
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 745
    Points : 952
    Points
    952
    Par défaut
    Le message d'erreur t'indique que l'index var2 n'est pas présent dans le tableau $_SESSION

    Swoög t'as donné la solution a ton problème.
    Pierre
    1. Dans le manuel ( PHP, MySQL,..., rayez la mention inutile), tu te plongeras à deux fois plutôt qu'aucune.
    2. Dans la doc php, tu liras attentivement les sections Chaines de caractères, Tableaux et Système de fichiers
    3. Un code rapide c'est bien, un code maintenable c'est mieux
    ...

    Why was the font tag an orphan ? Because it didn't have a font-family.

  4. #4
    Membre averti
    Inscrit en
    Mars 2004
    Messages
    1 907
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 1 907
    Points : 411
    Points
    411
    Par défaut
    j'ai bien tenté de cette façon mais j'ai toujours la même erreure...

  5. #5
    Membre émérite
    Avatar de yiannis
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 494
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 494
    Points : 2 791
    Points
    2 791
    Par défaut
    bonjour,

    ce n'est pas un message d'erreur mais un Notice.
    essaie cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if (isset($_SESSION['var2']) { $_SESSION['var2'] = $totalttc; }
    "Ce besoin de remords qui précède le Mal, que dis-je ! qui le crée..." E. CIORAN

  6. #6
    Membre averti Avatar de XtofRoland
    Profil pro
    Inscrit en
    Août 2005
    Messages
    357
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2005
    Messages : 357
    Points : 392
    Points
    392
    Par défaut
    ou
    $_SESSION['var2'] = (isset( $ttc))? $ttc: "";
    Le but de tout developpeur OO est de devenir une référence.
    Mon avatar est un ambigramme, les curieux peuvent le retourner ;-)
    Aider <> Faire a la place de!!!

  7. #7
    Membre averti
    Inscrit en
    Mars 2004
    Messages
    1 907
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 1 907
    Points : 411
    Points
    411
    Par défaut
    Ta méthode Xtofroland à l'air de focntionner mais dès que je change de page et que je code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <? session_start(); 
     
    echo $_session['var2'];
     
    ?>
    afin de récupérer ma variable dans une autre page

    cela ne m'affiche rien du tout???

  8. #8
    Membre éclairé Avatar de Yobs
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    675
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2004
    Messages : 675
    Points : 846
    Points
    846
    Par défaut
    Je constate que tu as écris $_session au lieu de $_SESSION, est-ce une erreur ou juste une paresse d'écriture?
    Chaque problème a une solution, mais il est plus facile de répondre si le problème est correctement renseignés

  9. #9
    Membre averti
    Inscrit en
    Mars 2004
    Messages
    1 907
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 1 907
    Points : 411
    Points
    411
    Par défaut
    non, c'est bien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    echo $_SESSION['var2']
    que j'ai mis, c'est pour ça que je ne comprends plus ce qui se passe.

    mon but est de mettre cette variable en session dans la page1
    l'envoyer dans la page2 et revenir enfin en page1 et récupérer cette valeur.

  10. #10
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    je crois que ça vient d'un problème de session_id qui ne serait pas transmis, fait un sur les pages juste après le , et essaie de voir si le sid est bien le même...
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag (en bas)

  11. #11
    Membre averti
    Inscrit en
    Mars 2004
    Messages
    1 907
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 1 907
    Points : 411
    Points
    411
    Par défaut
    je viens de remarquer une chose,

    quand je passe d'une page à une autre par un lien, ça marche.
    Mais ma session se pert dès que je clique sur le bouton POST (valider).
    Au fait quand je clique sur ce bouton, je recharge ma page courante, et ensuite je fais une redirection automatique vers la page de connection.
    Et là je ne retrouve plus la valeur de ma session...

  12. #12
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    ça vient de la redirection je pense (si les sid se baladent dans l'URL, cherche pas plus loin, ça vient de là)

    il faut rajouter session_name().'='.session_id() au bout de tes urls dans la redirection
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag (en bas)

  13. #13
    Membre averti
    Inscrit en
    Mars 2004
    Messages
    1 907
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 1 907
    Points : 411
    Points
    411
    Par défaut
    j'ai bien fait fait ce que tu m'as indiqué mais j'ai toujours le même problème...
    je perds la valeur de ma session.
    voici mon code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
     
    if (isset($_POST['Submit']))
             {
     
              // Si la variable $login_session n'est pas déclaré 
              if(!isset($_SESSION["pseudo"]))
              {
               echo '<script language="javascript">';
               echo "window.location = 'connection.php?".session_name()."=".session_id()."&pro=ajout'";
               echo '</script>';
              }
    je ne sais plus quoi faire...

  14. #14
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    deux petites choses :
    pourquoi utiliser une redirection JS au lieu de header('Location: '...) ?

    est-ce que tu fais bien un session_start() dans la pge où tu fais la redirection (sinon le resultat de session_name() et session_id() n'est pas sûr je crois)
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag (en bas)

  15. #15
    Membre éclairé Avatar de Yobs
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    675
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2004
    Messages : 675
    Points : 846
    Points
    846
    Par défaut
    Apparament, le problème vient de l'utilisation de ta session.

    De manière générale, tu dois placer session_start() au début de toutes tes pages où tu souhaites conserver tes variables.

    Pour que l'on puisse mieux t'aider, montre nous ton code.
    Chaque problème a une solution, mais il est plus facile de répondre si le problème est correctement renseignés

  16. #16
    Membre régulier
    Profil pro
    Inscrit en
    Février 2006
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2006
    Messages : 104
    Points : 100
    Points
    100
    Par défaut
    Petite question ça te fait ça sous internet explorer et / ou firefox (ou autre) ? car j'ai aussi ce probs (peut-être du au POST j'y avait pas pensé) mais uniquement sous IE

  17. #17
    Membre averti
    Inscrit en
    Mars 2004
    Messages
    1 907
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 1 907
    Points : 411
    Points
    411
    Par défaut
    précédemment, je dis que ça marche quand j'utilise un simple lien.
    Mais dès que je passe par le Post Submit, je perds ma session.
    Et j'ai bien-sûr mis le start session dans l'autre page, sinon ça n'aurais pas fonctionné avec le lien...
    je n'utilise pas le header location car ma redirection est en fin de page.

  18. #18
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    Juste comme ça...

    si tu mets
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    action="la_page_de_traitement?<?php echo session_name().'='.session_id();?>"
    sur ton formulaire ? ça plante toujours ? (et t'as pas répondu aux questions que je t'ai posées dans le dernier post
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag (en bas)

Discussions similaires

  1. [MySQL] Comment garder une variable sur un bouton action
    Par Judgelolo dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 21/07/2012, 23h37
  2. Garder une variable en mémoire
    Par n2engineer5 dans le forum Android
    Réponses: 3
    Dernier message: 26/04/2011, 17h35
  3. [Makefile] Garder une variable en mémoire entre 2 make
    Par Gui13 dans le forum Systèmes de compilation
    Réponses: 1
    Dernier message: 12/01/2009, 15h30
  4. garder une variable en mémoire
    Par rachou59650 dans le forum Langage
    Réponses: 2
    Dernier message: 23/04/2008, 10h38
  5. Garder une variable en mémoire
    Par 123quatre dans le forum Langage
    Réponses: 3
    Dernier message: 10/07/2007, 20h01

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