13. august 2003 - 15:52
Der er
10 kommentarer og 1 løsning
logge en ip i en mysql database
hejsa jeg er ved at lave en adresse bog som måske senere udvikler sig til et lille forum. men jeg vil gerne have at den logger ip adresserne fra dem som poster indlæg. har så oprettet en tabel feltnavn "ip" datatype"int(12)" atributer"" standardværdi"0" ekstra"" skal der ændres noget i databasen?? og så det her script. $dato = date("d/m-Y, l. H:i"); $usr_ip = "$remote_addr"; if ($submit == "sign!") { $query = "insert into guestbook (name, location, email, url, comments, dato, ip) values ('$name', '$location', '$email', '$url', '$comments', '$dato', '$ip')" ; mysql_query($query) or die (mysql_error()); ?> <h2>thanks for signing</h2> <h2><a href="wiev.php">wiev my guestbook</A></h2> <?PHP } else { include("sign.php"); } ?>
Annonceindlæg fra Salesforce
13. august 2003 - 16:06
#1
Nu fremgår det jo ikke hvorfra du får $ip? Men den her ser mærkelig ud: $usr_ip = "$remote_addr"; Du skal nok bruge noget i den her stil: $ip = ip2long($_SERVER['REMOTE_ADDR']);
13. august 2003 - 16:13
#2
eller bare indsætte $REMOTE_ADDR direkte ind i din query - altså: values('$name', '$location', '$email', '$url', '$comments', '$dato', '$remote_addr')"
13. august 2003 - 16:20
#3
Du skal under alle omstændigheder have omregnet til et tal: $ip = ip2long($_SERVER['REMOTE_ADDR']); eller: $ip = ip2long($REMOTE_ADDR);
13. august 2003 - 16:23
#4
Ja, eller også bare ændre feltet fra et INT til et TEXT-felt. Så kan det indsættes direkte...
13. august 2003 - 16:42
#5
Det her giver fejl <?php include("dbconnect.php"); $dato = date("d/m-Y, l. H:i"); $ip = ip2long "($REMOTE_ADDR"); if ($submit == "sign!") { $query = "insert into guestbook (name, location, email, url, comments, dato, ip) values ('$name', '$location', '$email', '$url', '$comments', '$dato', '$ip')" ; mysql_query($query) or die (mysql_error()); ?> Parse error: parse error in /home/administrator/www/sider/guestbook/create_entry.php on line 15
13. august 2003 - 16:45
#6
prøvede og bruge $ip = ip2long($_SERVER['REMOTE_ADDR']); men ipen der kommer i db ser lidt underlig ud ogf passer slet ikke på min ip
13. august 2003 - 16:54
#8
hvis du bruger ip2long er det "bare" et tal du gemmer - altså det tal der repræsenterer ip-adressen - derfor ser det måske "underligt" ud.
13. august 2003 - 16:56
#9
jeg skal ikke hive ip´en ud, den skal blive i DB, af sikkerheds mæssige årsager.
13. august 2003 - 16:59
#10
funger nu ;-D det blev til <?php include("dbconnect.php"); $dato = date("d/m-Y, l. H:i"); $ip = $REMOTE_ADDR; if ($submit == "sign!") { $query = "insert into guestbook (name, location, email, url, comments, dato, ip) values ('$name', '$location', '$email', '$url', '$comments', '$dato', '$ip')" ; mysql_query($query) or die (mysql_error()); ?> og ipen bliver i databasen, da det er en privat adresse
11. oktober 2003 - 09:29
#11
Der var ingen der lagde svar så nupper jeg selv point igen :-D
Vi tilbyder markedets bedste kurser inden for webudvikling