Gå til innhold

php mysql loggesystem


Anbefalte innlegg

Prøver å lage en php/mysql logge system som registrerer ip adresser, nettleser type og dato inn i en mysql tabell. Scriptet skal lagre alle adresser, nettlesertyper og dato, men ekskludere den sist besøkte ip adressen.

 

Har laget et script nedenfor med det gjør ikke det jeg ønsker. Regner med jeg er litt på jordet ennå, men kan noen hjelpe meg med dette ?

 

 

<?

#connects to the MySQL server
$username = "brukernavn";
$password = "passord";
$host     = "localhost";
$database = "db_navn";
$table    = "logging";

mysql_connect($host,$username,$password) or die(mysql_error());
mysql_select_db($database) or die(mysql_error());

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


if(!$ip) {
}

else {
$sql = "INSERT INTO $table SET ip='$ip',browser='$browser',dtime='$dtime'";
$query = mysql_query($sql) or die(mysql_error());
}

?>

Endret av christdi
Lenke til kommentar
Videoannonse
Annonse

Den insert setninga di er ikke helt god. SET brukes ved UPDATE, ikke INSERT.

 

Mer riktig: INSERT into $table (ip, browser, dtime) values('$ip', '$browser', '$dtime')

 

Hvis du bruker Timestamp på dtime feltet, og det er det første timestamp feltet i rekken av felter, så vil Mysql automagisk sette denne til det tidspunkt du setter inn i tabellen på. Dermed slepper du den.. :)

Lenke til kommentar

Det der er feil bruk av INSERT metoden i SQL.

Slik blir scriptet ditt:

<?

#connects to the MySQL server
$username = "brukernavn";
$password = "passord";
$host     = "localhost";
$database = "db_navn";
$table    = "logging";

mysql_connect($host,$username,$password) or die(mysql_error());
mysql_select_db($database) or die(mysql_error());

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


if(!$ip) {
}

else {
mysql_query("INSERT INTO $table (ip, browser, dtime) VALUES ('$ip', '$browser', '$dtime')");
}

?>

 

Har ikke testet det, men mener at i teorien skal det funke.

Men nå hvis jeg hadde refreshet dette scriptet hundre ganger, ville min IP blitt lagt inn i tabellen 100 ganger, ikke alltid like bra :nei:

 

EDIT: Så ikke at Dagga var litt raskere på labbene enn meg :)

Endret av casualtie
Lenke til kommentar

Hmm... Kunne du ikke brukt en kake til å finne ut om personen har besøkt før? Hvis ikke kake, mekke ny med random nummer, hvis kake, øke en counter i mysql (Noe a la "update where ID=$id SET COUNT = COUNT + 1" knasekjekt)

 

Og en ting til..

if(!$ip) {
}

else {
mysql_query("INSERT INTO $table (ip, browser, dtime) VALUES ('$ip', '$browser', '$dtime')");
}

Bare jeg som får frysninger her, eller?

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å
×
×
  • Opprett ny...