Skocz do zawartości

Przekierowanie dla mobilnych


Rekomendowane odpowiedzi

Witam, mam problem :D aktualnie mam na stronie zrobione przekierowanie według kraju, czyli np klika sobie klient na link z landing pagem i przekierowuje go do danej strony, przekierowanie jest napisane w phpie i składa się z dwóch plików index.php

<?php// ccr.php - country code redirectrequire_once('geoplugin.class.php');$geoplugin = new geoPlugin();$geoplugin->locate();$country_code = $geoplugin->countryCode;switch($country_code) {case 'US':header('Location: http://strona.com/index_us.php');exit;case 'CA':header('Location: http://strona.com/index_ca.php');exit;case 'GB':header('Location: http://strona.com/index_gb.php');exit;case 'NL':header('Location: http://strona.com/index_nl.php');exit;case 'AU':header('Location: http://strona.com/index_au.php');exit;case 'NZ':header('Location: http://strona.com/newzealand.php');exit;case 'PL':header('Location: http://strona.com/index_pl.php');exit;case 'BE':header('Location: http://strona.com/index_be.php');exit;case 'FI':header('Location: http://strona.com/index_fi.php');exit;case 'DE':header('Location: http://strona.com/index_de.php');exit;case 'DK':header('Location: http://strona.com/index_dk.php');exit;case 'IE':header('Location: http://strona.com/index_ie.php');exit;case 'NO':header('Location: http://strona.com/index_no.php');exit;case 'FR':header('Location: http://strona.com/index_fr.php');exit;default: // exceptionsheader('Location: http://strona.com/allelse.php');exit;}?>

oraz geoplugin.class.php

<?php/*This PHP class is free software: you can redistribute it and/or modifythe code under the terms of the GNU General Public License as published bythe Free Software Foundation, either version 3 of the License, or(at your option) any later version. However, the license header, copyright and author credits must not be modified in any form and always be displayed.This class is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; without even the implied warranty ofMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See theGNU General Public License for more details.@author geoPlugin (gp_support@geoplugin.com)@copyright Copyright geoPlugin (gp_support@geoplugin.com)$version 1.01This PHP class uses the PHP Webservice of http://www.geoplugin.com/ to geolocate IP addressesGeographical location of the IP address (visitor) and locate currency (symbol, code and exchange rate) are returned.See http://www.geoplugin.com/webservices/php for more specific details of this free service*/class geoPlugin {		//the geoPlugin server	var $host = 'http://www.geoplugin.net/php.gp?ip={IP}&base_currency={CURRENCY}';			//the default base currency	var $currency = 'USD';		//initiate the geoPlugin vars	var $ip = null;	var $city = null;	var $region = null;	var $areaCode = null;	var $dmaCode = null;	var $countryCode = null;	var $countryName = null;	var $continentCode = null;	var $latitude = null;	var $longitude = null;	var $currencyCode = null;	var $currencySymbol = null;	var $currencyConverter = null;		function geoPlugin() {	}		function locate($ip = null) {				global $_SERVER;				if ( is_null( $ip ) ) {			$ip = $_SERVER['REMOTE_ADDR'];		}				$host = str_replace( '{IP}', $ip, $this->host );		$host = str_replace( '{CURRENCY}', $this->currency, $host );				$data = array();				$response = $this->fetch($host);				$data = unserialize($response);				//set the geoPlugin vars		$this->ip = $ip;		$this->city = $data['geoplugin_city'];		$this->region = $data['geoplugin_region'];		$this->areaCode = $data['geoplugin_areaCode'];		$this->dmaCode = $data['geoplugin_dmaCode'];		$this->countryCode = $data['geoplugin_countryCode'];		$this->countryName = $data['geoplugin_countryName'];		$this->continentCode = $data['geoplugin_continentCode'];		$this->latitude = $data['geoplugin_latitude'];		$this->longitude = $data['geoplugin_longitude'];		$this->currencyCode = $data['geoplugin_currencyCode'];		$this->currencySymbol = $data['geoplugin_currencySymbol'];		$this->currencyConverter = $data['geoplugin_currencyConverter'];			}		function fetch($host) {		if ( function_exists('curl_init') ) {									//use cURL to fetch data			$ch = curl_init();			curl_setopt($ch, CURLOPT_URL, $host);			curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);			curl_setopt($ch, CURLOPT_USERAGENT, 'geoPlugin PHP Class v1.0');			$response = curl_exec($ch);			curl_close ($ch);					} else if ( ini_get('allow_url_fopen') ) {						//fall back to fopen()			$response = file_get_contents($host, 'r');					} else {			trigger_error ('geoPlugin class Error: Cannot retrieve data. Either compile PHP with cURL support or enable allow_url_fopen in php.ini ', E_USER_ERROR);			return;				}				return $response;	}		function convert($amount, $float=2, $symbol=true) {				//easily convert amounts to geolocated currency.		if ( !is_numeric($this->currencyConverter) || $this->currencyConverter == 0 ) {			trigger_error('geoPlugin class Notice: currencyConverter has no value.', E_USER_NOTICE);			return $amount;		}		if ( !is_numeric($amount) ) {			trigger_error ('geoPlugin class Warning: The amount passed to geoPlugin::convert is not numeric.', E_USER_WARNING);			return $amount;		}		if ( $symbol === true ) {			return $this->currencySymbol . round( ($amount * $this->currencyConverter), $float );		} else {			return round( ($amount * $this->currencyConverter), $float );		}	}		function nearby($radius=10, $limit=null) {		if ( !is_numeric($this->latitude) || !is_numeric($this->longitude) ) {			trigger_error ('geoPlugin class Warning: Incorrect latitude or longitude values.', E_USER_NOTICE);			return array( array() );		}				$host = "http://www.geoplugin.net/extras/nearby.gp?lat=" . $this->latitude . "&long=" . $this->longitude . "&radius={$radius}";				if ( is_numeric($limit) )			$host .= "&limit={$limit}";					return unserialize( $this->fetch($host) );	}	}?>

Ogólnie nie wiem jak zrobić do tego kod żeby dodatkowo wykrywał czy użytkownik jest z telefony/tabletu czy innego urządzenia... zakładając że użytkownik jest z uk i wchodzi z tabletu to przekierowuje go do odpowiedniego landing page strony .

Z góry dzięki za pomoc, nie mam pomysłu jak to zrobić, szukałem w necie przekierowania na mobilne strony ale nie wiem jak to wkomponować żeby przekierowanie było definiowane krajem.

Odnośnik do komentarza

Dołącz do nas za darmo i naucz się zarabiać!

  • Dostęp do darmowych poradników pokazujących krok po kroku jak zarabiać w Internecie
  • Sposoby zarabiania niepublikowane nigdzie indziej
  • Aktywna społeczność, która pomoże Ci rozwiązać problemy i doradzi
  • Profesjonalne treści na temat SEO, social media, afiliacji, kryptowalut i wiele więcej!

 

 

Strasznie namieszane. Lepiej byłoby na jednym pliku, jeśli aż takich różnic nie ma i content dynamicznie budować. Wykrywanie telefonu/tabletu można i powinno się ominąć  poprzez budowę responsywnego landing page.
Wygoogluj sobie: bootstrap, media-quaries
 

Edytowane przez Reav
Odnośnik do komentarza

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Ta strona korzysta z ciasteczek aby świadczyć usługi na najwyższym poziomie. Dalsze korzystanie z witryny oznacza zgodę na ich wykorzystanie. Polityka prywatności .