Co to je za číslo? (foreach (explode(".", $_SERVER["REMOTE_ADDR"]) as $val))
Potřebuji identifikovat vyplňující formulář. Stačí mi pouze IP v e-mailu. Při
$_SERVER['REMOTE_ADDR']
se mi IP nevypíše a našel jsem si u p. Vrány
$ip = 0;
foreach (explode(".", $_SERVER["REMOTE_ADDR"]) as $val) {
$ip = 256*$ip3 + $val;
}
Z toho se mi vypíše číslo 523199490. Vůbec netuším, co to je za hodnotu. Není to ani IP bez teček. Tu mám 10.115.4.51.
Převedeš adresu na číslo, pak vynásobíš nějakou proměnnou $IP3 * 256 a to číslo, které jsi získal k tomu přičteš.
K čemu to má sloužit fakt netuším...
To je jen pro mou soukromou potřebu, jestli formulář vyplňují z různých adres. Nikdo jiný to ani nevidí
mozno trepnem, ale nemalo by to byt skor takto?
$_SERVER['REMOTE_ADDR'] ti určite vypíše IP adresu - ak ti to nefunguje, tak hľadaj chybu niekde inde.
V tom kóde, čo si tu dal, máš preklep: namiesto $ip3 má byť len $ip. Výsledok je číselná reprezentácia IP adresy, ktorá je iná, než píšeš (ako moderátor ju vidíš pri svojom príspevku). Funguje podobne ako funkcia ip2long.
Z toho, že ti ten kód vrátil takéto číslo, je jednoznačne vidieť, že $_SERVER['REMOTE_ADDR'] funguje tak, ako má.
Jo, já tu trojku přehlédl. Testoval jsem různé scripty a všude bylo $ip, tak jsem je těmi čísly rozlišoval a tady to neumazal.
Oni nějak migrovali na onebitu, tak jestli mi nevypnuli global on, či co. Ale pokud je tohle číslo nějaká jednoznačná identifikace počítače, z něhož to bylo vyplněno, stačí mi to bohatě. Nepotřebuji tvar xxx.xxx.xxx.xxx
Nevypli ti nič, $_SERVER['REMOTE_ADDR'] ti normálne funguje. Ak by nefungovalo, tak by ti nefungoval ani tento skript. Chyba bola inde.
já to prve měl
$ref = $_SERVER['REMOTE_ADDR'];
echo "$ref";
a když jsem teď předělal $ref na $ip, tak to zobrazuje normálně. Záhada.