PHP - Problém s platnosťou premennej
V PHP mám súbor s týmto "diagramom":
index.php
.
.
include ---> head.php
. .
. function head()
. {
head() .
. include ---> show.php
. . .
. } function show()
. --- {
. zobrazenie $_SESSION['lang']
. }
. nastavenie $_SESIION['lang']
. show()
.
include ---> lang.php
. .
. .
. formulár
---
Vo formulári sa nachádzajú tlačítka, ktoré nastavia hodnotu premennej $language. Podľa hodnoty tejto premennej sa v show.php nastaví hodnota $_SESSION['lang']. Problém je v tom, že hodnota $language je v show.php nedefinovaná. Ale ak dám include"show.php" do index.php, tak je hodnota $language v poriadku. Problém je v tom, že musím to použiť tak, ako to je nakreslené a teda buď rozšíriť platnosť premennej $language na celú reťaz, lenže to by znamenalo prepisovať niekoľko desiatok súborov pravdepodobne. Lepšie riešenie je nastaviť $_SESSION['lang'] už za formulárom. Formulár funguje tak, že jedinou jeho akciou je nastavenie hodnoty $language a potom sa znovunačíta index.php. $language je vlastne skrytý prvok na formulári. Potrebujem poradiť ako vo formulári nastaviť session a tým odbúrať potrebu premennej.