Avatar billede kennedk Nybegynder
15. september 2005 - 22:21 Der er 11 kommentarer og
1 løsning

problem med ban system

ja jeg har et problem med mit ban system.
Jeg vil gerne have at når jeg includer denne fil (bannet.php) i min side så skal den videreføre til den smame fil (bannet.php) og skrive fx "Du er blevet bannet"
Her er den kode jeg har arbejdet med.

<?
include "connect.php";
$query = mysql_query ("SELECT * FROM ban");
while($row = mysql_fetch_array($query)){
$ip = getenv('REMOTE_ADDR');
while($ip == $row["ip"]){
print "<script>location.href='bannet.php?';</script>";
}
}


?>
Avatar billede jakobdo Ekspert
15. september 2005 - 22:26 #1
<?
include "connect.php";
$ip = getenv('REMOTE_ADDR');
$query = mysql_query ("SELECT * FROM ban WHERE ip = '".$ip."' LIMIT 1");
if(mysql_num_rows($query) > 0)
{
    //print "<script>location.href='bannet.php?';</script>";
    echo "Du er bannet";
}

?>

Jeg forstår ikke hvorfor du vil sende dem til bannet.php igen?
Men min løsning ovenover tjekker om ip er i DB hvis den er, får brugeren besked på han er bannet!
Du kan altid sende ham andetsteds med header("location: banned.php");
Avatar billede kennedk Nybegynder
15. september 2005 - 22:28 #2
jamen hvis jeg bare skriver include bannet.php så hvis koden var
<?
include "connect.php";
$query = mysql_query ("SELECT * FROM ban");
while($row = mysql_fetch_array($query)){
$ip = getenv('REMOTE_ADDR');
while($ip == $row["ip"]){
print "Du er bannet fra denne side";
}
}


?>
så kommer resten af teksten under, også er man ikke bannet.
Avatar billede kennedk Nybegynder
15. september 2005 - 22:29 #3
og din kode gør det samme problem som ved min.
Avatar billede kennedk Nybegynder
15. september 2005 - 22:31 #4
Eller nej gør den ikke :)
Tak :D
Avatar billede kennedk Nybegynder
15. september 2005 - 22:32 #5
men kan du ikke forklare din kode lidt mere?:)
Avatar billede jakobdo Ekspert
15. september 2005 - 22:33 #6
Hvis du retter koden:

if(mysql_num_rows($query) > 0)
{
    //print "<script>location.href='bannet.php?';</script>";
    echo "Du er bannet";
}

?>

til:

if(mysql_num_rows($query) > 0)
{
header("location: banned.php");
exit();
}

?>

Og så laver du siden banned.php
Hvor du f.eks. fortæller brugeren han er banned, og evt kan kontakte dig på email blabla@bla.dk
Avatar billede kennedk Nybegynder
15. september 2005 - 22:36 #7
okay :)
men kan du ikke forklare det limit? det forstod jeg ikke.
Avatar billede jakobdo Ekspert
15. september 2005 - 22:40 #8
Du trækker alle data ud af din tabel, og tester om den er magen til den du har i $ip.
Jeg valgte at lave det lidt anderledes!
Jeg spørger i databasen, om den har nogen ip som matcher den ene ip.
Og vi skal jo ikke bruge flere IP end 1, derfor limit 1
Avatar billede kennedk Nybegynder
15. september 2005 - 22:47 #9
når :)
Avatar billede jakobdo Ekspert
15. september 2005 - 22:48 #10
Og et svar!
Avatar billede kennedk Nybegynder
15. september 2005 - 22:52 #11
Nej , for det virker ikke alligevel :S
jeg bruger
Avatar billede jakobdo Ekspert
15. september 2005 - 22:54 #12
Virker det ikke?
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