[slotje] ip opslaan in database

  • Bedankt allemaal.
    Het is me gelukt, heb zelf uitgezocht hoe ik de hostname kon meesturen.


    PHP
    mysql_query("INSERT INTO `ip_log` (ip, host, datum, tijd) VALUES ('".getenv("REMOTE_ADDR")."','".gethostbyaddr($_SERVER['REMOTE_ADDR'])."','".date("d-m-Y")."','".date("H:i:s")."')");


    :cheer:


    Goedemiddag CP'ers:cheer:,


    Ik heb een vraag.
    Ik heb een website online staan waar de ip adressen opgeslagen worden in een .txt file.


    Nu is mijn vraag:
    Weten jullie hoe ik de ip adressen ook automatisch kan opslaan in de database ?
    Dus dat er in de database de ip, hostname en tijd van bezoek ingevoerd word.
    Ik weet dat dit nogal wat data / load kan kosten maar het is gewoon nodig.
    Ip adressen worden niet aan derden gedeeld of wat dan ook, puur opgeslagen om misbruik te voorkomen.


    Wil het graag zoals dit in de db hebben:


    ID
    IP
    HOST
    DATUM
    TIJD


    Zodat ik ze via het admin panel kan bekijken op id.


    Met vriendelijke groet,
    r-mulder.

    Postcounter: 100 - 200 - 300 - 400 - 500 - 600 - 700 - 800 - 900 - 1000

  • Guest, wil je besparen op je domeinnamen? (ad)
  • Dat is zeker niet wat ik bedoel en ook niet wil :p
    Ik wil ze niet uit de tekstbestand laten halen maar dat het automatisch ingevoerd word als je http://www.site.nl bezoekt in de database.


    Het word al opgeslagen in een .txt file, maar wil graag bij binnenkomst van een bezoeker de IP, HOST, DATUM & TIJD opslaan in de database.
    Wel met ID's, om dit gesorteerd te kunnen bekijken in de admin panel.

    Postcounter: 100 - 200 - 300 - 400 - 500 - 600 - 700 - 800 - 900 - 1000

  • Laat PHP gewoon het bestand lezen en het in een database zetten bij elk uniek IP adres?
    Dit is best wel basic kijk anders eens op http://be2.php.net/manual/en/ref.filesystem.php daar staat alle nodige informatie.

    Nieuwe reactie samengevoegd met originele reactie op 02.11.11 18:44:55:
    Dit is trouwens nog een zeer handige link: http://www.ibm.com/developerworks/library/os-php-readfiles/


    Als je er dan nog niet uitgeraakt zal ik wel eens een voorbeeld geven ;)
    Maar hier zou je toch al aardig mee op weg geholpen zijn.


  • Dit is momenteel wat ik heb om het puur op te slaan in een .txt file.
    Nu wil ik het tevens niet alleen in de txt hebben maar ook in de database :)

    Postcounter: 100 - 200 - 300 - 400 - 500 - 600 - 700 - 800 - 900 - 1000

  • Vind je het trouwens zelf niet wat omslachtig? Waarom niet gewoon direct in je database plaatsen en achteraf verwerken in een tekstbestand ? + tekstbestanden zijn redelijk onveilig aangezien iedereen erbij kan die de naam en het url ervan weet.


    Waarom wil je het eigenlijk eerst in een tekstbestand hebben en daarna pas in je database om het achteraf uit te lezen in je admin paneel?

    Nieuwe reactie samengevoegd met originele reactie op 02.11.11 19:55:40:
    Hmm, jou script is wel niet veilig, maar ja.


    Dit is wat ik in elkaar heb gestoken het is verre van effectief maar zo zou het ongeveer moeten werken alleen gaat hij niet in elke nieuwe regel splitsen maar na elke - .



    Heb geen zin om uit te zoeken hoe je dat oplost, zal iemand anders wel mee helpen.
    Maar dit is toch al een begin ;)

  • als iemand met een werkend scriptje komt xD heeft diegene mij ook geholpen lol, ik wil dit namelijk ook wel.. maar dan niet dat ze bezoeken maar wanneer ze een post plaatsen. :p succ6(a)

    O o
    /¯/__________________________/¯¯
    | <๖ۣۜJunior Front-end Webdeveloper/>
    \_\¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯\__
    /||\
    /¯\
    Never be afraid to try something new. Remember that a lone amateur built the Ark. A large group of professionals built the Titanic.

  • Als je hem in de database wilt zetten dan maak je gewoon een query die het in de database opslaat in bijvoorbeeld ip_logs of hoe je tabel ook heet:


    PHP
    mysql_query("INSERT INTO `ip_logs` (ip, host, datum, tijd) VALUES ('".getenv("REMOTE_ADDR")."','".getenv("REMOTE_HOST")."','".date("d-m-Y")."','".date("H:i:s")."')");


    Het id krijgt een auto increment dus die hoeft niet meegegeven te worden in de query.


    Is dit een "simpele" oplossing die je zocht ?

  • Heb het script online staan.. werkt nu ook voor een gedeelte.
    Hij geeft mij de ip, datum en tijd correct aan :cheer:


    Alleen nu geeft hij bij elke ID 0 aan en word de hostname niet mee gestuurd.


    Hoop dat jullie me nog ff kunnen helpen :cheer:

    Postcounter: 100 - 200 - 300 - 400 - 500 - 600 - 700 - 800 - 900 - 1000

  • Opgelost !!


    PHP
    mysql_query("INSERT INTO `ip_log` (ip, host, datum, tijd) VALUES ('".getenv("REMOTE_ADDR")."','".gethostbyaddr($_SERVER['REMOTE_ADDR'])."','".date("d-m-Y")."','".date("H:i:s")."')");

    Postcounter: 100 - 200 - 300 - 400 - 500 - 600 - 700 - 800 - 900 - 1000

Participate now!

Heb je nog geen account? Registreer je nu en word deel van onze community!