ip adresse

Tags:    php

<< < 12 > >>
Jeg skal lave en side. Hvor siden skal skrive velkommen, hvis ip adresse findes i databasen MySQL

$din_ip = "SKRIV DIN IP HER";
if($_SERVER['REMOTE_ADDR'] == $din_ip){
print "Du er logget ind!";
}else{
print "Du har ikke adgang til denne side!";
}




11 svar postet i denne tråd vises herunder
3 indlæg har modtaget i alt 10 karma
Sorter efter stemmer Sorter efter dato
Undskyld er lige kommet til at lave en lille fejl :) koden skal se sådan ud

Fold kodeboks ind/udKode 


I din db skal du have et fejlt der hedder ID og et der hedder IP



Der er fejl i koden, der skal være et ekstra } ... sådan:

Fold kodeboks ind/udKode 






Nu er en ip jo ikke en streng men et tal, så det er mere nærliggende at gemme den som et tal. Det gør det også meget nemmere hvis du vil matche et helt subnet, og så sparer man omkring 70% plads.

Tabel layout:
Fold kodeboks ind/udKode 


IP'er indsættes med
Fold kodeboks ind/udKode 


Du kan matche en ip sådan:
Fold kodeboks ind/udKode 


Eller et subnet:
Fold kodeboks ind/udKode 


Eller et range:
Fold kodeboks ind/udKode 

--
Thus, I conclude



Hej Jimmi.
Her er et lille script, tabellen der er brugt hedder ipadresses.

Fold kodeboks ind/udKode 





mange tak, hvordan skal tabellen ser ud ? ?
Hej Jimmi.
Her er et lille script, tabellen der er brugt hedder ipadresses.

Fold kodeboks ind/udKode 

jimmi



hvad med datatypen .....?? id & ip

Undskyld er lige kommet til at lave en lille fejl :) koden skal se sådan ud

Fold kodeboks ind/udKode 


I din db skal du have et fejlt der hedder ID og et der hedder IP

jimmi

[Redigeret d. 22/10-05 17:20:35 af jimmi]



Sådan her:

CREATE TABLE `ipadresses` (
`ID` INT( 5 ) NOT NULL AUTO_INCREMENT ,
`IP` VARCHAR( 255 ) NOT NULL ,
PRIMARY KEY ( `ID` )
) TYPE = MYISAM ;



den skrive : Der er ikke nogle IP-Adresser i DBen

men jeg har lavet to ip adresser i db...?

Sådan her:

CREATE TABLE `ipadresses` (
`ID` INT( 5 ) NOT NULL AUTO_INCREMENT ,
`IP` VARCHAR( 255 ) NOT NULL ,
PRIMARY KEY ( `ID` )
) TYPE = MYISAM ;

jimmi



Har du husket at ændre:

$query = mysql_query("SELECT * FROM ipadresses");

at ændre tabelnavnet til det du har i din DB? Har du også husket at connecte til MySQL?



<?php
//Udføre queryen
$conn = mysql_connect("localhost", "eng_online_", "kode");
mysql_select_db("eng_online_");

$query = mysql_query("SELECT * FROM ipadresses");

//Tjekker om der er nogle IP'er i DB'en
if(mysql_num_rows($query) > 0)
{
//Looper alle data fra DB'en
while($rs = mysql_fetch_array($query))
{
//Tjekker om IP-adressen er den samme
if($rs['IP'] == $_SERVER['REMOTE_ADDR'])
$accept = true;
}

//Tjekker om man er logget ind
if($accept == true){
echo 'Velkommen';}
else {
echo 'Ikke velkommen';}
}
else
{
echo 'Der er ikke nogle IP-Adresser i DBen';
}
?>

Har du husket at ændre:

$query = mysql_query("SELECT * FROM ipadresses");

at ændre tabelnavnet til det du har i din DB? Har du også husket at connecte til MySQL?

jimmi



<< < 12 > >>
t