Avatar billede krydset Nybegynder
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");
}
?>
Avatar billede detox Nybegynder
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']);
Avatar billede jaw Nybegynder
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')"
Avatar billede detox Nybegynder
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);
Avatar billede jaw Nybegynder
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...
Avatar billede krydset Nybegynder
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
Avatar billede krydset Nybegynder
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
Avatar billede detox Nybegynder
13. august 2003 - 16:53 #7
$ip = ip2long($_SERVER['REMOTE_ADDR']); omregner jo din dottede ip-adresse til den egentlige adresse. Det har bl.a. de fordele at du kan sortere og kalkulere med dine ip-adresser. Du skal bare omregne med long2ip, når du hiver adressen ud igen.
Se:
http://dk2.php.net/manual/en/function.long2ip.php
http://dk2.php.net/manual/en/function.ip2long.php
Avatar billede tipsen Nybegynder
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.
Avatar billede krydset Nybegynder
13. august 2003 - 16:56 #9
jeg skal ikke hive ip´en ud, den skal blive i DB, af sikkerheds mæssige årsager.
Avatar billede krydset Nybegynder
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
Avatar billede krydset Nybegynder
11. oktober 2003 - 09:29 #11
Der var ingen der lagde svar så nupper jeg selv point igen :-D
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester