(Ho scritto e postato questa nuova discussione in una sezione sbagliata, chiedo scusa ai moderatori che dovranno occuparsene, non mi ero accorto di essere entrato nella sezione sbagliata, ma adesso ho cercato di rimediare)
Salve,
stavo smanettando nel mio sito, come sono solito fare, e mi è venuta la "brillante" idea di inserire nella tabella, al momento del login, anche l'indirizzo IP con cui viene effettuato, così da riconoscere dispositivi nuovi ed eventualmente inviare una mail di sicurezza. Ci sono riuscito solo che, mai soddisfatto, ho voluto anche provare ad inserire nella table del database, oltre all'IP, anche la posizione dell'utente, per aggiungere informazioni utili alla mail.
In localhost funziona tutto alla perfezione con questa parte di codice:
Codice:
$ip_data = @json_decode(file_get_contents(
"http://ip-api.com/json/$user_ip?fields=status,message,continent," .
"country,regionName,city,zip,timezone,offset,currency,query"
));
if ($ip_data && $ip_data -> status == "success") {
$ips = array(
$user_ip => array(
"continente" => $ip_data -> continent,
"stato" => $ip_data -> country,
"regione" => $ip_data -> regionName,
"citta" => $ip_data -> city,
"codicePostale" => $ip_data -> zip,
"fusoOrario" => $ip_data -> timezone,
"fusoOrarioSecondi" => $ip_data -> offset,
"moneta" => $ip_data -> currency
)
);
} else {
$ips = array(
$user_ip => null
);
}
$ips_encoded = json_encode($ips);
$query = "INSERT INTO utenti (username, email, password, ips) VALUES ('$username', '$email', '$password', '$ips_encoded')";
Come detto poco sopra, in localhost funziona, quindi viene eseguita la prima parte dell'if, mentre su Altervista non funziona, viene eseguita la seconda parte perché poi, nel database, mi ritrovo la stringa JSON con l'IP come chiave e null come valore.
Cosa posso fare per risolvere?
Ci sono altri metodi per fare una cosa del genere?
Grazie mille in anticipo per le risposte!