Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /****************************************************************************************************************/
- /* Description: This snippet is provide simple way to redirect visitor to different default web page based on */
- /* visitor's country of origin */
- /* suggestions for different city locations across the country. */
- /* There are 1 steps in this snippet. For information, please visit IP2Location tutorial page at: */
- /* https://www.ip2location.com/tutorials/redirect-web-visitors-by-country-using-php-and-mysql-database */
- /****************************************************************************************************************/
- /* You can obtain free IP Country database for IPv6 at https://lite.ip2location.com/database/ip-country */
- <?php
- // Replace this MYSQL server variables with actual configuration
- $mysql_server = "mysql_server.com";
- $mysql_user_name = "UserName";
- $mysql_user_pass = "Password";
- // Retrieve visitor IP address from server variable REMOTE_ADDR
- $ipaddress = $_SERVER['REMOTE_ADDR'];
- // Convert IP address to IP number for querying database
- $ipno = Dot2LongIPv6($ipaddress);
- // Connect to the database server
- $link = mysqli_connect($mysql_server, $mysql_user_name, $mysql_user_pass) or die("Could not connect to MySQL database");
- // Connect to the IP2Location database
- mysqli_select_db($link,"ip2location") or die("Could not select database");
- // SQL query string to match the recordset that the IP number fall between the valid range
- $query = "SELECT * FROM ip_country WHERE $ipno <= ip_to LIMIT 1";
- // Execute SQL query
- $result = mysqli_query($link,$query) or die("IP2Location Query Failed");
- // Retrieve the recordset (only one)
- $row = mysqli_fetch_assoc($result);
- // Keep the country information into two different variables
- $country_code = $row['country_code'];
- $country_name = $row['country_name'];
- // Free recordset and close database connection
- mysqli_free_result($result);
- mysqli_close($link);
- // Redirect user to the correct page
- echo 'You will be redirected to ' . $country_code . ' page <br/><br/>';
- exit;
- // Function to convert IP address to IP number (IPv6)
- function Dot2LongIPv6 ($IPaddr) {
- $int = inet_pton($IPaddr);
- $bits = 15;
- $ipv6long = 0;
- while($bits >= 0){
- $bin = sprintf("%08b", (ord($int[$bits])));
- if($ipv6long){
- $ipv6long = $bin . $ipv6long;
- }
- else{
- $ipv6long = $bin;
- }
- $bits--;
- }
- $ipv6long = gmp_strval(gmp_init($ipv6long, 2), 10);
- return $ipv6long;
- }
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement