Individuazione ip e scelta automatica della città

Francesco Renmen Sorce

Nuovo Utente
19 Lug 2012
10
0
0
Salve a tutti,

Vorrei sapere se fosse possibile creare un programma in grado di individuare la città tramite l'ip e scegliere in automatico la città corrispondente nel sito per far apparire le news di quella città. E' possibile oppure ho necessità di Geoip?

Grazie a tutti
 

marcomg

Utente Attivo
19 Nov 2011
204
0
16
Non è possibile neanche con geoip. Puoi indovinare una zona più vasta, ma non la città precisa!
 

Francesco Renmen Sorce

Nuovo Utente
19 Lug 2012
10
0
0
Credo sia possibile, perchè tramite l'ip individui la città, ovviamente ci sono i margini di errori. E' lo stesso sistema che usa groupon e altri, appena entri ti localizza come città
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
googlando ho trovato questo, non l'ho provato quindi non so se funzia
PHP:
<?
// IP Address of the guest
$ip = $_SERVER['REMOTE_ADDR'];   
echo "<b>IP Address= $ip</b><br />";
$your_key = 'YOUR API KEY';
$url = "http://api.ipinfodb.com/v3/ip-city/?key=$your_key&ip=$ip&format=json";
$data = json_decode(file_get_contents($url));
echo $guest_ip = ucwords(strtolower($data->cityName.', '.$data->countryName));
echo "<br />";
echo $guest_ccode =  $data->countryCode;
?>
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
@Borgo
a me non funzia
io ho trovato questo
PHP:
$ip = $_SERVER['REMOTE_ADDR'];
$geo = file_get_contents('http://www.geoplugin.net/json.gp?ip=' . $ip);
$json = json_decode($geo);
$citta = $json->geoplugin_city;
echo $citta;
ma come dice marcomg non puo essere preciso
ci sono dei servizi a pagamento ma nemmeno quelli sono precisi
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
quello di criric mi sembra meglio (google è un rompi..., ma i suoi servizi sono tra i più affidabili) , comunque ho letto che l'errore può essere anche notevole (credo che rilevi il nodo), quindi oltre all'automatismo devi dare all'utente la possibilità di selezionare manualmente la città
 

marcomg

Utente Attivo
19 Nov 2011
204
0
16
Su di me c'è un errore di 260 Km, quindi lascia perdere se non per scegliere la nazione o la regione! Google per avere la precisione sui wifi ha girato tutto il mondo con le sue "automobili" salvando gli ssid e la loro posizione geografica!
 

Longo8

Utente Attivo
28 Mar 2011
1.694
0
36
Ovviamente dipende anche con cosa (chiavetta, wifi, o altro) sei connesso, come, dove e tanti altri fattori per avere una posizione precisa.
Noi non possiamo fare altro che approssimarla.
 

Francesco Renmen Sorce

Nuovo Utente
19 Lug 2012
10
0
0
Ho utilizzato il codice è funziona, però mi serviva anche la seconda parte cioè la scelta automatica della città, spero che mi potete aiutare. Allora avendo questo codice che individua la città tramite l'ip :

PHP:
 $ip = $_SERVER['REMOTE_ADDR']; 
$geo = file_get_contents('http://www.geoplugin.net/json.gp?ip=' . $ip); 
$json = json_decode($geo); 
$city = $json->geoplugin_city;
echo $city; ?>

a questo punto, a me non serve solamente che venga "stampata" la città, ma mi serve una scelta automatica della città in una lista. Nel sito ho questo:

HTML:
<h2> {$city['name']} </h2>

mentre nel file city.php è questo
PHP:
need_manager(true);

$system = Table::Fetch('system', 1);

if ($_POST) {
	unset($_POST['commit']);
	/* hot city convert */
	$cityname = preg_split('/,\s?+/', $_POST['hotcity'], -1, PREG_SPLIT_NO_EMPTY);
	$hotcity = array();
	$cities = DB::LimitQuery('category', array(
		'condition' => array(
			'name' => $cityname,
			'zone' => 'city',
		),
	));
	$oa = Utility::OptionArray($cities, 'name', 'id');
	$_POST['hotcity'] = array();
	foreach($cityname AS $one) { $_POST['hotcity'][] = $oa[$one]; }
	/* merget */
	$INI = Config::MergeINI($INI, $_POST);
	$INI = ZSystem::GetUnsetINI($INI);
	/* end */

	$value = Utility::ExtraEncode($INI);
	$table = new Table('system', array('value'=>$value));
	if ( $system ) $table->SetPK('id', 1);
	$flag = $table->update(array( 'value'));

	Session::Set('notice', 'Information is updated.');
	Utility::Redirect( WEB_ROOT . '/manage/system/city.php');	
}

$hotcity = Utility::GetColumn($hotcities, 'name');
$hotcity = join(', ', $hotcity);
include template('manage_system_city');


Come faccio a far scegliere in automatico la suddetta città? Grazie mille
 

Francesco Renmen Sorce

Nuovo Utente
19 Lug 2012
10
0
0
l'altro file city.php dovrebbe essere questo:

PHP:
$ename = strval($_GET['ename']);

($currefer = strval($_GET['refer'])) || ($currefer = strval($_GET['r']));
if ($ename!='none') {
	$city = Table::Fetch('category', $ename, 'ename');
	if ($city) { 
		cookie_city($city);
		$currefer = udecode($currefer);
		if ($currefer) {
			Utility::Redirect($currefer);
		} else if ( $_SERVER['HTTP_REFERER'] ) {
			if (!preg_match('#'.$_SERVER['HTTP_HOST'].'#', $_SERVER['HTTP_REFERER'])) {
				Utility::Redirect( WEB_ROOT . '/index.php');
			}
			if (preg_match('#/city#', $_SERVER['HTTP_REFERER'])) {
				Utility::Redirect(WEB_ROOT .'/index.php');
			}
			Utility::Redirect($_SERVER['HTTP_REFERER']);
		}
		Utility::Redirect(WEB_ROOT .'/index.php');
	}
}

$cities = DB::LimitQuery('category', array(
	'condition' => array( 'zone' => 'city') ,
));
$cities = Utility::AssColumn($cities, 'letter', 'ename');
include template('city');
 
Discussioni simili
Autore Titolo Forum Risposte Data
CssNewbie [HTML] Individuazione parti nel codice HTML e CSS 1
A individuazione righe e colonne XML 0
catellostefano richiesta individuazione cms CMS (Content Management System) 7
S Gestire scelta dropdown con dati da Mysql PHP 2
C scelta operazione di calcolo in c++ C/C++ 7
S Scelta software/cms per creazione sito Webdesign e Grafica 6
E Sito con procedure guidate per la scelta prodotti CMS (Content Management System) 0
G Scelta dei Breakpoint HTML e CSS 1
M Lanciare alert se il codice fiscale è già presente nel db e lasciare la scelta di inserire all'utente PHP 42
N [Javascript] [HTML] Scelta di una select e compilazione automatica delle restanti Javascript 0
delfinogrisu scelta dvr se esiste...... IP Cam e Videosorveglianza 0
A [PHP] Cancellare riga database a scelta dell'utente PHP 2
A [PHP] Modificare campo database in base alla scelta dell'utente PHP 2
I Scelta rete per 500 connessioni wifi solo LAN Reti LAN e Wireless 0
bubino8 [HTML] <input type="file"> Testo a scelta HTML e CSS 3
S [PHP] menù a tendina che stampi voce scelta in precedenza PHP 1
L Scelta form con jquery jQuery 1
A Scelta telecamere di sorveglianza IP Cam e Videosorveglianza 0
E scelta cavi telecamere IP Cam e Videosorveglianza 3
D Come salvare scelta della select "dinamica" ajax-php? Come dato php o attributo value tag option? Ajax 5
G Scelta DVR e Telecamere videosorveglianza IP Cam e Videosorveglianza 2
S [PHP] Abilitare un pulsante dopo scelta file... PHP 3
B [MySQL] campo di scelta MySQL 6
giancadeejay [PHP] INSERT into tabella tramite scelta checkbox PHP 0
K Server per sito di annunci: aiuto nella scelta Hosting 4
borgo italia scelta dei colori di background e colori di contrasto Snippet PHP 1
asevenx [Javascript] Estrazione dal database di un valore in base ad una scelta Javascript 7
A Scelta dvr IP Cam e Videosorveglianza 1
napuleone Leggere la scelta radio Javascript 0
M Aruba Cloud VPS: Guida alla scelta delle taglie Server Dedicati e VPS 6
A eseguire funzione dopo scelta dal form PHP 4
P [VENDO] Invii DEM internazionali o nazionali, con scelta 3 target Vendere e Acquistare pubblicita' online 0
P [VENDO] Invii DEM internazionali o stranieri, con scelta 3 target Email Marketing 0
B Scelta impianto videosorveglianza IP Cam e Videosorveglianza 30
L scelta webserver Apache 1
felino [Wordpress][Theme][Popart] Consiglio sulla scelta del Theme WordPress 14
G Aiuto scelta hosting Discussioni Varie 24
W Sviluppo APP da zero scelta hosting e DB Sviluppo app per Android 1
G Scelta template per iniziativa editoriale WordPress 5
filomeni Scelta del Powerline Reti LAN e Wireless 9
C Aiuto scelta CMS CMS (Content Management System) 1
novello88 Scelta di una manuale sulla programmazione Java Java 2
F Creazione 2° select in base alla scelta effettuata sulla 1° select Javascript 2
F Creazione 2° select in base alla scelta effettuata sulla 1° select PHP 1
voldemort Scelta Router Professionale per una grande struttura alberghiera Reti LAN e Wireless 5
H Menù a discesa contenente dati db, la scelta dal menù deve essere inviata in un altro db. PHP 1
G Scelta device fisico di supporto sviluppo app per Android Sviluppo app per Android 2
R Caratteristiche e scelta Hosting Hosting 8
G Tabella con campo a scelta multipla (dropbox) MS Access 1
R Scelta CMS Per Sito "non blog Style" CMS (Content Management System) 3

Discussioni simili