appel des variables php dans une fonction php

appel des variables php dans une fonction php - PHP - Programmation

Marsh Posté le 17-08-2004 à 08:57:49    

bonjour tout le monde,
 
Je me prend encore une fois la tête avec la syntaxe.
J'ai créer une fonction Afficher_Produit dans mon fichier structure.php que j'appelle dans plusieurs page.
 
 
PAGE EXEMPLE1.PHP
<?php
 session_start();  
 if (isset($_SESSION['infos']))  $infos =$_SESSION['infos'];
 $enfant = $_GET['enfant'];
 include("../Templates/Structure.php" );
?>
...
<?php Afficher_Produit($enfant);?>
 
 
 
 
PAGE STRUCTURE.PHP
function Afficher_Produit() {
echo   '<tr bgcolor="#FFFFFF">
 <td>
 <table>
 <tr>
 <td align="right" width="125"><a href="javascript:OuvrirFenetreClients(\'<?php echo $enfant ?>\',\'<?php echo $enfant ?>\')">Produit</a></td>
 <td align="left" colspan="2"><input type="text" name="Num_<?php echo $enfant;?>" value="<?php if (isset($infos[\'Num_\'.$enfant])) echo $infos[\'Num_\'.$enfant];?>" size="15"></td>
 </tr>
 </table>  
 </td>
 </tr>';
}
 
si je met directement le code de ma fonction dans ma page EXEMPLE1.php, no pb ça marche. Mais vu que j'appele ces lignes de codes dans plusieurs pages, je préfere appeler une fonction qui me l'écrive comme ça je modifie qu'une seule fois la source.
Je ne souhaite pas passer $enfant en paramètre car c'est toujours lui qui sera appeler. Je pense qu'il y a un pb de syntaxe (comme à chaque fois) ou sinon ma méthode n'est peut-être pas possible en php. Vos opinions sont les biens venus

Reply

Marsh Posté le 17-08-2004 à 08:57:49   

Reply

Marsh Posté le 17-08-2004 à 09:05:47    

Suffit d'ajouter un argument à ta fonction (lorsque tu définis ta fonction).
 

Code :
  1. function Afficher_Produit($txt)
  2. {//et dans ta fonction tu remplaces à chaque fois $enfant par $txt
  3. ...
  4. }


 
Pour déclarer ta fonction, tu fais
 

Code :
  1. Afficher_Produit($enfant)
  2. //si la valeur que tu veux traiter avec ta fonction est $enfant


 
Toutes les occurences qui s'appelaient $txt dans ta fonction seront alors "remplacées" par la valeur d'$enfant, et tu auras ce que tu veux.
 
Compréhensible ?


Message édité par deliriumtremens le 17-08-2004 à 09:08:31
Reply

Marsh Posté le 17-08-2004 à 09:08:50    

Pardon je me suis trompé :  
 
PAGE EXEMPLE1.PHP  
<?php  
 session_start();  
 if (isset($_SESSION['infos']))  $infos =$_SESSION['infos'];  
 $enfant = $_GET['enfant'];  
 include("../Templates/Structure.php" );  
?>  
...  
<?php Afficher_Produit();?>  
 
et oui je veu pas $enfant

Reply

Marsh Posté le 17-08-2004 à 22:55:57    

Si ton block de fonction et le code appelant sont sur la même page  et que tu n'as plus besoin des variables après l'exécution de la page, soit tu fais :
 
global $enfant;
 
au début de ta fonction Afficher_Produit, soit tu passes en variable globale :
$GLOBALS["enfant"] = "toto";  
et non
$enfant = "toto";
Pour avoir accès à cette variable depuis n'importe quel endroit du code.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed