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 et variable


Sujet :

Langage PHP

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    340
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 340
    Par défaut session et variable
    Bonjour à tous,

    J'ai cette variable $total mais j'aimerais la passer dans une session car je le réutilise sur une autre page.

    Cependant, je ne sais pas du tout comment il faut faire. Pourriez-vous m'aider


    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
     <?php
    		$total = $total + $qte * $prix;
    		
    	}
     } 
    ?>
      <th><div align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Total 
          de votre commande </font></div></th>
      <th><div align="left"><font face="Verdana, Arial, Helvetica, sans-serif"></font></div></th>
      <th><div align="left"><font face="Verdana, Arial, Helvetica, sans-serif"></font></div></th>
      <th><div align="left"><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><?php echo $total;?></font></div></th>
        <th><font face="Verdana, Arial, Helvetica, sans-serif"> </font> 
          <div align="left"></div></th>
    </table>
    <p>&nbsp;</p>
    <table width="81%" border="0">
      <tr> 
        <td width="8%">&nbsp;</td>
        <td width="44%"><a href="listeviande.php"><img src="image/back_f2.png" width="32" height="32" border="0"></a></td>
        <td width="23%">&nbsp;</td>
        <td width="25%"><div align="right"><a href="connecterCliCom.php?total=<?php echo $total;?>"><img src="image/apply_f2.png" width="32" height="32" border="0"></a></div></td>
      </tr>

  2. #2
    Membre expérimenté
    Profil pro
    Développeur Web
    Inscrit en
    Septembre 2006
    Messages
    215
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Septembre 2006
    Messages : 215
    Par défaut
    Salut Kitty,

    Pour passer ta variable, en une varriable de session, tu dois avant tout déclarer la fonction "session_start()" pour que php ouvre une session, ensuite tu utilises $_SESSION['maVar']

    exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <php
    session_start() // tjrs en debut de page
     
    $total = $total + $qte * $prix;
     
    $SESSION['total'] = $total;
    ?>
    tu as la doc ici

    sahid

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    340
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 340
    Par défaut
    j'ai ajouté la session et session start.

    Est-ce que je peux ôter maintenant le $total sur mes autres lignes ou je l'ai mis en bleu.

    Comment dois-je faire pour récupérer cette variable ?

    Je suis désolée mais peux-tu m'aider, car j'ai déjà lu de la documentation mais je ne comprends pas bien comment faire

    MErci

  4. #4
    Membre émérite
    Avatar de kankrelune
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    763
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 763
    Par défaut
    Tu trouvera la réponce à tes questions ici et ... .. .

    @ tchaOo°

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    340
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 340
    Par défaut
    Ben merci je vais lire à nouveau tout cela

    a+

  6. #6
    Membre émérite Avatar de alain31tl
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    935
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 935
    Par défaut
    Citation Envoyé par kitty2006
    j'ai ajouté la session et session start.

    Est-ce que je peux ôter maintenant le $total sur mes autres lignes ou je l'ai mis en bleu.

    Comment dois-je faire pour récupérer cette variable ?

    Je suis désolée mais peux-tu m'aider, car j'ai déjà lu de la documentation mais je ne comprends pas bien comment faire

    MErci
    Salut

    Tes différentes variables sont sauvegardées dans cette session, ce qui signifie que tu n'as plus besoin de les faire passer en get, par exemple.
    Elles y resteront disponibles jusqu'à la fermeture du navigateur.
    Tu peux faire appel à ces différentes variables, quand tu le souhaites et où tu le souhaites sous réserve que ta page qui va les traiter comprenne un session_start(); tout au début.

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    340
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 340
    Par défaut
    Après avoir lu la doc....je ne sais pas comment faire pour récupérer la variable de session pour afficher mon total dans une autre page....

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

    Informations forums :
    Inscription : Novembre 2004
    Messages : 745
    Par défaut
    Il faut activer les sessions sur cette autre page via un session_start()

    Ensuite tu accèdes à tes variables dans la tableau global $_SESSION

  9. #9
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    340
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 340
    Par défaut
    je comprends pas comment faire avec ce tableau...j'ai lu de la doc et ca ne marche pas ce que j'essaie de faire...

    Faut faire comment pour l'afficher?

    Si on peut m'aider un peu plus....ca srait sympa...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $total = $total + $qte * $prix;
     
    		$SESSION['total'] = $total;
    j'aimerais afficher ce $total dans une autre page comment faut faire...j'ai déja start session...

    Merci

  10. #10
    Membre émérite
    Avatar de jc_cornic
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    623
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 623
    Par défaut
    ...
    On part du principe que tu as une fonction ou un fichier php qui sert d'ini cad qu'il n'est utilisé qu'un fois pour initialiser toutes tes variables.
    Personnellement, dans mon index.php, j'initialise toutes mes variables et ensuite j'affiche un index2.php pour ne plus appeler index.php (et réinitialiser mes variables...) --> BREF

    index.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
     
    <?php
    session_start();
     
    //init
    $_SESSION['total']=0;
    ...
     
    		echo "
    		<script language=\"JavaScript\">
    		 document.location = \"index2.php\"
    		</script>
    		";
     
    // L'écho précédent sert à rediriger la page vers index2.php
    ?>
    index2.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <?php
    session_start();
     
    // c'est là ou tu recalcule ton $total
    $_SESSION['total'] = $_SESSION['total'] + $qte * $prix;
    ?>
    autreFichier.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <?php
    session_start(); // toujours en premier
     
    // tu retrouve ta variable
    echo "total = " . $_SESSION['total'];
    ?>
    ++
    JC

  11. #11
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    340
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 340
    Par défaut
    je fais le calcul du total à cet emplacement parce que j'en ai besoin

    je ne fais pas l'initialisation...je voudrais juste afficher le résultat dans une page et ca me met une erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Notice: Undefined index: total in c:\program files\easyphp1-8\www\fichierphp\validcommande.php on line 31
    total =
    Qu'est ce que je fais de faux

  12. #12
    Membre émérite
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    1 012
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 012
    Par défaut
    j'ai pas tout suivi, mais :

    tu utilises ta variable de session dans n'importe quel page, avec un code de type suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $mavariable = $_SESSION['total'];
    tu dois cependant t'assurer que cette variable de session existe (à mon avis, c'est là qu'il y a une erreur chez toi), donc que tu l'as assigné avant, éventuellement dans une autre page, si tu es sûre que ton client a ouvert cette autre page avant, avec le code suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $_SESSION['total'] = $resultat;
    comme par principe tu ne peux jamais en être sûre (ton client peut aller directement à une page sans passer par ta page d'accueil), il faut qu'au début de ta page tu testes son existence, avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (isset($_SESSION['total']))
    N'oublie jamais que tu dois mettre session_start() en début de ton code, avant toute autre instruction html (même avant un espace !)

    et dernier point : évite d'avoir une variable $total et une variable de session 'total', car selon la configuration de php, il y a confusion

  13. #13
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    340
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 340
    Par défaut
    Merci pour l'aide mais c'est quoi ce qu'il faut mettre après if isset c'est quoi la usuite.....

    merci

  14. #14
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    340
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 340
    Par défaut
    Bon j'ai essayé plein de truc et vos conseils et ca ne marche toujours pas ....

    Voila la variable que j'aimerais passer en session

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $total = $total + $qte * $prix;
    j'aimerais ensuite afficher cette variable dans une autre page...comment faut-il faire pour que ca soit vraiment correcte...

    J'ai essayé de tester pour voir si ma session est bien prise en compte mais ca ne marche pas...


    Merci pour l'aide

  15. #15
    Membre émérite
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    1 012
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 012
    Par défaut
    dans la première page :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $total = $total + $qte * $prix;
    $_SESSION['letotal'] = $total;
    dans la seconde page :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $total = $_SESSION['letotal'];
    mais si quelqu'un va directement à la seconde page sans passer par la première, ton script va générer une erreur car $_SESSION['letotal'] n'existe pas. D'où l'intérêt de isset, qui contrôle l'existence de ta variable de session. Dans ton cas, ce serait plutôt not isset, donc
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (!isset($_SESSION['letotal'])) $_SESSION['letotal'] = lechiffrequetuchoisis;
    tu peux aussi faire une redirection sur la première page, tel que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (!isset($_SESSION['letotal'])) header ("Location: premierepage.php");
    voilà

  16. #16
    Membre averti
    Profil pro
    Inscrit en
    Août 2006
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Août 2006
    Messages : 23
    Par défaut
    oebdabt qu'on y est, moi j'utlise les sessions, tout marche comme je veux, sauf que j'ai 2 "warning"

    Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at c:\Inetpub\wwwroot\MultiLab\LoadUserData.php:4) in c:\Inetpub\wwwroot\MultiLab\LoadUserData.php on line 17

    Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at c:\Inetpub\wwwroot\MultiLab\LoadUserData.php:4) in c:\Inetpub\wwwroot\MultiLab\LoadUserData.php on line 17

    quelqu'un aurrait un idée pourquoi ça fait cela

    Désolé Kitty si j'ai mit cela dans ton Post mais peut-etre que cela va t'aider aussi!

    Merci

  17. #17
    Membre averti
    Profil pro
    Inscrit en
    Août 2006
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Août 2006
    Messages : 23
    Par défaut
    laisser tombé, j'ai trouver mon problème, c'Est que je ne savait pas que session start devait être déclarer avant même le html!

    merci quand meme

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

Discussions similaires

  1. [PHP 5.3] Chevauchement nom de session et variable
    Par kerbpm dans le forum Langage
    Réponses: 2
    Dernier message: 08/06/2009, 16h44
  2. Session et variables de formalaire
    Par Interface dans le forum Langage
    Réponses: 4
    Dernier message: 07/01/2009, 18h08
  3. [PEAR][DB][Datagrid et Session] Session et variables inexistantes.
    Par bilou972 dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 23/05/2008, 16h45
  4. session sans variable (ou presque)!
    Par tonist dans le forum Langage
    Réponses: 3
    Dernier message: 27/12/2007, 19h32
  5. Session php variable
    Par Greggggggg dans le forum Langage
    Réponses: 5
    Dernier message: 30/08/2006, 10h00

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