PHP - Přenos proměnných

Přenos proměnných

V tomto článku bych rád upozornil na možné problémy s přenosem proměnných.

Přenos proměnných z formulářů

Posílá-li nějaký formulář proměnnou PHP skriptu metodou GET nebo POST, je třeba tuto proměnnou ve skriptu volat takto, v případě metody GET:

$promenna = $_GET['promenna'];

Nutné je dbát na syntaxi, podtržítkou, v hranatých závorkách proměnná bez $ a v uvozovkách. V případě metody POST:

$promenna = $_POST['promenna'];

Pokud dobře nevíme, jakým způsobem se bude proměnná předávat, můžeme použít $_REQUEST, který zahrnuje oba způsoby:

$promenna = $_REQUEST['promenna'];

Předávání proměnných do funkcí

V případě, že funkce pracuje s nějakými proměnnými, které nezískává jako vlastní parametr, je třeba je volat zvláštním způsobem:

$a = "a";
$b = "b";
$c = "c";

function fun($d){
global $a, $c;
$b = $GLOBALS['b'];

echo  $a.'-'.$b.'-'.$c.'-'.$d;
}

fun('d');

Dříve deklarované proměnné $a, $b, $c voláme buď způsobem global $a nebo $b = $GLOBALS['b']. Proč se to tak děje? Protože jinak by funkce na tyto proměnné nesáhla:

$a = "a";
$b = "b";
$c = "c";

function fun($d){
echo  $a.'-'.$b.'-'.$c.'-'.$d;
}

fun('d');

Taková funkce by vypsala pouze "---d" místo "a-b-c-d".



Doporučuji
Pro své weby používám *Webhosting C4: 20 GB prostoru, PHP, MySQL, e-maily, subdomény za 1200 Kč (zdarma 2 GB navíc každý rok). Více WebhostingC4.cz.
Potřebujete poradit?


Vyhledávání


Osobně doporučuji

Poradna

Pokud si nevíte rady, chcete kontakt na spolehlivého tvůrce webu, či vás zajímá cizí názor, ozvěte se.

Reklama