Avatar billede spidr Nybegynder
13. marts 2003 - 13:14 Der er 20 kommentarer og
1 løsning

Welkommen side ud fra ip

Jeg ved godt det er banlyst at spørge om færdige koder men ny gør jeg det altså aligevel :)

Tænkte på om der var nogen der havde et script ligene der soterede brugerne såen så hvis deres ip er i en txt fil så ryger de over på index siden og hvis det ikke er så ryger de over på en intro side hvor de så bliver skrevet i txt filen og så ser de introen såen så man kun ser intro siden første gang man besøger siden? :) ved godt vi ahr såen nogle dynamiske ip tider men aligevel :) :)
Avatar billede mjl Nybegynder
13. marts 2003 - 13:16 #1
Det er vel ok at få færdig kode - men det er også ok at sige "det vil jeg ikke gi' dig - prøv selv først..."
Avatar billede spidr Nybegynder
13. marts 2003 - 13:21 #2
Ja enig :)
og har skam også prøvet ellers ville jeg ikke komme her hehe :)
Og prøvet alt hvad jeg kunne lige fra at sammen sætte en counter og et ip banings system *G* Men det virkede ik' :)
Avatar billede exodusdk Nybegynder
13. marts 2003 - 13:21 #3
Er det ikke bedre at bruge cookies til det?
Avatar billede gizp Nybegynder
13. marts 2003 - 13:23 #4
Det er faktisk ikke så svært! Så jeg vil lige kigge på det. Gør det noget hvis det er med cookies? Så undgår du også dynamiske ip´s
Avatar billede gizp Nybegynder
13. marts 2003 - 13:27 #5
Øverst på introsiden:
<? setcookie("igen","igen"); ?>

I head sektionen:
<? if ($igen) {
    echo "<META HTTP-EQUIV="Refresh" CONTENT=";URL=index2.php">";
} else {
?>

Her alt indhold på introsiden:

dette placeres allersidst på introsiden:
<? } ?>
Avatar billede spidr Nybegynder
13. marts 2003 - 13:29 #6
Ja ku godt lave en med cockies har jeg nemmerlig allerede gjort hehe :) Men skal bruge en med ip :)Men tak aligevel :)
Avatar billede mjl Nybegynder
13. marts 2003 - 13:31 #7
Måske noget i retning af...

<? setcookie("ip","$REMOTE_ADDR"); ?>
Avatar billede mjl Nybegynder
13. marts 2003 - 13:32 #8
<? if ($ip == '127.0.0.1') {

eller...

Finde ip'er i DataBase og kalde dem $ip_fra_database :o)
Avatar billede spidr Nybegynder
13. marts 2003 - 13:33 #9
Hmmm nrj så er det jo stadig en cockie :) Mange aceptere ikke coockies :) jeg vil have alle ip'er lagret i en txt fil eller en mysql database :) nok nemest med en txt fil :)
Avatar billede mjl Nybegynder
13. marts 2003 - 13:35 #10
Hvis du har IP'erne i en DataBase, kan du jo bare tjekke hvilken IP der logger ind - og tjekke om den er i DB'en...eller hvad?
Avatar billede spidr Nybegynder
13. marts 2003 - 13:40 #11
Jo? men ka ikke finde ud af hvordan :) den hedder count.txt der har jeg alle i'er i :) den bruger jeg også til min counter :)
Avatar billede spidr Nybegynder
13. marts 2003 - 16:07 #12
Virkelig ingen der har en ide??

Ka det her bruges? :) Mit forsøg der desværre mislykkedes :S

<?
    $ip = getenv("REMOTE_ADDR");
    $fil = "count2.txt";
    $f = file($fil);
    $antal = count($f);
    $yest = time() - 1800;
    $o = "0";
    $xidag = "f";
    $idag = time();
    $idag2 = date("Y F d, H:i");
        while ($antal > $o) {
            $streg = explode(" ", $f[$o]);
                if ($ip == $streg[0]) {
                $x = "t";
                    if ($streg[1] > $yest) {
                        $xidag = "t";
                    }
                }
            $o++;
        }
        if ($xidag == "f") {
            $logg = fopen("$fil", "a");
            fputs ($logg, "$ip $idag, $idag2\n");
           
            fclose ($logg);
        }
    $f = file($fil);
    $antal = count($f);
          if ($x == "t") { // Hvis man har været der før...
              header("Location:index2.php");
        }
        else {
                header("Location:intro.pgp"); // Hvis det er første gang??
        }

?>
Avatar billede madsbrodersen Nybegynder
13. marts 2003 - 22:00 #13
Hvis du har en MySQL-base kan dette måske bruges:

<?php
$db = ipadresser;
$tid = date(dmy);
$ip = getenv("REMOTE_ADDR");

mysql_connect("localhost", "root") or
die ("Det var ikke muligt at oprette forbindelse til databasen");
mysql_select_db("admin") or
die ("Det var ikke muligt at åbne databasen");

$findestabel = "SELECT * FROM $db";
mysql_query($findestabel);
           
// tester om databasen findes - hvis ikke bliver den oprettet
if (mysql_errno() == "1146") {
                           
    echo "Denne database findes ikke - så den bliver lige oprettet!<br>";
    $nytabel = "CREATE TABLE $db(
                ipadresse varchar(15),
                dato int(6),
                  oprettet timestamp(8)
                );";

    mysql_query($nytabel) or die (mysql_error());
   
}

$iptest = mysql_query("select * from $db where ipadresse = '$ip'");

// hvis ipadressen ikke findes i databasen bliver den oprettet og bruger bliver sendt
// videre til introsiden
$testip = mysql_fetch_array($iptest);

if ($testip[ipadresse] != $ip) {

    $opretip = "insert into $db(ipadresse, dato)
                values ('$ip', '$tid')";
               
    mysql_query($opretip) or die (mysql_error());
   
    echo ".........Introsiden vises her..........";

// hvis ipadressen findes i databasen bliver tidspunktet for dette besøg opdateret i
// databasen
   
} else {

    $updateip = "update $db
                set dato = ('$tid')
                where ipadresse = '$ip'";
   
    mysql_query($updateip) or die (mysql_error());
       
    echo "..............Index-siden vises her...............";

}
?>
Avatar billede madsbrodersen Nybegynder
13. marts 2003 - 22:01 #14
Det eneste jeg ikke lige har styr på er hvordan du evt får den omdirigeret til den korrekte side hvis de skal være i hver sin fil
Avatar billede madsbrodersen Nybegynder
13. marts 2003 - 22:03 #15
Det eneste du skal have for at dette kører er en database der hedder admin og du skal evt. lige rette MySQL-bruger og -password til så det passer til din opsætning
Avatar billede spidr Nybegynder
13. marts 2003 - 22:32 #16
Er det ikke hurtigere at bruge en txt fil?
Har jo allerede en der hedder count.txt jeg meget gerne ville bruge??
Avatar billede madsbrodersen Nybegynder
13. marts 2003 - 22:37 #17
Hvad mener du med hastighed? Normalt er en database hurtigere at søge i end tekstfiler
Avatar billede spidr Nybegynder
14. marts 2003 - 10:06 #18
Ok troede bare det var omvendt :) Tak :)
Kigger på koden nu og ser om det virker :)
Avatar billede spidr Nybegynder
14. marts 2003 - 10:15 #19
Jeg vil bare sige tusind tak for koden :) den virker over alt forventning :)
Avatar billede spidr Nybegynder
14. marts 2003 - 10:44 #20
Jeg har lige et spørgsmål mere :)
Når nu jeg bruger din der :) Så vil jeg også bruge den som counter da det er for besværligta at skulle søge i to database så hvis jeg vil lave såen så man kan se besøg pr dag?? Hvordan så det?? :)
Avatar billede madsbrodersen Nybegynder
14. marts 2003 - 19:07 #21
Så kunne det være noget i denne stil:

<?php
$tid = date(dmy);
$db = ipadresser;
mysql_connect("localhost", "root") or
die ("Det var ikke muligt at oprette forbindelse til databasen");
mysql_select_db("admin") or
die ("Det var ikke muligt at åbne databasen");

$findantal = "SELECT * FROM $db where dato = '$tid'";
$dagensnr = mysql_query($findantal);
$antal = mysql_num_rows($dagensnr);

echo "Antal besøgende idag: $antal";
?>
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