Funkcia hlási nedefinovanú premennú - PHP

Programovacie jazyky, rady, poradňa...
weroro
Flash coder
Flash coder
Používateľov profilový obrázok
Príspevky: 3206
Registrovaný: 14 feb 2009, 22:34
Bydlisko: Bratislava
Kontaktovať používateľa:

Funkcia hlási nedefinovanú premennú - PHP

Príspevok od používateľa weroro »

Ahoj,

prečo mi toto:

Kód: Vybrať všetko

$pageNumber = (empty($_GET["pn"])) ? 1 : $_GET["pn"];
$urlNames = array(1 => 'index', 'info', 'portfolio', 'kontakt');

function _getClass ($id)
{
    $url = '"http://127.0.0.1/' . $urlNames[$id] . '"';
    if ($pageNumber == $id) $url .= ' class="selected"';
    return $url;
}
hlási, že $pageNumber nie je definované a to isté aj pri tom poly $urlNames ?
weroro
Flash coder
Flash coder
Používateľov profilový obrázok
Príspevky: 3206
Registrovaný: 14 feb 2009, 22:34
Bydlisko: Bratislava
Kontaktovať používateľa:

Re: Funkcia hlási nedefinovanú premennú - PHP

Príspevok od používateľa weroro »

Takže ak správne chápem, súvisí to s register_globals? Čo sa stane ak použijem $GLOBALS[] a register_globals sú zapnuté?
harrison314
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 8223
Registrovaný: 27 máj 2009, 20:42
Bydlisko: Bratislava
Kontaktovať používateľa:

Re: Funkcia hlási nedefinovanú premennú - PHP

Príspevok od používateľa harrison314 »

weroro napísal:Čo sa stane ak použijem $GLOBALS[] a register_globals sú zapnuté?
Pojde to tak ako má. Vzdy treba pouzivat aj $_POST , $_GET ....
sanyika
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 364
Registrovaný: 11 apr 2006, 15:35
Bydlisko: Treti smetiak vpravo....d

Re: Funkcia hlási nedefinovanú premennú - PHP

Príspevok od používateľa sanyika »

netreba pouzivat globalne polia.
pre funkcie je tu global $urlNames;

Kód: Vybrať všetko

$urlNames = array(1 => 'index', 'info', 'portfolio', 'kontakt');

function _getClass ($id)
{
    global $urlNames;
    $url = '"http://127.0.0.1/' . $urlNames[$id] . '"';
    if ($pageNumber == $id) $url .= ' class="selected"';
    return $url;
}
weroro
Flash coder
Flash coder
Používateľov profilový obrázok
Príspevky: 3206
Registrovaný: 14 feb 2009, 22:34
Bydlisko: Bratislava
Kontaktovať používateľa:

Re: Funkcia hlási nedefinovanú premennú - PHP

Príspevok od používateľa weroro »

Áno, na to som už aj ja prišiel je to v tom odkaze od harrisona. Napadá ma však ešte jedna možno blbá otázka. Nedá definovať globálna premenná? Myslím niečo na spôsob global $premenna = "ahoj"; a táto by bola prístupná zo všadiaľ a to aj z objektov a funkcií bez toho aby som ju musel ako globálnu zavolať?
forfun
Light Expert
Light Expert
Príspevky: 77
Registrovaný: 03 jan 2010, 17:26

Re: Funkcia hlási nedefinovanú premennú - PHP

Príspevok od používateľa forfun »

Ak by ta premenna bola staticka, len ako nejaky jednoduchy string mozes pouzit konstanty.
harrison314
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 8223
Registrovaný: 27 máj 2009, 20:42
Bydlisko: Bratislava
Kontaktovať používateľa:

Re: Funkcia hlási nedefinovanú premennú - PHP

Príspevok od používateľa harrison314 »

bude cez $_GLOBALS["premenna"] = " som globalna premenna";

alebo ako je napisane vysie cez staticke vlastnoti tried

Kód: Vybrať všetko

class GlobalnePremnne
{
 public static $premnna = " som globalna premenna";



}

//pristup
GlobalnePremnne::$premnna

Napísať odpoveď