Gå til innhold

php/mysql logge script (løst)


Anbefalte innlegg

Hei. Nedenfor har jeg et loggesystem som registrerer ipadresser, nettlesere og dato. Scriptet ekskluderer å logge ipadresser som allerede er registert.

 

Jeg ønsker derimot at det kun skal ekskludere sist besøkte ipadresse.

Tidligere registrerte ipadresser skal ikke registreres på nytt, men kun oppdateres (i forhold til besøkstidspunkt).

 

Håper dette var forståelig. Noen som kan hjelpe med dette ?

 

<?
include("connect.php");

$ip=$_SERVER['REMOTE_ADDR'];
$browser=$_SERVER['HTTP_USER_AGENT'];
$date = date('r');

$ip_exists_check = "SELECT * from $table WHERE ip='$ip'";
$query=mysql_query($ip_exists_check);
$check=mysql_fetch_row($query);

if($check) {
}

else {
$sql_query = "INSERT INTO $table (browser,ip,date) VALUES ('$browser','$ip','$date')";
$result = mysql_query($sql_query);
}

$sql_result = mysql_query("SELECT * FROM $table");
$loop = mysql_num_rows($sql_result);
echo "$loop hits";
?>

Endret av christdi
Lenke til kommentar
Videoannonse
Annonse

Jeg har prøvd følgende, men datoen blir ikke oppdatert :

 

<?
include("connect.php");

$ip=$_SERVER['REMOTE_ADDR'];
$browser=$_SERVER['HTTP_USER_AGENT'];
$date = date('r');

$ip_exists_check = "SELECT * from $table WHERE ip='$ip'";
$query=mysql_query($ip_exists_check);
$check=mysql_fetch_row($query);

if($check) {
$sql_update = "UPDATE $table SET browser='$browser',ip='$ip',date='$date' WHERE id='$id'";
$do_update = mysql_query($sql_update);
}

else {
$sql_insert = "INSERT INTO $table (browser,ip,date) VALUES ('$browser','$ip','$date')";
$do_insert = mysql_query($sql_insert);
}

$sql_result = mysql_query("SELECT * FROM $table");
$loop = mysql_num_rows($sql_result);
echo "$loop hits | ";
?>

Endret av christdi
Lenke til kommentar

Prøv denne:

<?
include("connect.php");

$ip=$_SERVER['REMOTE_ADDR'];
$browser=$_SERVER['HTTP_USER_AGENT'];
$date = date('r');

$ip_exists_check = "SELECT * from $table WHERE ip='$ip'";
$query=mysql_query($ip_exists_check);
$check2=mysql_fetch_row($query);
$check=mysql_num_rows($query);
$id=$check2['id'];

if($check) {
$sql_update = "UPDATE $table SET browser='$browser',ip='$ip',date='$date' WHERE id='$id'";
$do_update = mysql_query($sql_update);
}

else {
$sql_insert = "INSERT INTO $table (browser,ip,date) VALUES ('$browser','$ip','$date')";
$do_insert = mysql_query($sql_insert);
}

$sql_result = mysql_query("SELECT * FROM $table");
$loop = mysql_num_rows($sql_result);
echo "$loop hits | ";
?>

Lenke til kommentar

Tusen takk for alle forslag, men det fungerer desverre fremdeles ikke.

 

Som nevnt prøver jeg med skriptet å logge alle nye ipadresser.

Ipadresser som allerede finnes i tabellen skal kun oppdateres med ny dato.

Ikke legges til som ny post.

Endret av christdi
Lenke til kommentar
<?
include("connect.php");

$ip=$_SERVER['REMOTE_ADDR'];
$browser=$_SERVER['HTTP_USER_AGENT'];
$date = date('r');

$ip_exists_check = "SELECT * from $table WHERE ip='$ip'";
$query=mysql_query($ip_exists_check);
$check=mysql_fetch_row($query);

if(mysql_num_rows($check)) {
$sql_update = "UPDATE $table SET browser='$browser',date='$date' WHERE ip='$ip'";
$do_update = mysql_query($sql_update);
}

else {
$sql_insert = "INSERT INTO $table (browser,ip,date) VALUES ('$browser','$ip','$date')";
$do_insert = mysql_query($sql_insert);
}

$sql_result = mysql_query("SELECT * FROM $table");
$loop = mysql_num_rows($sql_result);
echo "$loop hits | ";
?>

Lenke til kommentar

dvs slik:

 

først i pypmyadmin eller mysql shell:

alter table TABELLNAVN add unique index unikip(ip)

 

sett inn riktig tabellnavn for TABELLNAVN

 

deretter phpkoden:

 

<?
include("connect.php");

$ip=$_SERVER['REMOTE_ADDR'];
$browser=$_SERVER['HTTP_USER_AGENT'];
$date = date('r');

mysql_query("REPLACE into $table set ip='$ip',date='$date',browser='$browser'") or die("server did poo-poo: " . mysql_query());

$sql_result = mysql_query("SELECT * FROM $table");
$loop = mysql_num_rows($sql_result);
echo "$loop hits";
?>

Lenke til kommentar

Takk for alle gode forslag. Jeg har derimot funnet en løsning på det.

Se nedenfor :

 

 

<?
include("connect.php");

$ip=$_SERVER['REMOTE_ADDR'];
$browser=$_SERVER['HTTP_USER_AGENT'];
$date = date('Y.m.d - H:i:s');

$ip_exists_check = "SELECT * from $table WHERE ip='$ip'";
$query=mysql_query($ip_exists_check);
$check=mysql_fetch_assoc($query);

if($check) {
$sql_update = "UPDATE $table SET browser='$browser',ip='$ip',date='$date' WHERE id='{$check[id]}'";
$do_update = mysql_query($sql_update);
}

else {
$sql_insert = "INSERT INTO $table (browser,ip,date) VALUES ('$browser','$ip','$date')";
$do_insert = mysql_query($sql_insert);
}

$sql_hent_ut = mysql_query("SELECT * FROM $table");
$loop = mysql_num_rows($sql_hent_ut);
echo $loop." treff";
?>

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...