Sida 1 av 1

mysql: kolumn med autoifyllt ip-nummer?

Postat: 21 mar 2008, 17:58
av andol
Finns det något sätt att få en kolumn i en MySQL tabell att automatisk fyllas med ip-numret för den klient som lagrade posten/raden ifråga?

Det är alltså MySQL-servern som ska notera varifrån anslutningen kom och på egen hand peta hand peta in det värdet i kolumnen då en ny rad insertas. Tänker mig ett beteende inte helt olikt den där en kolumn automatiskt fyllas med en timestamp.

Utifrån vad jag kan läsa mig till i MySQL:s dokumentation så finns det inget trivialt sätt att åstadkomma detta på? Måhända så att någon känner till ett lite listigare och kreativare lösning?

Re: mysql: kolumn med autoifyllt ip-nummer?

Postat: 22 mar 2008, 20:12
av maths57
Skjuter vilt! Jag vet att man i JavaScript kan få fram det IP-nummer besökaren har. Borde det inte finnas även i PHP? I så fall borde det väl gå att skriva en lite kodsnutt som följer med in i MySQL? Eller?

Re: mysql: kolumn med autoifyllt ip-nummer?

Postat: 23 mar 2008, 14:04
av Thomas
det går att fånga upp ip-nummer med php. gjorde en besöksräknare för ett par år sen i php o mysql.. ska se om jag har kvar den på server.

Re: mysql: kolumn med autoifyllt ip-nummer?

Postat: 23 mar 2008, 14:28
av mcNisse
Det borde gå. När man kör mysql administrator kan ju se ipadresser för de uppkopplingar som finns.
Jag tycker att det borde gå att skapa en trigger som lägger in informationen när man gör insert/udate... men jag har inte testat och har ingen aning om vilken tabell man ska slå i för att få fram informationen. Det finns ett kommando
show processlist
som listar processer...

Re: mysql: kolumn med autoifyllt ip-nummer?

Postat: 23 mar 2008, 15:38
av andol
maths57 & Thomas: Tror nog att ni missuppfattade min fråga lite lätt. Själva magin ska alltså ske i själva mysqld och det är mysql-clientens ip-nummer, inte någon webbesökare, jag är ute efter. Tack i alla fall.

mcNisse: Jo, på något sätt tycker man att det borde gå. Som du säger så håller mysqld uppenbarligen koll på varifrån en uppkoppling kommer ifrån. Om inte annat så är det ju ett kriterie i authentiseringen. Antagligen har du rätt i lösningen ligger i att använda triggers, vilket förövrigt är ett område där jag är helt grön. Sålunda dags att lära sig något nytt :-)

Re: mysql: kolumn med autoifyllt ip-nummer?

Postat: 23 mar 2008, 15:41
av Iceron

Kod: Markera allt

<?php

$ip = $_SERVER['REMOTE_ADDR'];

$connect = mysql_connect('localhost', 'user, 'pass');
mysql_select_db('raknare');
$sql = mysql_query("
SELECT * FROM raknare WHERE ip = '".$ip."'
");
if (mysql_num_rows($sql) == 0) {
$sqlrakna = mysql_query("
INSERT raknare (ip)
VALUES ('$ip')
");
php?>
Den där hittade jag i någon gammal sida jag hadde liggandes :P
hoppas den kommer till användning!
(inte jag som skrivit den btw)

Re: mysql: kolumn med autoifyllt ip-nummer?

Postat: 24 mar 2008, 09:41
av Thomas
jag vet inte..men skulle gisssa på att ip-nummer och sånt logars i någon log fil till mysql, hittar man bara rätt fil så skulle man kunna köra ett script som körs en gång i halvtimmen eller nått och importera dom där i från till en tabel eller liknade..

Re: mysql: kolumn med autoifyllt ip-nummer?

Postat: 28 mar 2008, 13:09
av maths57
andol skrev:Finns det något sätt att få en kolumn i en MySQL tabell att automatisk fyllas med ip-numret för den klient som lagrade posten/raden ifråga?
Låter du besökarna ansluta direkt till MySQL? Jag vet att programmet kan se ip-adresser om man försöker ansluta direkt till databasen. Annars brukar man väl ha något skript som sköter kontakten mellan webbsidan och databasen.

Re: mysql: kolumn med autoifyllt ip-nummer?

Postat: 28 mar 2008, 13:23
av andol
maths57 skrev:Låter du besökarna ansluta direkt till MySQL? Jag vet att programmet kan se ip-adresser om man försöker ansluta direkt till databasen. Annars brukar man väl ha något skript som sköter kontakten mellan webbsidan och databasen.
Detta rör sig inte om en webbapplikation. Begreppet besökare är inte riktigt tillämpbart i sammanhanget.