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 :

Affectation variable de session


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 60
    Points : 25
    Points
    25
    Par défaut Affectation variable de session
    Bonjour, dans le cadre d'une modification d'un module de paiement pour joomla et virtuemart.

    je dois modifier un peu le code pour a gestion du paiement en n fois.
    les fonctions sont implémenté mais pas appelé.

    je vous explique mon problème:

    sur une page j'ai un formulaire

    qui mixe un peu de javascript et php et qui modifie une variable de session

    et j'utilise cette variable de session sur la page d'après pour appeler la fonction qui place les bons paramètres pour le paiement en n fois.

    j'ai essayé de passer par des variables de session avec du code PHP sur du Onclick javascript.

    get_final_confirmation.tpl.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
    <SCRIPT language="Javascript">
    function ChangeConfigPaiement(config) {
     
     if (config == 0)
     {
        alert("single");
       <?php
        session_start();
        $_SESSION['Config_Paiement'] = SINGLE;
        session_register("Config_Paiement");
        ?>
     }
     else
     {
        alert("multi");
        <?php
        session_start();
        $_SESSION['Config_Paiement'] = MULTI;
        session_register("Config_Paiement");
        ?>
     }
     
    }
    </SCRIPT>

    le formulaire qui appel la fonction ci dessus.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
            session_start();                         //##TR
            $_SESSION['Config_Paiement'] = ''; //##TR
            session_register("Config_Paiement"); 
    	    echo "</td></tr>";
            echo '<tr><td valign="top"><strong>'; //##TR
            echo $VM_LANG->_('PHPSHOP_CHECKOUT_CONF_MODE_PAY');?>:<?php  //##TR      
            echo "</strong></td><td>"; //##TR
            echo 'unique : </td><td><INPUT type=radio name="mode_paiement" value="SINGLE"></td></tr>';
            echo '</td></tr>'; //##TR
    		echo '<tr><td></td><td>3 fois sans Frais:</td><td><INPUT type=radio name="mode_paiement" value="MULTI" Onclick="ChangeConfigPaiement(1);"></td></tr>'; //##TR

    les variables de session ou on créer l'objet du module de paiement :
    voit la variable de session =''

    je précise que la boite de dialogue sur le bouton multi marche très bien.
    l'affection de la variable de session ne marche pas.
    j'ai modifié le .htaccess en mettant on le register global

    une page plus loin ConfigPaiement vaut ''

    que faire?

    cordialement

  2. #2
    Membre actif
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Janvier 2008
    Messages
    227
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Janvier 2008
    Messages : 227
    Points : 273
    Points
    273
    Par défaut
    au lieu de mettre le register global sur On, tu peux pas plutôt rajouter une variable à ton url ?? Comment fais tu pour passer d'une page à l'autre ?? En javascript ? Si oui, passer par l'url ta variable semble etre une bonne solution.

    Ou alors tu vais de l'ajax sur ta première page pour définir ton moyen de payement (ça me semble être une meilleur solution).


    Cordialement,
    Patouche

  3. #3
    Membre averti Avatar de BornBanane
    Homme Profil pro
    dev
    Inscrit en
    Mars 2007
    Messages
    284
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : dev

    Informations forums :
    Inscription : Mars 2007
    Messages : 284
    Points : 416
    Points
    416
    Par défaut
    Le 1er bout de code (le javascript+ php) n'est pas bon. Il ne faut pas perdre de vu que le PHP s'exécute côté serveur d'un block. Dans le cas que tu as mis cela reviens à faire ceci :

    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
     
    <?php
        session_start();
        $_SESSION['Config_Paiement'] = SINGLE;
        session_register("Config_Paiement");
     
        session_start();
        $_SESSION['Config_Paiement'] = MULTI;
        session_register("Config_Paiement");
        ?>
    <SCRIPT language="Javascript">
    function ChangeConfigPaiement(config) {
     
     if (config == 0)
     {
        alert("single");  
     }
     else
     {
        alert("multi");    
     }
     
    }
    </SCRIPT>
    De plus javascript n'a pas accès au variables de $_session directement.

    Le meilleur moyen de faire ce que tu veux est d'utiliser ton formulaire sans le onclick puis sur la page suivante voir quel bouton radio a été sélectionné et attribuer ensuite la bonne valeur à ta variable de session.
    Smiley de Plomb 2009
    Anciennement FrancoisIT

Discussions similaires

  1. Variable de session affectée via page appelée
    Par libuma dans le forum Langage
    Réponses: 3
    Dernier message: 26/12/2008, 14h00
  2. Réponses: 6
    Dernier message: 18/11/2008, 18h31
  3. Affecter et récupérer une variable de session
    Par vhellers dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 21/08/2007, 17h57
  4. Affecter et récupérer une variable de session
    Par vhellers dans le forum MS SQL Server
    Réponses: 0
    Dernier message: 16/08/2007, 15h15
  5. variable de session
    Par divableue dans le forum ASP
    Réponses: 2
    Dernier message: 23/10/2003, 16h04

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