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 :

variable globale


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    818
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Drôme (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2005
    Messages : 818
    Par défaut variable globale
    Bonjour,

    Je voudrais définir une variable dans un fichier (page22.php), puis faire un test sur cette meme variable dans un autre fichier(_editfacture.php)...
    Comment déclaré ma variable?

    Merci d'avance de votre aide

  2. #2
    Membre émérite Avatar de trattos
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    1 000
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 000
    Par défaut
    Soit clair est précit s'il te plait! Que contient page22.php? Une variable constante? Une variable de session? ...?

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    818
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Drôme (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2005
    Messages : 818
    Par défaut
    En gros, dans page 22.php je selectionne l'édition que je veux pour ma facture: soit france, soit HT, soit CEE. Dans editfacture.php, je visualise la facture une fois qu'elle a été éditée. En fait, pour le moment, dans tous les cas, la facture visualisée est la facture france. Je voudrais donc ajouter une variable dans page22.php qui me permattrait de savoir quelle visualisation effectuer. C'est à dire qu'en fonction de ma variable dans page 22.php, la facture visualisée sera différente dans editfacture.php grace à cette variable...
    Est ce que j'ai été plus claire??...

  4. #4
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    774
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2005
    Messages : 774
    Par défaut
    soit tu passe ta variables par l'url en ce moment lorsq'on click sur un lien tu recupère la variable sur la page22.php avec $_GET ou tu utilise les sessions

  5. #5
    Futur Membre du Club
    Inscrit en
    Février 2006
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 5
    Par défaut
    Dans ton cas, le plus approprié me semble de passer ton type de facture dans l'url, avec des liens du type editfacture.php?type=CEE.
    Tu récupère la valeur que tu donnes (CEE dans mon exemple) avec $_GET["type"] dans editfacture.php.

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    818
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Drôme (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2005
    Messages : 818
    Par défaut
    Dans ton cas, le plus approprié me semble de passer ton type de facture dans l'url, avec des liens du type editfacture.php?type=CEE.
    Tu récupère la valeur que tu donnes (CEE dans mon exemple) avec $_GET["type"] dans editfacture.php.
    Je comprend le principe, mais je ne vois pas comment faire...
    Peux tu être un peu plus explicite s'il te plait...
    Je ne suis pas encore un utilisateur confirmé en php! lol

  7. #7
    Membre éprouvé
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    818
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Drôme (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2005
    Messages : 818
    Par défaut
    Voici le code source de page22.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
     
    <tr class="Style2">
          <td>Facture Export </td>
          <td><? if($plus==0){ ?>
              <input name="Submit32" type="button" onclick="MM_openBrWindow('_editfacture.php?commande=<? echo"$commande"; ?>','','scrollbars=yes,resizable=yes,width=650,height=700')" value="g&eacute;n&eacute;rer" />
              <a href="#" onclick="MM_openBrWindow('_editfacture.php?commande=<? echo"$commande"; ?>','','scrollbars=yes,resizable=yes,width=650,height=700')"></a> (ce processus n'est pas r&eacute;versible)
            <? }else{ ?>
            <input name="Submit322" type="button" onclick="MM_openBrWindow('_factureht1.php?commande=<? echo"$commande"; ?>','','scrollbars=yes,resizable=yes,width=650,height=700')" value="visualiser" />
            <? } ?></td>
        </tr>
     
        <tr class="Style2">
          <td>Facture</td>
          <td><? if($plus==0){ ?>
              <input name="Submit32" type="button" onclick="MM_openBrWindow('_editfacture.php?commande=<? echo"$commande"; ?>','','scrollbars=yes,resizable=yes,width=650,height=700')" value="g&eacute;n&eacute;rer" />
              <a href="#" onclick="MM_openBrWindow('_editfacture.php?commande=<? echo"$commande"; ?>','','scrollbars=yes,resizable=yes,width=650,height=700')"></a> (ce processus n'est pas r&eacute;versible)
            <? }else{ ?>
              <input name="Submit322" type="button" onclick="MM_openBrWindow('_facture.php?commande=<? echo"$commande"; ?>','','scrollbars=yes,resizable=yes,width=650,height=700')" value="visualiser" />
              <? } ?></td>
        </tr>
     
        <tr class="Style2">
          <td>Facture CEE</td>
          <td><? if($plus==0){ ?>
              <input name="Submit32" type="button" onclick="MM_openBrWindow('_editfacture.php?commande=<? echo"$commande"; ?>','','scrollbars=yes,resizable=yes,width=650,height=700')" value="g&eacute;n&eacute;rer" />
              <a href="#" onclick="MM_openBrWindow('_editfacture.php?commande=<? echo"$commande"; ?>','','scrollbars=yes,resizable=yes,width=650,height=700')"></a> (ce processus n'est pas r&eacute;versible)
            <? }else{ ?>
              <input name="Submit322" type="button" onclick="MM_openBrWindow('_facturecee1.php?commande=<? echo"$commande"; ?>','','scrollbars=yes,resizable=yes,width=650,height=700')" value="visualiser" />
              <? } ?></td>
        </tr>

    Et celui de editfacture.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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
     
    <center>
    <br><br><br><br><br><br><br><? 
     
     
    // HEADERS
     
    	if($commande==""){echo"FatalError: Order number Not Found. ";exit;}else{
    	include("../config.cfg.php");
     
     
    // CONNEXION SQL
     
    	$db_link = mysql_connect("$sql_serveur","$sql_user","$sql_passwd") or die("Connection Failure to Database");
    	mysql_select_db($sql_bdd, $db_link) or die ($sql_bdd . " Database not found. " . $sql_user);
     
     
    // VERIFICATION SI FACTURE DEJA EDITEE
     
    	$requete=mysql_db_query("$sql_bdd","select count(*) from orders where commande=$commande",$db_link);
    	$nb_total=mysql_result($requete,0,"count(*)");
     
    	$requete=mysql_db_query("$sql_bdd","select * from orders where commande=$commande",$db_link);
    	$num=mysql_num_rows($requete);
     
     
    	$i=0;
    	while($i<$num)
    		{ 
    			$plus=mysql_result($requete,$i,"plus");
    			if($plus==0){}else{echo"<font face=verdana>Facture déjà éditée</font>";exit;}
    			$i++;
    		}
     
     
    // ON RECHERCHE L'ID MAXIMUM DE LA TABLE
     
    	$requete=mysql_db_query($sql_bdd,"select max(plus) from orders ORDER BY plus DESC",$db_link) or die(mysql_error());
    	$plus_max=mysql_result($requete,0,"max(plus)");
    	$plus_new=$plus_max+1;
     
    // ON MET A JOUR LE TOUT
     
    	$query="UPDATE orders SET plus='$plus_new' WHERE commande=$commande";
    	mysql_query($query) or die('FatalError: Handle Exception Not Found. ' . mysql_error());
     
    	echo"<font face=verdana>La facture est à présent disponible.<br> <a href=_facture.php?commande=$commande>Visualiser la facture</a></font>";
    	}
     
    // DECONNEXION SQL
     
    mysql_close($db_link);
     
     
     
    ?>
    </center>
    la partie a changé dans editfacture.php serait ici:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo"<font face=verdana>La facture est à présent disponible.<br> <a href=_facture.php?commande=$commande>Visualiser la facture</a></font>";
    En fait, il faudrait que selon la variable, on affiche soit facture.php, soit factureht.php, soit facturecee.php

  8. #8
    Membre très actif
    Avatar de Wormus
    Inscrit en
    Septembre 2005
    Messages
    262
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 262
    Par défaut
    Si j'ai bien compris le problème je pense qu'il est plutot préférable de passer ta variable avec la méthode POST puisque il va falloir que l'utilisateur choisisse qu'elle vue il souhaite

    Donc il te faut un formulaire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <form name='formulaire' method='POST' action='editfacture.php'>
    <input type='radio' name='choixVue' value=france>france
    <input type='radio' name='choixVue' value='ht'>HT
    <input type='radio' name='choixVue' value='cee'>CEE
    </form>
    et tu récupère par la méthode POST
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $vue = $_POST['choixVue'];

    sinon par GET tu peux faire des liens :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <a href='editfacture.php?vue=france'>facture vue france</a>
    <a href='editfacture.php?vue=ht'>facture vue ht</a>
    <a href='editfacture.php?vue=cee'>facture vue cee</a>
    et tu fais :
    $vue = $_GET['vue'];

    pour la récupérer

    PS: j'ai écrit ce message avant de voir ton code que tu m'est dans ton dernier post

  9. #9
    Membre très actif
    Avatar de Wormus
    Inscrit en
    Septembre 2005
    Messages
    262
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 262
    Par défaut
    T 3 boutons dans page22.php c'est bien pour choisir ton choix de la vue??

  10. #10
    Membre éprouvé
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    818
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Drôme (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2005
    Messages : 818
    Par défaut
    est ce que je peux récupérer plusieurs variables? Etant donné que dans mon cas, on recupère deja la variable $commande?

    Autrement di est ce que je peux faire un truc dans ce genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <a href="#" onclick="MM_openBrWindow('_editfacture.php?vue=france commande=<? echo"$commande"; ?>','','scrollbars=yes,resizable=yes,width=650,height=700')"></a>

  11. #11
    Membre éprouvé
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    818
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Drôme (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2005
    Messages : 818
    Par défaut
    T 3 boutons dans page22.php c'est bien pour choisir ton choix de la vue??
    Oui c'est ca...

  12. #12
    Membre très actif
    Avatar de Wormus
    Inscrit en
    Septembre 2005
    Messages
    262
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 262
    Par défaut
    Ah je crois que j'ai compris !!

    En fait il faut que tu utilise la même solution que ce que tu fais pour $commande -> méthode GET

    tu le met à partir de page22.php et sur editfacture.php tu fais une condition
    Suivant la valeur de la variable tu affiche soit un lien vers facture.php soit un vers factureht.php ...

    ou plutot vue que je vois que editfacture.php ne fais qu'une vérification sur la bdd tu redirige automatiquement ta page vers facture.php, factureht.php ou facturecee.php

  13. #13
    Membre éprouvé
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    818
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Drôme (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2005
    Messages : 818
    Par défaut
    Ah je crois que j'ai compris !!

    En fait il faut que tu utilise la même solution que ce que tu fais pour $commande -> méthode GET

    tu le met à partir de page22.php et sur editfacture.php tu fais une condition
    Suivant la valeur de la variable tu affiche soit un lien vers facture.php soit un vers factureht.php ...
    C'est exactement ca!!

  14. #14
    Membre éprouvé
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    818
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Drôme (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2005
    Messages : 818
    Par défaut
    je ne peux pas tester pour le moment, donc pourriez vous me dire si ce qui suit marche svp...

    Voici les modifs de page22.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
     
    <tr class="Style2">
          <td>Facture Export </td>
          <td><? if($plus==0){ ?>
              <input name="Submit32" type="button" onclick="MM_openBrWindow('_editfacture.php?commande=<? echo"$commande"; ?>','','scrollbars=yes,resizable=yes,width=650,height=700')" value="g&eacute;n&eacute;rer" />
              <a href="#" onclick="MM_openBrWindow('_editfacture.php?vue=1 commande=<? echo"$commande"; ?>','','scrollbars=yes,resizable=yes,width=650,height=700')"></a> (ce processus n'est pas r&eacute;versible)
            <? }else{ ?>
            <input name="Submit322" type="button" onclick="MM_openBrWindow('_factureht1.php?commande=<? echo"$commande"; ?>','','scrollbars=yes,resizable=yes,width=650,height=700')" value="visualiser" />
            <? } ?></td>
        </tr>
     
        <tr class="Style2">
          <td>Facture</td>
          <td><? if($plus==0){ ?>
              <input name="Submit32" type="button" onclick="MM_openBrWindow('_editfacture.php?commande=<? echo"$commande"; ?>','','scrollbars=yes,resizable=yes,width=650,height=700')" value="g&eacute;n&eacute;rer" />
              <a href="#" onclick="MM_openBrWindow('_editfacture.php?vue=2 commande=<? echo"$commande"; ?>','','scrollbars=yes,resizable=yes,width=650,height=700')"></a> (ce processus n'est pas r&eacute;versible)
            <? }else{ ?>
              <input name="Submit322" type="button" onclick="MM_openBrWindow('_facture.php?commande=<? echo"$commande"; ?>','','scrollbars=yes,resizable=yes,width=650,height=700')" value="visualiser" />
              <? } ?></td>
        </tr>
     
        <tr class="Style2">
          <td>Facture CEE</td>
          <td><? if($plus==0){ ?>
              <input name="Submit32" type="button" onclick="MM_openBrWindow('_editfacture.php?commande=<? echo"$commande"; ?>','','scrollbars=yes,resizable=yes,width=650,height=700')" value="g&eacute;n&eacute;rer" />
              <a href="#" onclick="MM_openBrWindow('_editfacture.php?vue=3 commande=<? echo"$commande"; ?>','','scrollbars=yes,resizable=yes,width=650,height=700')"></a> (ce processus n'est pas r&eacute;versible)
            <? }else{ ?>
              <input name="Submit322" type="button" onclick="MM_openBrWindow('_facturecee1.php?commande=<? echo"$commande"; ?>','','scrollbars=yes,resizable=yes,width=650,height=700')" value="visualiser" />
              <? } ?></td>
        </tr>
    Et celles de editfacture.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
     
    $vue = $_GET['vue'];
     
    	if($vue=1)
    	{
    	echo"<font face=verdana>La facture est à présent disponible.<br> <a href=_factureht.php?commande=$commande>Visualiser la facture</a></font>";
    	}
    	elseif($vue=2)
    	{
    	echo"<font face=verdana>La facture est à présent disponible.<br> <a href=_facture.php?commande=$commande>Visualiser la facture</a></font>";
    	}
    	elseif($vue=3)
    	{
    	echo"<font face=verdana>La facture est à présent disponible.<br> <a href=_facturecee.php?commande=$commande>Visualiser la facture</a></font>";
    	}
    Merci d'avance de me tenir au courant pour savoir si ce que j'ai fait est correcte, car je ne suis pas tout à fait sur de moi...

  15. #15
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    774
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2005
    Messages : 774
    Par défaut
    au fait lors du passage de plusieurs variable par la methode Get n'oublie pas de separer les variables par le caractere
    &

Discussions similaires

  1. Variable globale / Propriété des threads
    Par rgarnier dans le forum XMLRAD
    Réponses: 4
    Dernier message: 03/10/2003, 10h49
  2. Cacher Variable Url avec Variable Globale
    Par danuz dans le forum XMLRAD
    Réponses: 6
    Dernier message: 26/09/2003, 17h20
  3. Variable "globale" (dans plusieurs templa
    Par mattmat dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 17/06/2003, 19h22
  4. question sur les variables globales et les thread posix
    Par souris_sonic dans le forum POSIX
    Réponses: 5
    Dernier message: 13/06/2003, 13h59
  5. les variables globales static
    Par gRRosminet dans le forum C
    Réponses: 8
    Dernier message: 27/04/2002, 08h34

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