Jürgen Wind wrote:
[EMAIL PROTECTED] wrote:
Hello everyone,
I have a question about variable scope that I probably should know the
answer to but it is a puzzle at the moment.
I have a packaged script that I work on that has this problem but I can
simplify the question with an example.
I have a scipt routine that collects a user IP address from
$_SERVER['REMOTE_ADDR']. If I have $ip = $_SERVER['REMOTE_ADDR'];
defined in the script, no problem but if I put the definition in an
include statement like "require_once" it has no value but if I put the
definition in a function in the include file and call the function, it
contains the user IP address. By the way, the mod I am doing is for
tracking badguys activity on a client site so I can see what parts of
the script they are trying to access. I am collecting a lot more than
just the ip address but this is a simplified example.
In the case I am working on, the definitions are in a header file and
the IP collector is at the top of all the pages of the script. I have
other "hardcoded" values defined in the header file that work?
Any ideas on what my problem is? I have created a function in the header
file as a work around but I am wondering why the simple definition does
not get parsed or why some variables work and others do not?
If the answer is obvious and I just don't get it, I hope someone can
enlighten me. Thanks in advance.
mikesz
_______________________________________________
New York PHP Community Talk Mailing List
http://lists.nyphp.org/mailman/listinfo/talk
NYPHPCon 2006 Presentations Online
http://www.nyphpcon.com
Show Your Participation in New York PHP
http://www.nyphp.org/show_participation.php
why don't just use $_SERVER['REMOTE_ADDR'] everywhere in your script?
it's a "superglobal".
thanks for the reply, that would not be too practical as it would need
to be distributed over 50 pages (its a packaged app that I am doing some
integration on) here is the code that would need to be included on each
page:
$visitor_host = @getHostByAddr( $ip );
$ip = $_SERVER['REMOTE_ADDR'];
$referer = $_SERVER['HTTP_REFERER']; // URL of
calling page
$refer = $_SERVER['HTTP_REFERER']; // URL of
calling page
$rhost = $_SERVER['REMOTE_HOST']; // host
name of visitor
$ruser = $_SERVER['REMOTE_USER']; // Remote
Username if available
$user = $_SERVER['PHP_AUTH_USER'];
//current user
$user_agent = $_SERVER['HTTP_USER_AGENT'];
$uri = $_SERVER['REQUEST_URI'];
$user = $_SERVER['PHP_AUTH_USER'];
$proxyIP = $_SERVER['HTTP_X_FORWARDED_FOR'];
$proxyhost = $_SERVER['HTTP_X_FORWARDED_HOST'];
$proxyserver = $_SERVER['HTTP_X_FORWARDED_SERVER'];
$request_method = $_SERVER['REQUEST_METHOD'];
$server_protocol = $_SERVER['SERVER_PROTOCOL'];
$url = $_SERVER['HTTP_HOST']. $_SERVER[PHP_SELF];
$sql = "INSERT INTO MyTracker VALUES('',now(),
'$ip','$referer','$user_agent','$rhost','$ruser','$ruri','$request_method','$server_protocol','$proxyIP','$proxyserver','$proxyhost','$url',
'$visitor_host');";
$results = mysql_query ( $sql);
as you can see, that would get pretty unwieldy in a short time,
expecially if I needed to change something in this call...
regards, mikesz
_______________________________________________
New York PHP Community Talk Mailing List
http://lists.nyphp.org/mailman/listinfo/talk
NYPHPCon 2006 Presentations Online
http://www.nyphpcon.com
Show Your Participation in New York PHP
http://www.nyphp.org/show_participation.php