Hello
Voila pour un site de petites annonces, je fais une fonction d'affichage d'annonce que je vous donne pas en entier ici.
Il y a plusieurs types d'affichages : la visu normale, l'admin (idem + boutons modifier et supprimer), la prévisualisation (boutons différents) etc
Ils ont tous en gros la même gueule, c'est pour ça que j'en fais une fonction.
Les boutons de ces affichages ont eux aussi tous la même gueule, ce sont des formulaires qui renvoyent tous les memes valeurs, mais à des scripts diffénrents bien sur.
A l'intérieur de cette fonction, j'y mets donc une fonction qui crée un bouton.
pb 1 : la variable statique est censée enpéchér de définir 2 fois la fonction, hors le message d'erreur est tjrs là (fonction Aff_Bouton définie 2 fois)
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 function Aff_Ann($param, $ligne, $tab_POST, $argSupp=0) { // parfois les params arrivent du $_POST, parfois de la BDD ($ligne) $texte=""; $nom=""; $prenom=""; switch ($param) { case "showtout" : case "visu" : { $texte = $ligne['MESSAGE']; $nom = $ligne['NOM']; $prenom = $ligne['PRENOM']; $cle = $ligne['CLE']; break; } case "previsu" : { echo "fok"; $texte = $tab_POST['iTexte']; $nom = $tab_POST['iNom']; $prenom = $tab_POST['iPrenom']; $cle = $tab_POST['iNumAn']; break; } default : {$texte=""; $nom=""; $prenom="";} } if (!isset($passeparla)) { function Aff_Bouton($value, $action) { ?> <form method="post" action="annoncesadmin.php"> <input type="hidden" name="iNom" value="<? echo $nom ?>"> <input type="hidden" name="iPrenom" value="<? echo $prenom ?>"> <input type="hidden" name="iTexte" value="<? echo $texte ?>"> <input type="hidden" name="iAction" value="<? echo $action ?>"> <input type="hidden" name="iNumAn" value="<? echo $cle ?>"> <input type="submit" name="iOK" value="<? echo $value ?>"> </form> <? } } static $passeparla = 1; // ... ... ... }
pb 2 : à l'intérieur de Aff_Bouton, les variables $cle, $prenom, $nom, $texte sont inconnues alors qu'elles ont été définies dans la fonction mère...
J'ai plusieurs fois remarqué ce pb : si je définie une variable dans un script, pas moyen de l'utiliser dans les fonctions qu'il contient, pourtant elle devrait être globale...
Bon vous voyez en gros les pbs j'espère...
Aidez moi je suis si seul
Merci![]()
Partager