Autor Zpráva
radozaj
Profil
Ahoj,
Vie mi niekto poradit ako si zaznamenam IP alebo aj nieco viac o uzivateli, ktory napr. odosle vyplneny formular? Mam ho napisany v php.
ph@tE
Profil *
Ip je v PHP přístupná pod proměnnou $_SERVER['remote_addr']; a tu si pak můžeš zanést do databáte (např. MySQL)
radozaj
Profil
diki a nejake ine informacie este nemozem zistit?
napr. uzivatela... alebo nieco ine...
ph@tE
Profil *
To záleží na tom jaké informace potřebuješ a z jaké aplikace ... můžeš třeba zjistit čas kdy ten formulář odeslal, jméno jeho počítače atd.
radozaj
Profil
cas viem zistit, ale to meno pocitaca by sa hodilo...
radozaj
Profil
napisal som ze:
echo "$_SERVER['remote_addr']";

a prehliadac mi pise:
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /formular.php on line 71

kde robim chybu? ked ju chcem IP aspon vidiet...
ph@tE
Profil *
To se dělá pomocí getHostByAddr($_SERVER['remote_addr']); Ale pokud se uživatel např. připojí přes server proxy, tak to vrátí stejnou hodnotu jakou je jeho IP adresa, takže pro nějakou kontrolu je tato věcička v tomto případě stejně zbytečná jako kontrola IP.
Pokud ten formulář vyplňují uživatelé, kteří mají na Tvém webu založen účet, tak si samozřejmě můžeš zaznamenávat daleko víc věcí (jménem jejich účtu počínaje a pak to záleží na tvé fantazii ...)
ph@tE
Profil *
Musíš napsat:
echo $_SERVER['remote_addr'];
ph@tE
Profil *
Ty uvozovky tam nemají být, protože vypisuješ proměnnou ...
radozaj
Profil
je to divne ale tu IP mi to stale nepise, jednoducho ziadna chyba... iba nic. ani IP, proste nic nezobrazi a nevyhlasi chybu a to pritom mam napisane v php echo $_SERVER['remote_addr'];

nemoze to byt tym, ze mam php verziu>4 ?
ph@tE
Profil *
Máš pravdu, mě to takto taky nic nevypíše, musíš to napsat velkými písmeny (echo $_SERVER['REMOTE_ADDR'];), pak by to mělo fungovat:-)
radozaj
Profil
Ok, diki uz funguje mi aj IP aj meno pripojenia k internetu.


Ale este by som potreboval nieco ... cokolvek ine... hocijake informacie o tom, kto sa napr. zaregistroval na mojej ankete. Ale co uzivatel nezadal. Cize tym nemyslim login alebo heslo.... ale nieco co mozem od neho vytiahnut bez toho, aby nieco pisal napr. ta IP bola fajn alebo tiez meno pripojenia k internetu.... vie mi nikto poradit?
Anonymní
Profil *
napis do scriptu

phpinfo();


vse co ti to vypise jsi schopny zjistit
ph@tE
Profil *
Takže postupně:
Jméno prohlížeče - $_SERVER['HTTP_USER_AGENT'];
Jméno hostitelského serveru - $_SERVER['HTTP_HOST']; (na localhostu vypistuje http://localhost/, na mé doméně http://www.phateweb.cz/ atp.)
URL odkazující stránky - $_SERVER['HTTP_REFERER']; (vypisuje vše za doménovým jménem - pokud je stránka na které jste klikli na odkaz http://localhost/kontakt/ , tak vrátí hodnotu /kontakt/)
URL stránky na které se nacházíte - $_SERVER['REQUEST_URI']; (opět vrací hodnotu za doménovým jménem)
Metoda přístupu na stránku - $_SERVER['REQUEST_METHOD']; (např. GET, POST ... )
Jméno počítače - $_ENV['COMPUTERNAME']; (to nezávisí na IP, je to to jméno, které se nastavuje v tento počítač)
Víc toho asi teď nevymyslím, záleží na tobě jak si to využiješ, způsobů se nabízí spousta ...
peta
Profil
function getIP()
{
//$fullIP="$REMOTE_ADDR | $HTTP_X_FORWARDED_FOR | $HTTP_FORWARDED | $HTTP_CLIENT_IP | $X_HTTP_FORWARDED_FOR";
$ip1 = getenv("REMOTE_ADDR"); //on proxy
$ip2 = getenv("HTTP_X_FORWARDED_FOR"); //behind proxy
$ip = ($ip2!="" && ip2long($ip2)!=-1) ? ip2long($ip2) : $ip1;
$ip = substr($ip,0,15);
return $ip;
}

jinak teda zbytek $_NECO je popsany na http://cz2.php.net/
nightfish
Profil
doba pokročila, takže místo $NECO používáme $_SERVER['NECO']

kompletní seznam je na http://cz.php.net/reserved.variables
Toto téma je uzamčeno. Odpověď nelze zaslat.

0