Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Ongelma globaalissa muuttujassa

ville-v [03.07.2005 18:47:16]

#

<?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ä.

T.M. [03.07.2005 18:51:16]

#

'global' kuuluu laitettavaksi funktion sisälle.

ville-v [03.07.2005 19:05:25]

#

Laitoin tuon globaalien alustuspätkän funktioon ja kutsun sitä ennen muuttujan käyttöä, mutta ei silti toimi.

T.M. [03.07.2005 19:20:18]

#

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.

Tommo [05.07.2005 15:27:26]

#

Niin siis siirsitkö tuon "global $muuttuja;" -rivin tuonne "function ylalinkit(){"- rivin jälkeen? Ja siten myös poistit sen siitä alkuperäisestä kohdasta?

Juice [05.07.2005 19:03:27]

#

Näinikkäästi:

<?php
$muuttuja = '?s=vieraskirja&';

function ylalinkit(){
    global $muuttuja;
    echo '<a href="'.$muuttuja.'a=lue">Lue vieraskirjaa</a>';
}
?>

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta