<?php //alustetaan globaali muuttuja global $muuttuja; $muuttuja = '?s=vieraskirja&'; //... function ylalinkit(){ //yritetään käyttää muuttujaa echo '<a href="'.$muuttuja.'a=lue">Lue vieraskirjaa</a>'; //muuttujaa pidetään tyhjänä (sivulle tulostuu <a href="a=lue">Lue vieraskirjaa</a> //... } //... ?>
Kuten kommenteista näkyy, globaali muuttuja ei toimi, joten kertokaapa mitä koodissa on pielessä.
'global' kuuluu laitettavaksi funktion sisälle.
Laitoin tuon globaalien alustuspätkän funktioon ja kutsun sitä ennen muuttujan käyttöä, mutta ei silti toimi.
Ajattele:
1. esim. $seppo = "keijo"; print"$seppo"; // keijo
2. esim. print"$seppo"; // $seppo = "keijo";
Alempi ei toimi, koska muuttujaan ei ole vielä asetettu mitään.
Sama periaate globaaleissa muuttujissa.
Niin siis siirsitkö tuon "global $muuttuja;" -rivin tuonne "function ylalinkit(){"- rivin jälkeen? Ja siten myös poistit sen siitä alkuperäisestä kohdasta?
Näinikkäästi:
<?php $muuttuja = '?s=vieraskirja&'; function ylalinkit(){ global $muuttuja; echo '<a href="'.$muuttuja.'a=lue">Lue vieraskirjaa</a>'; } ?>
Aihe on jo aika vanha, joten et voi enää vastata siihen.