Re: IP Address Converted to Computer Name
| From: | David Robley | Date: | Tue, 20 Nov 2001 02:20:43 +0000 |
| Subject: | Re: IP Address Converted to Computer Name | ||
| References: | 1 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-75192@lists.php.net to get a copy of this message | ||
On Tue, 20 Nov 2001 11:38, Ben Clumeck wrote:
> Thanks for your response David. I am new to PHP. Are you saying that
> the code would look like this:
> <?
> gethostname for $IPADDR;
> if $HOSTNAME = $IPADDR
> print "$HOSTNAME"
> ?>
> Would I then put the $HOSTNAME into my mail() script. Sorry for the
> trouble.
>
> Ben
>
> -----Original Message-----
> From: David Robley [mailto:huntsman@www.nisu.flinders.edu.au]
> Sent: Monday, November 19, 2001 4:29 PM
> To: Ben Clumeck; php-general@lists.php.net
> Subject: Re: [PHP] IP Address Converted to Computer Name
>
> On Tue, 20 Nov 2001 04:08, Ben Clumeck wrote:
> > I am trying to convert an ip address to a computer name. Then I am
> > putting it into the mail() script. However, when I do this it come
> > up blank. I am putting $r_hostname in the mail() script. Can anyone
> > tell me why its not working? The script I am using is:
> > <?
> > $r_hostname = gethostbyaddr($REMOTE_ADDR);
> > if ($REMOTE_ADDR == "$r_hostname");
> > echo "$r_hostname";
> > ?>
> >
> > Thanks,
> >
> > Ben
>
> Remember that not all IP adrresses will resolve to a hostname. That
> said, there may be a flaw in your logic in the code snippet above :-)
>
> What you are saying is:
>
> gethostname for IPADDR;
> if HOSTNAME = IPADDR
> print HOSTNAME
>
> which will only work if the resolved hostname is the same as the IP
> address; I suspect that is not what you want?
When you reply, can you put your response at the bottom? Makes it ieasier
to read the chronological story. Yes, I know Outhouse puts you at the top
- another 'feature' from MS.
No, I am not saying the code should look like that; what I wrote is
pseudocode that just tells what the flow of logic is.
To put it simply, you are only asking for $r_hostname to be echoed, in
that particular code snippet, if the value in $r_hostname is the same as
the IP address. And I notice there is a syntax error or three in your
snippet.
Now I guess that what you want to do is to add the remote hostname to the
email only if it resolves and you get back a hostname rather than an IP
address? If that is the case, then you want something like:
<?
$r_hostname = gethostbyaddr($REMOTE_ADDR);
if ($REMOTE_ADDR != "$r_hostname") {
echo "$r_hostname";
}
?>
Note the curly brackets around the contents of the IF.
If you substitute the IP addresses 129.96.218.127 and 129.96.218.27 for
$REMOTE_ADDR you'll see the first returns a hostname and the second
returns just the IP address, so the first will print a hostname and the
second won't.
--
David Robley Techno-JoaT, Web Maintainer, Mail List Admin, etc
CENTRE FOR INJURY STUDIES Flinders University, SOUTH AUSTRALIA
NEWS! Stolen painting found by tree