Faire et Utiliser une fonction

cs_christobal Messages postés 208 Date d'inscription jeudi 3 octobre 2002 Statut Membre Dernière intervention 31 mars 2011 - 17 déc. 2008 à 21:48
mdmerveille Messages postés 6 Date d'inscription mardi 26 juillet 2005 Statut Membre Dernière intervention 18 décembre 2009 - 11 déc. 2009 à 10:51
Bonjour, j'ai écrit une fonction.
j'espere ne pas avoir fait de boulette.
mais le pb et que je n'arrive pas a l'utiliser.
que je l'appel, ma page reste blanche.

voici ma fonction :

/*** Fonction affichage message validation ***/
function alerteok()
{



global $alerte ;



$html= '
<style type="text/css">
.validtxt { font-family: Verdana; font-style: normal; font-size: 10px; text-decoration: none; text-align: left; }
.top_ok { border-top: 1px solid #009900; }
.right_ok { border-right: 1px solid #009900; }
.left_ok { border-left: 1px solid #009900; }
.bottom_ok { border-bottom: 1px solid #009900; }
</style>




  ----

   ,
   ,
   ,
  
  ----

   ,
   ,
   ,
   ,
   ' . $alerte . ',
   ,
  
  ----

   ,
   ,
   ,
  

';   
  return $html;
}







et voici ce que je met dans mon code.

    $alerte = '
Mon message qui va bien
'."\n";
    alerteok($alerte) ;

Ou m suis je trompé ?

12 réponses

cs_christobal Messages postés 208 Date d'inscription jeudi 3 octobre 2002 Statut Membre Dernière intervention 31 mars 2011
17 déc. 2008 à 22:02
ok j'ai trouvé, faut mettre un echo devant la fonction et enlever le $alerte dans les parentaises de la fonction.
quel boulet.
0
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
17 déc. 2008 à 22:25
Salut Chrisrobal,

J'émets un gros doute sur l'utilité de cette fonction. Pourquoi ne pas mettre le code HTML en dur dans la page ? A utiliser inutilement des ressources ?

Cordialement,

Kohntark -
0
cs_christobal Messages postés 208 Date d'inscription jeudi 3 octobre 2002 Statut Membre Dernière intervention 31 mars 2011
17 déc. 2008 à 23:20
Bah en fait cela me sert a afficher un message a la validation d'un formulaire.
et pour ne pas copier 200 foi le code, je me suis dit qu'une fonction était la plus simple. En plus cela alége mes pages
0
yoman64 Messages postés 962 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 2 août 2010 2
18 déc. 2008 à 01:09
Salut,
Le but d'une fonction est exactement de ne pas réécrire le même code plusieurs fois donc tu as tout à fait raison ;)
Par contre pour passer un argument à une fonction n'utilise pas global, utilise des arguments
function alerteok($alerte = ''){echo $alerte;} par exemple.

-------------------
Vous cherchez un hebergement Php/MySQL Gratuit et sans publicités ??
Et bien c'est la : www.e3b.org  
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_christobal Messages postés 208 Date d'inscription jeudi 3 octobre 2002 Statut Membre Dernière intervention 31 mars 2011
18 déc. 2008 à 09:06
Bonjour,
juste pour ma culture perso, quel est la différence entre Global et les Argument
0
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
18 déc. 2008 à 09:15
Salut,

Ça se discute tout de même. Utiliser une fonction pour faire un simple echo de code HTML avec une seule variable, sauf à y faire appel très fréquemment dans le site (ce qui est peut être le cas ici), je ne suis pas pour. Vous allez me dire qu'il est aussi plus facile de modifier la mise en forme en ne touchant qu'à la fonction, mais le plus simple reste encore d'intégrer le style à la feuille css du site et de remplacer le tableau par des div.

Mais bon, ça relève plus des goûts et des couleurs qu'autre chose.

Kohntark-
0
cs_christobal Messages postés 208 Date d'inscription jeudi 3 octobre 2002 Statut Membre Dernière intervention 31 mars 2011
18 déc. 2008 à 10:03
Tu as tt a fait raison pour le CSS.
Comme c'est en phase de test j'ai préféré tt mettre dans la fonction pour être sur du résultat ensuite je l'intégrerais dans la feuille de style.
Certe il y a q'une variable dans la fonction, mais en amont il y a bien d'autre variable $alerte qui sont enregistré dans un array puis afficher dans ce tableau.
En faite quand j'ai posté ma demande pour les exemple j'ai fait au plus cours pour ne pas rentrée dans les détails c'est pour ca qu'il n'y a qu'une simple variable
0
Teclis01 Messages postés 1423 Date d'inscription mardi 14 décembre 2004 Statut Membre Dernière intervention 29 décembre 2012 4
18 déc. 2008 à 11:31
Ce qui est le plus discutable à mes yeux... c'est le global...
global c'est le mal incarné
Il vaut mieux poser une question et passer pour bête que le rester toute sa vie

Les geeks n'ont pas une case en moins ils commencent juste à compter à partir de zéro
0
cs_christobal Messages postés 208 Date d'inscription jeudi 3 octobre 2002 Statut Membre Dernière intervention 31 mars 2011
18 déc. 2008 à 12:25
d'ou ma question :
Bonjour, juste pour ma culture perso, quel est la différence entre Global et les Argument
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
19 déc. 2008 à 13:10
Hello,

La portée d'une fonction est limitée à elle-même, ce qui veut dire qu'elle ne peut pas voir les variables déclarées en dehors d'elle-même.
$global donne à une variable une portée globale : elle peut alors être vu au sein d'une fonction, même si elle a été déclarée à l'extérieur.
Un argument est la copie d'une variable, passée à une fonction. Si la fonction affecte la variable, elle n'affecte que la copie, pas la variable de départ, à moins de la passer explicitement par référence.
Je ne vois pas en quoi global est le mal incarné, cher Alex, si on sait ce que l'on fait avec...malheureusement, peu le savent généralement.

Vu ton code, tu aurais aussi bien pu  sortir ton html dans un fichier d'inclusion purement HTML, et l'utiliser comme du templating. Moi aussi, je suis plus "choqué" (le mot est fort quand même :-)) par le fait de voir une fonction renvoyant bêtement du html avec 1 variable dedans, que par le global.

fichier tpl.html:
<style type="text/css">
.validtxt { font-family: Verdana; font-style: normal; font-size: 10px; text-decoration: none; text-align: left; }
.top_ok { border-top: 1px solid #009900; }
.right_ok { border-right: 1px solid #009900; }
.left_ok { border-left: 1px solid #009900; }
.bottom_ok { border-bottom: 1px solid #009900; }
</style>  ----

   ,
   ,
   ,
  
  ----

   ,
   ,
   ,
   ,
   {__ALERTE__},
   ,
  
  ----

   ,
   ,
   ,
  

fichier x.php :
echo str_replace('{__ALERTE__}', $alerte, file_get_contents('tpl.html'));

par exemple. Ou mettre ce html dans une constante et utiliser le même principe de remplacement. Chais pas, il y a mille façons de faire.
0
cs_christobal Messages postés 208 Date d'inscription jeudi 3 octobre 2002 Statut Membre Dernière intervention 31 mars 2011
19 déc. 2008 à 23:06
J'aime bien cette méthode.
Petite question, l'appel au template, peut il se faire autrement que par
http://www.monsite.com/xxx/xxx/tpl.html
?

j'ai testé /xxx/xxx/tpl.html, mais ca ne fonctionne pas ?
0
mdmerveille Messages postés 6 Date d'inscription mardi 26 juillet 2005 Statut Membre Dernière intervention 18 décembre 2009
11 déc. 2009 à 10:51
<html>
<head>
<title>galsen developpeur</title>
</head>

<?php
function alerteok()
{

global $alerte ;

$html= '<style type="text/css">
.validtxt { font-family: Verdana; font-style: normal; font-size: 10px; text-decoration: none; text-align: left; }
.top_ok { border-top: 1px solid #009900; }
.right_ok { border-right: 1px solid #009900; }
.left_ok { border-left: 1px solid #009900; }
.bottom_ok { border-bottom: 1px solid #009900; }
</style>

,
,
,

----

,
,
,
,
' . $alerte . ',
,

----

,
,

';
return $html;
}
$alerte = '
Mon message qui va bien
'."\n";
//il fallait ajouté cette ligne pour résoudre ton problème merci et bon journnée
echo alerteok($alerte);
?>

</html>

Produire du code et non des théories. Merci

galsen developpeur (mdmerveille)
0
Rejoignez-nous