Autor Zpráva
Slower
Profil *
Zdravím, jsem začátečník v php a potřeboval bych pochopit tento kod:

if (isset($_GET['step']) && (int)$_GET['step'] > 0 && (int)$_GET['step'] <= 3) {
    $step = (int)$_GET['step'];


může mi někdo zkušenější vysvětlit polopatycky co znamená ten kod,

děkuji
Alphard
Profil
Existuje-li proměnná $_GET['step'] a je-li její hodnota přetypovaná na integer v intevalu (0, 3>, ulož ji do $step.
Slower
Profil *
if (!defined('WEB_ROOT')
    || !isset($_GET['step']) || (int)$_GET['step'] != 2
    || $_SERVER['HTTP_REFERER'] != 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF'] . '?step=1') {
    exit;

takže jestli to chápu,

jestliže není-li definovaný webový adresář potom nenastaví proměnou $_GET['step'] pokuď neni-li alespon platna jedna hodnota ktera je na 2 kroku a pokud tomů tak neni prejde ke kroku 1 ?
David Klouček
Profil
Pokud neni definovaná konstanta WEB_ROOT
nebo není nastavena $_GET['step']
nebo $_GET['step'] přetypovaná na int není rovna 2
nebo nepřišel z prvního kroku

tak ukonči (exit)
- - - - - - - - - - - - - - - -

|| (lze zapsat OR) znamená nebo, takže aby se podmínka ve tvém kódu splnila, musí se kladně vyhodnotit alspoň jeden z uvedenejch výrazů. Opakem operátoru OR je AND (&&).
slower
Profil *
díky za radu:)
slower
Profil *
Zdravím, potřeboval bych ještě s něčím pomoct
if (!defined('WEB_ROOT')
    || !isset($_GET['step']) || (int)$_GET['step'] != 2
    || $_SERVER['HTTP_REFERER'] != 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF'] . '?step=1') {
    exit;
tenhle kod nám říká:
Pokud neni definovaná konstanta WEB_ROOT 
nebo není nastavena $_GET['step'] 
nebo $_GET['step'] přetypovaná na int není rovna 2 
nebo nepřišel z prvního kroku


tak ukonči (exit) 

potřeboval bych napojit 1 krok na víc,

if (!defined('WEB_ROOT')
    || !isset($_GET['step']) || (int)$_GET['step'] != 3
    || $_SERVER['HTTP_REFERER'] != 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF'] . '?step=2' 
   && $_SERVER['HTTP_REFERER'] != 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF'] . '?step=1') {
    exit;
}

myslíte, že to mám dobře ten konec?
chci docílit toho, že script bude ukončen, pokud nepřišel z prvního a druhého kroku, ( tak že předtím bylo jen z prvního kroku) a teď chci přidat, že bude ukončen pokud nepřišel jak z prvního tak i z druhého...

děkuji

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0