Recuperare ip ospite e salvarlo nel database mysql

Buon giorno a tutti...

Sono alle prime armi con php e mysql. Come da titolo, sto cercando di recuperare l'IP di un visitatore e di inserirlo in una tabella del database mysql.

Ho creato questo script:

<?php

   $host = 'localhost';
   $user = 'mio_utente';
   $password = 'mia_password';
   $database = 'ipospite';
   $db = mysql_connect($host, $user, $password)
   or die ("Impossibile connettersi al server $host");

  mysql_select_db($database, $db)
   or die ("Impossibile connettersi al database $database");

$ip = $_SERVER["REMOTE_ADDR"];

$query = "INSERT INTO RemoteIP (ip) VALUES ($ip)";

if (mysql_query ($query, $db))
    echo (inserimento riuscito!);
else
    echo ("Errore nell'inseimento");

    mysql_close($db);


?>

ma quando vado ad eseguirlo ottengo solo una pagina bianca e nel database non viene inserito nulla.

Dove sbaglio?

Grazie!

inviato 5 anni fa
xnotar
modificato 5 anni fa
X 0 X

Deve esserci qualche errore e per capirlo abilita la visualizzazione degli errori del php.

risposto 5 anni fa
Mario Santagiuliana
X 0 X

Ho risolto cosi:

<?php
   $host = 'localhost';
   $user = 'mio_utente';
   $password = 'mia_password';
   $database = 'ipospite';

   $db = mysql_connect($host, $user, $password) or die ("Impossibile connettersi al server $host: ".mysql_error());
   mysql_select_db($database, $db) or die ("Impossibile connettersi al database $database: ".mysql_error());

   $ip = $_SERVER["REMOTE_ADDR"];
   $query = "INSERT INTO RemoteIP (ip) VALUES ('$ip')";

   mysql_query ($query, $db) or die ("Errore: ".mysql_error());
   mysql_close($db);
?>
risposto 5 anni fa
xnotar
X 0 X

Ok, nella fase di sviluppo, però, attiva i warning e i notice del php, ti aiutano a creare un buon codice se cerchi di eliminarli!

risposto 5 anni fa
Mario Santagiuliana
X 0 X

Scusate ma ho postato il codice sbagliato. In realtà ho risolto così:

$host = "localhost"; 
$user = "mio_utente"; 
$password = "mia_password"; 
$db = "ipospite"; 

$obj = new mysqli($host, $user, $password, $db); 

//CONNECTION 
if (mysqli_connect_errno()) { 
    printf("Connect failed: %s\n", mysqli_connect_error()); 
    exit(); 
} 

$ip = getenv("REMOTE_ADDR"); 
$SQL = sprintf("INSERT INTO RemoteIP (ip) 
values('$ip')"); 
$result = $obj->query($SQL);

if($result) {
echo "Ok IP Salvato";
} else {
echo "Errore in Query";
}
risposto 5 anni fa
xnotar
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda