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 :

include fait disparaitre les $variable récupèrées précédemment


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 36
    Points : 22
    Points
    22
    Par défaut include fait disparaitre les $variable récupèrées précédemment
    bonjour,
    session_start() a été déclarée en page 1 du formulaire, lors du traitement en page 2 tout va bien. les variables $nomp , $email sont remplies.
    A l'appel d'une page 3 par include cela va bien encore, avant l'enregistrement les variables sont encore là remplies. (vérif par :
    $nomp=$_POST["nomp"];
    $email=$_POST["email"]; echo " nomp email " .$nomp . $email
    après un include de la requete d'insertion, les variables sont vides !
    est-ce un include ou une requete qui élimine la valeur ?
    que faut-il faire pour conserver cette valeur tout au long de la session ?
    je fais une modif, je declare les variables de session
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $_SESSION['nomp']= "nomp"; // nom naissance
    après avoir recupéré les données de la page 1 - et cela ne marche pas plus.

    MERCI

  2. #2
    Membre régulier Avatar de B.Moncef
    Étudiant
    Inscrit en
    Août 2007
    Messages
    75
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2007
    Messages : 75
    Points : 88
    Points
    88
    Par défaut
    Bonjour,

    Personnellement je ne comprends pas tres bien ton probleme, pourrais-tu nous montrer du code pour mieux comprendre ?

  3. #3
    Membre expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Points : 3 145
    Points
    3 145
    Par défaut

    $_POST te permet de récupérer les valeurs d'un formulaire utilisant la méthode post donc tu auras accès au info du formulaire que dans le script appelé par le formulaire (et dans les includes de ce script si include il y a) par contre si après tu ouvres d'autres pages tu perdras tes données.
    De même tu dis faire des includes mais si tu includes des fonctions, elles n'auront pas accès à tes variables à moins de les déclarer comme étant globale.

    Le plus simple reste d'affecter dès le début de ton script tes $_POST à des variables (de session ou pas) et d'utiliser ensuite ces variables.

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 36
    Points : 22
    Points
    22
    Par défaut variables en session affectation
    bonjour,
    j'ai affecté ces variables de cette manière (cela ne permet pas de récupérer) en page 1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $_SESSION['nomp']= $_POST["nomp"]; ; // nom naissance
    mais je les utilise peut être mal après, c-a-d que je les utilise 'normalement'
    $nomp=$_post["nomp"];
    en fait les variables sont vidées après le changement de page. Il s'agit d'un appel de la suite du formulaire, donc un autre form !!!
    Merci de me donner un exemple si possible.

  5. #5
    Membre expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Points : 3 145
    Points
    3 145
    Par défaut
    Tu fais bien un session_start au début de chacune de tes pages ?
    Tu fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $_SESSION['nomp']= $_POST["nomp"]; ; // nom naissance
    mais après tu dis que le code ci-dessous ne marche plus la page suivante : C'est normal, il faut que tu utilise la session :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $nomp=$_SESSION["nomp"];
    PS : respecte la caste dans le code.

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 36
    Points : 22
    Points
    22
    Par défaut session et variables
    re-bjr,
    ce que je fais sur la 1ere page :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <?php
    session_start(); 
    // creation et initialisation des variables non fournies par le participant ?  
    $_SESSION['mt']= 0; 
    $_SESSION['mtp']= "mtp"; // montant pour le participant
    $_SESSION['mta']= "mta"; // montant pour l'accompagnant (optionnel)
    $_SESSION['mtd']= "mtd"; // montant pour le don (optionnel)
    // $_SESSION['mteuros']= .$mt; // equivalence
    $_SESSION['nomp']= "nomp"; // nom naissance   // utilise dans le reglement et controle si existant
    // etc ... autant de variables que nécessaire.
    // mais pour les variables de calcul est-ce valable ? mt ou mtp..
    puis sur chaque page :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <?php
    session_start(); 
    ?>
    pour recuperer une variable en cours de page : ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $nomp=$_SESSION["nomp"];
    $mt=$_SESSION["mtp"];
    $mtp=$_SESSION["mtp"];
    pour effectuer des opération : ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    if ($agea_$_SESSION["agea" > 24) {  
      $mtp = 10  }         // ou bien  ...
      $mt=$_SESSION["mtp"] = 10 }  // ???
     
    // ou autre opération
     
    $mt=$_SESSION["mtp"] = $mtp=$_SESSION["mtp"] + $mtd=$_SESSION["mtd"];
    // ?? ou bien est-ce 
    $mt=$mtp + $ mtd;
    Merci de nous communiquer un peu de votre science !

  7. #7
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 777
    Points
    17 777
    Par défaut
    Quelle est la valeur de la directive register_globals ? On peut effectuer des opérations directement sur les variables de session comme toute variable "normale", exemple $_SESSION['c'] = $_SESSION['a'] + $_SESSION['b']. Par contre, le code ci-dessus présente de nombreuses erreurs : il est illisible et incompréhensible en l'état.

    Si le problème persiste pourriez-vous nous donner deux dump des variables de sessions (var_dump($_SESSION)) : un en temps normal et un où vous constatez les pertes ?

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 36
    Points : 22
    Points
    22
    Par défaut session variables perte variables
    bjr,
    je n'ai pas de register_globals.
    le code qui a été mis est une question ? comment additionner des variables de session.
    la réponse apportée me convient, une variable de session se traite comme une variable normale. merci.
    mais je ne récupère pas les variables de calcul en derniere page, ni celle du prénom, alors qu'elle est traitée exactement comme celle du nom.
    je vais revérifier le tout.
    merci et à bientôt.

  9. #9
    Membre régulier Avatar de B.Moncef
    Étudiant
    Inscrit en
    Août 2007
    Messages
    75
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2007
    Messages : 75
    Points : 88
    Points
    88
    Par défaut
    je n'ai pas de register_globals.
    julp te demandais la valeur de ta directive register_globals, presente dans le fichier php.ini (fais un phpinfo() pour savoir).

Discussions similaires

  1. Activité qui récupère les variables d'un service
    Par wataiso dans le forum Android
    Réponses: 11
    Dernier message: 03/12/2012, 14h50
  2. Réponses: 4
    Dernier message: 08/09/2008, 15h36
  3. Réponses: 2
    Dernier message: 24/04/2007, 09h37
  4. [Système] INCLUDE sans passer les variables dans l'URL
    Par bonjour69 dans le forum Langage
    Réponses: 9
    Dernier message: 07/10/2006, 01h20
  5. Réponses: 4
    Dernier message: 20/04/2006, 02h56

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