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 :

J'ai un soucis de variables :(


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 240
    Par défaut J'ai un soucis de variables :(
    Bonjour,

    J'ai un soucis avec les variables, je vais essayer d'expliquer. Il existe les méthodes GET et les méthodes POST. Les méthodes POST à ce que j'ai compris pour récupérer les valeurs d'un formulaire, par leur Nom. La méthode GET pour récupérer ce qu'est passé en paramètre dans l'URL. Arettez moi si je me trompe

    Voici les actions que j'effectue : Index php > action.php > tchat.php

    Je récupérer bien mes variables, saisi dans le formulaire principal (index.php) dans action.php, ca ne pose pas de problème. J'ai ensuite utlisé des "Session_Registrer" pour recupérer mes variables cette fois dans tchat.php, ca foncitonne aussi...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    session_register("Departement_user");
    Seulement cela est possible si j'utlise la méthode "include("tchat.php") dans le fichier action.php. Si je remplace ça par un "header(location:tchat.php") je ne récupére plus rien du tout et je perds toute mes informations. Comment résoudre ce problème ? Y a t-il des variables global comme il existe en VB par exemple qui serait visible d'un formulaire à un autre sans être écrasé à chaque fois qu'on change de feuille ??

    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
     
     
    (...)
     
    switch ($RecupIDURL)
    {
    	case 1:	
    		//Recupérer les valeurs des formulaires
    		$Nom_user = ValeurFormulaire('Chp_User');
    		$Age = ValeurFormulaire('Chp_Message');
    		$Departement = ValeurFormulaire('Chp_Departements');	
    		//Executer la requete d'insertion	
    		mysql_query("INSERT INTO `utilisateur` (`Nom_user`,`Age`,`Departement`) VALUES ('".$Nom_user."','".$Age."','".$Departement."')");
     
                            session_register("Utilisateur"); 
                            session_register("Age_user"); 
                            session_register("Departement_user"); 
                            session_register("Nb_unique_MAX");
     
    		//Recupérer le dernier numero
    		$resultat  = mysql_query("SELECT id_utilisateur FROM utilisateur ORDER BY id_utilisateur desc LIMIT 1");	
    		$row = mysql_fetch_array($resultat);
    		extract($row);	
    		$Nb_unique_MAX =  $id_utilisateur;
     
    		$Utilisateur=$Nom_user;
    		$Age_user=$Age;
    		$Departement_user=$Departement;
     
                             //je récupérer pas mes valeurs dans tchat.php
                             //header("location:tchat.php"); 
     
    		// Je recupére mes valeurs dans tchat.php
    		include("tchat.php"); 
     
     
    	break;	
    (...)

    Tchat.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
     
    (...)
     
    <div id="page">
     
    	 <div id="colonne0">
    			<H2>TCHAT</H2>
    			<blockquote class="centrer">
    			<?php
    			$Utilisateur = ValeurFormulaire('Chp_User');
    			echo '| Nom: ' . $Utilisateur.' | Age: '. $Age_user.' | Departement: '. $Departement_user.' | '. $Nb_unique_MAX . '|';
    			?>
     
    			</blockquote>			
    	  </div>

    D'avance merci
    Bien Cordialement,
    Marc

  2. #2
    Membre expérimenté

    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
    Par défaut
    session_register est déprécié (pour $_SESSION[<nom de la vriable de session>] = <valeur>;) et votre code n'est pas assez complet pour trouver une éventuelle erreur : on ne sait pas à quoi correspondent les variables Utilisateur, Age_user, Departement_user et Nb_unique_MAX ni si vous avez bien fait appel à session_start dans votre page.

  3. #3
    Membre Expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Par défaut
    Si ca fonctionne avec un include("tchat.php") mais pas avec une redirection c'est surement que vous ne redéfinissez pas vos variables.
    Est-ce que vous faites bien appel à session_start() au début de tchat.php ?

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 240
    Par défaut
    Citation Envoyé par julp
    session_register est déprécié (pour $_SESSION[<nom de la vriable de session>] = <valeur> et votre code n'est pas assez complet pour trouver une éventuelle erreur : on ne sait pas à quoi correspondent les variables Utilisateur, Age_user, Departement_user et Nb_unique_MAX ni si vous avez bien fait appel à session_start dans votre page.
    Bonjour,

    Merci pour l'information je vais vous mettre mon code j'ai effectivement remplacé les session_register par des $_SESSION !

    • $Nom_user = Champ de saisie dans la feuille index.php
    • $Age = Champ de saisie dans la feuille index.php
    • $Departement = Champ de saisie dans la feuille index.php

      Je récupére les valeurs par la méthode GET_POST, tout ça fonctionne correctement.



    Page Action.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
    25
    26
    27
    28
    29
    30
    31
    32
    33
     
     
    session_start();
     
    (...)
     
    switch ($RecupIDURL)
    {
    	case 1:	
     
     
    		//Recupérer les valeurs des formulaires
    		$Nom_user = ValeurFormulaire('Chp_User');
    		$Age = ValeurFormulaire('Chp_Message');
    		$Departement = ValeurFormulaire('Chp_Departements');	
    		//Executer la requete d'insertion	
    		mysql_query("INSERT INTO `utilisateur` (`Nom_user`,`Age`,`Departement`) VALUES ('".$Nom_user."','".$Age."','".$Departement."')");
     
    		//Recupérer le dernier numero
     
    		$resultat  = mysql_query("SELECT id_utilisateur FROM utilisateur ORDER BY id_utilisateur desc LIMIT 1");	
    		$row = mysql_fetch_array($resultat);
    		extract($row);	
    		$Nb_unique_MAX =  $id_utilisateur;
     
    		$_SESSION['Utilisateur']=$Nom_user;
    		$_SESSION['Age_user']=$Age;
    		$_SESSION['Departement_user']=$Departement;
    		header("location:tchat.php");
     
     
    	break;	
    }

    Page HTML :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    	 <div id="colonne0">
    			<H2>TCHAT</H2>
    			<blockquote class="centrer">
    			<?
    			echo '| Nom: ' . $_SESSION['Utilisateur'] . ' | Age: '.$_SESSION['Age_user'].' | Departement: '. $_SESSION['Departement_user'] .' |';// '. $Nb_unique_MAX . '|';
    			?>
     
     
    			</blockquote>			
    	  </div>
    Cordialement,
    Marc

  5. #5
    Membre expérimenté

    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
    Par défaut
    • On ne sait toujours pas si session_start figure dans tchat.php
    • Vous écrivez : "Page HTML" mais si le fichier correspondant porte cette extension, le code PHP n'est probablement pas interprété.
    • Les balises courtes (<?) sont déconseillées


    Pourriez-vous ajouter au début (après session_start quand même) et/ou à la fin de vos scripts le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?php
    echo '<pre>';
    print_r($_SESSION);
    echo '</pre>';
    ?>
    Voyez-vous vos variables de session (normalement à la fin de action.php et aux début/fin de tchat.php) ?

Discussions similaires

  1. petit souci de variable
    Par bakman dans le forum ActionScript 1 & ActionScript 2
    Réponses: 4
    Dernier message: 31/03/2010, 17h18
  2. Petit soucis de variable
    Par mapotam dans le forum Shell et commandes GNU
    Réponses: 3
    Dernier message: 22/01/2010, 12h15
  3. [AJAX] Récupération variable
    Par shelko dans le forum AJAX
    Réponses: 5
    Dernier message: 11/12/2009, 07h21
  4. [Zip] petit soucis de variable avec "zip.lib.php"
    Par Giantrick dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 29/06/2007, 12h19
  5. Soucis des variables
    Par Bne dans le forum Langage
    Réponses: 5
    Dernier message: 15/12/2006, 16h09

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