Fonction dans une fonction et autres pbs - PHP - Programmation
Marsh Posté le 27-05-2006 à 20:11:19
Non, que tu apprennes la patience serait pas de refus par contre, on est pas à ton service exclusif et on a un peu le droit de foutre autre chose durant 3 heures un week-end...
Pour ton pb1, c'est normal, static conserve l'alloc mémoire de la variable et donc sa valeur, si tu définis pas la variable avant de t'en servir, le script ne risque pas de savoir de quoi tu parles. Dans ton cas, mets ton static en début de fonction et définit le comme booléen, ça ira déjà mieux.
Marsh Posté le 27-05-2006 à 21:49:33
bon je suis un noob en php mais c est pas un peu crade de declarer ta fonction dans une boucle elle meme dans une autre fonction ?
surtout qu elle sera pas executee je vois pas du tout l interet
Marsh Posté le 28-05-2006 à 00:51:43
naceroth a écrit : Non, que tu apprennes la patience serait pas de refus par contre, on est pas à ton service exclusif et on a un peu le droit de foutre autre chose durant 3 heures un week-end... |
Dsl c'était pas aggressif de ma part
naceroth a écrit : Pour ton pb1, c'est normal, static conserve l'alloc mémoire de la variable et donc sa valeur, si tu définis pas la variable avant de t'en servir, le script ne risque pas de savoir de quoi tu parles. Dans ton cas, mets ton static en début de fonction et définit le comme booléen, ça ira déjà mieux. |
C'est justement le but : il ne définit la fonction que si $passeparla est définie : d'ou le "if(isset($passeparla))". Si je la déclare avant, ça va pas le faire. Donc si il retourne ds la fonction après, $passeparla sera définie, donc il il ne redéfinira par Aff_bouton()... Sauf que ça marche pas
Citation : bon je suis un noob en php mais c est pas un peu crade de declarer ta fonction dans une boucle elle meme dans une autre fonction ? |
La fonction est exécutée plus tard mais je mets pas le code (par contre je mets " // ... ... ... " ).
Et non, je n'ai pas trouvé d'autre solution que de déclarer une fonction dans une autre fonction... si vous en avez d'autres c'est pas de refus je suis sur une piste avec eval(), mais on voira ça plus tard.
Marsh Posté le 28-05-2006 à 01:31:08
theredled a écrit : |
Faut apprendre à voir un peu plus loin que le bout de son nez (ou faire une remise en question de son code). Exemple :
Code :
|
Hop, un seul passage dans le if
Ceci dit, une fonction dont le seul intérêt est d'afficher un formulaire, surtout de cette manière, en effet, c'est crade
Marsh Posté le 28-05-2006 à 04:12:34
Bon il me semble que j'ai oublié de précisé que suis noob en php, donc je le dis, parce qu'apparemment ya quiproquo un peu là.
naceroth a écrit : Faut apprendre à voir un peu plus loin que le bout de son nez (ou faire une remise en question de son code). Exemple :
|
Effectivement, enfin ça reviens un peu au même nan ?
naceroth a écrit : Ceci dit, une fonction dont le seul intérêt est d'afficher un formulaire, surtout de cette manière, en effet, c'est crade |
J'en conviens, je cherche d'autres solutions, eval() ou autres... si t'en as
Marsh Posté le 28-05-2006 à 16:14:57
theredled a écrit : Bon il me semble que j'ai oublié de précisé que suis noob en php, donc je le dis, parce qu'apparemment ya quiproquo un peu là. |
Sauf que la mienne fonctionne
C'est pour ça que je parle de remise en question (de ton code), y a pas qu'une seule façon de faire les choses. Pour que ton static fonctionne, il doit être déclarée avant de s'en servir, ok, déclare le avant et modifie ton code, reste pas coincé sur le isset(...) puisqu'il pose un problème de logique
Marsh Posté le 28-05-2006 à 18:12:12
Bon alors j'ai changé les choses, mon Aff_Bouton() j'en ai fait une vraie fonction (en dehors de Aff_An()), et je lui passe en paramètre un tableau avec $nom $prenom $cle $pointure $tailleongles etc, et non seulement ça marche, mais en plus je peux l'appeler d'ailleurs, et ça, c'est vraiment trop de la balle.
Merci à toi naceroth je me garde ce topic pour mes ultérieures altercations avec php. Enfin non.
Marsh Posté le 27-05-2006 à 16:17:37
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 empécher de définir 2 fois la fonction, hors le message d'erreur est tjrs là (fonction Aff_Bouton définie 2 fois)
pb 2 : à l'intérieur de le fonction fille Aff_Bouton(), les variables $cle, $prenom, $nom, $texte définies dans la fonction mère Aff_Ann() sont inconnues, ça c'est normal, mais comment y accéder ??? Elles ne sont ni globales, ni locales...
Bon vous voyez en gros les pbs j'espère...
Aidez moi je suis si seul
Merci
Message édité par theredled le 27-05-2006 à 19:44:04