News: TinyPortal Release Schedule. Please read this update for More Info.

Login  |  Register
HTML5 Icon HTML5 Icon
TP on Social Media
Welcome, Guest. Please login or register.
Did you miss your activation email?

July 17, 2019, 06:25:21 PM

Login with username, password and session length

Recent

Members
Stats
  • Total Posts: 188520
  • Total Topics: 20737
  • Online Today: 266
  • Online Ever: 629
  • (November 08, 2018, 01:36:54 PM)
Users Online
Users: 0
Guests: 22
Total: 22

Author Topic: View block by what country user is from?  (Read 7916 times)

0 Members and 1 Guest are viewing this topic.

ApplianceJunk

  • Guest
View block by what country user is from?
« on: August 26, 2009, 04:47:53 PM »
I have a new appliance parts affiliate that has two different websites.

They have one site for Canada (.ca) and a .com site.

Could two TP blocks be set up so visitors to our site from Canada see one block and visitors from the USA see the second block?

JPDeni

  • Guest
Re: View block by what country user is from?
« Reply #1 on: August 26, 2009, 04:52:29 PM »
Probably. I don't know how to tell where the visitors are from, though. There must be some environmental variable, but I don't know what it is.

Actually, though, it wouldn't be two blocks. It would be one block with different content, depending on where they come from.

ApplianceJunk

  • Guest
Re: View block by what country user is from?
« Reply #2 on: August 26, 2009, 05:38:13 PM »
Quote
It would be one block with different content, depending on where they come from.

What ever would work best. I was thinking how I can set up a block in say the top right corner and have it set up so only visitors see it and then a second block in the same location that only members see.

This way it's two different block in the same location, but only one is being viewed at a time depending on if you are signed in or just visiting as a guest.

ApplianceJunk

  • Guest
Re: View block by what country user is from?
« Reply #3 on: August 26, 2009, 05:39:58 PM »
Quote
I don't know how to tell where the visitors are from, though

How does google analytics show me in my stats how many visitors come from Canada?

Is it done with IP address?

JPDeni

  • Guest
Re: View block by what country user is from?
« Reply #4 on: August 26, 2009, 06:02:08 PM »
Quote
Is it done with IP address?

Probably. I found some partial code, but I couldn't find the whole thing that would actually work.

Offline Freddy

  • Code
  • *
  • Posts: 1615
    • AiDreams
Re: View block by what country user is from?
« Reply #5 on: August 27, 2009, 05:18:44 AM »
I wanted to do this once on a site i had, but all I found at the time was I needed a huge database.  So this interested me, I have some code on looking up the country from the IP which works (without big database) so let me know if you need it JP :)

Oh BTW, this isn't SMF code...not sure if it would be better to use SMF code or this  ???
« Last Edit: August 27, 2009, 05:32:08 AM by freddy888 »

JPDeni

  • Guest
Re: View block by what country user is from?
« Reply #6 on: August 27, 2009, 07:25:51 AM »
I may have found something that I can use, but I'm not sure I understand how it works. Or if it works at all. Before I post anything here, I'll do a little test on my site and get my members to help out. I'll be back in a day or so after I've had a chance to work with it.

mc

  • Guest
Re: View block by what country user is from?
« Reply #7 on: August 27, 2009, 08:18:51 AM »
I've just read the first post, and if there are two seperate domains, then would it not be easier to detect what domain (ca or com) the visitor is using?

Offline Freddy

  • Code
  • *
  • Posts: 1615
    • AiDreams
Re: View block by what country user is from?
« Reply #8 on: August 27, 2009, 08:23:15 AM »
Yes good point  8)

JPDeni

  • Guest
Re: View block by what country user is from?
« Reply #9 on: August 27, 2009, 08:27:15 AM »
The way I read the original post is that ApplianceJunk has a website with one domain. He is an affiliate of an appliance parts company which has two websites, one for the US and one for Canada. He is wanting to direct his US visitors to the parts company's US site and his Canadian visitors to the parts company's Canadian site.

mc

  • Guest
Re: View block by what country user is from?
« Reply #10 on: August 27, 2009, 08:32:50 AM »
JP is right.

Just re-read the original post again.
How about a simple re-direct page with the options for going to the ca or com website?
It would be a far simpler solution, unless you want to display country specific writing within the block..

JPDeni

  • Guest
Re: View block by what country user is from?
« Reply #11 on: August 27, 2009, 08:36:19 AM »
I'm finding that it's not that hard to find out the country, although I haven't had any Canadian members come by yet so I can't be sure that it picks up Canada.

I should have code for this tomorrow.

JPDeni

  • Guest
Re: View block by what country user is from?
« Reply #12 on: August 27, 2009, 09:05:18 AM »
If anybody wants to help, I have a page at http://www.morethanspike.com/index.php?page=35 to test it out. Since ApplianceJunk is particularly interested in Canadian visitors, it would be great if anybody from Canada would let me know if it works for you.

I noticed that some people get "XX" returned. So far it's just been folks in the US who have that, but it could be others as well.

Offline Freddy

  • Code
  • *
  • Posts: 1615
    • AiDreams
Re: View block by what country user is from?
« Reply #13 on: August 27, 2009, 09:16:04 AM »
Not from Canada of course, but just to let you know it worked...

"Your country is UK"

JPDeni

  • Guest
Re: View block by what country user is from?
« Reply #14 on: August 27, 2009, 09:23:25 AM »
Well, it looks like things are working, so I'll go ahead with the code.

Code: [Select]
$country = file_get_contents('http://api.hostip.info/country.php?ip='.$_SERVER['REMOTE_ADDR']);
if ($country == 'CA') {
  echo 'whatever you want to show to Canadian people';
}
elseif ($country == 'US' || $country == 'XX') {
  echo 'whatever you want to show to US people';
}
else {
  echo 'whatever you want to show to everyone else';
}

The variable $country will have an uppercase two-letter term that corresponds to the country. There is also 'XX' which so far appears to only show up for US folks, but it's possible that it's any place that the database can't determine.

Offline ZarPrime

  • Friends
  • *
  • Posts: 4653
Re: View block by what country user is from?
« Reply #15 on: August 27, 2009, 10:34:31 AM »
Works for me for US.

Offline IchBin™

  • Developer
  • *
  • Posts: 16228
    • My Website
Re: View block by what country user is from?
« Reply #16 on: August 27, 2009, 11:22:46 AM »
Using a Canadian proxy it indeed showed that I was from Canada. :) Good work Deni!

JPDeni

  • Guest
Re: View block by what country user is from?
« Reply #17 on: August 27, 2009, 11:24:22 AM »
Cool. Looks like it's working, then. It was just something I found on a Google search. :) It's a tool that can be used in a lot of different things.