25. november 2006 - 18:31
Der er
13 kommentarer og 1 løsning
ip ban
<?PHP include "mysql.php"; $ip = $_SERVER['REMOTE_ADDR']; $bannedip = mysql_query("SELECT * FROM bannedip"); mysql_fetch_assoc($bannedip); if($ip == $bannedip) { echo "BANNED"; else { echo "UNBANNED"; } ?> Når jeg tilføjer en ip i min database, bliver den ved med at sige man er unbanned ?, Hvordan kan det være ?
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
25. november 2006 - 18:41
#1
Prøv med: <?php include "mysql.php"; $ip = $_SERVER['REMOTE_ADDR']; $bannedip = mysql_query("SELECT * FROM bannedip WHERE ip = '$ip'"); if(mysql_num_rows($bannedip) == "") { echo "Ikke banned"; }else{ echo "banned"; } ?>
25. november 2006 - 18:42
#2
Jeg har så taget udgangspunkt i at tabellen bannedip i din database indeholder et felt der hedder `ip` som indeholder en unikt ip
25. november 2006 - 18:42
#3
Hvordan har du gemt ip i DB? I hver deres row? $ip = $_SERVER["REMOTE_ADDR"]; $find_ip = mysql_query("SELECT * FROM bannedip WHERE bannedip = '". $ip ."'"); if(mysql_num_rows($find_ip) != 0) { echo"Banned!"; exit; } resten af siden
25. november 2006 - 18:43
#4
Hov, borset fra vi er enige, så er der jo lige det med feltnavn!! :O)
25. november 2006 - 18:46
#5
Jep, men husk at bruge exit; med omhu! exit; kan bruges næsten ligeså tit du vil hvis man ikke har noget design, men hvis du har et design så bliver det ikke hentet når exit; kaldes. Det kan resultere i at designet bliver halvt, eller slet ikke bliver vist. synes lige jeg vil påminde dig, hvis du ikke allerede vidste det :-)
25. november 2006 - 18:47
#6
simplus, du havde ret med dit udgangspunkt, men din kode, virker ikke.
25. november 2006 - 18:50
#7
Showsource, er en row med id, en row med ip og en row med grund det med grund er unødvendigt lige nu, da jeg ikke har lavet videre på scriptet endnu, så det med FROM bannedip WHERE bannedip = det er forkert, bannedip WHERE ip =
25. november 2006 - 18:52
#8
showsource, din gud :D. det virker nu ;), tusend tak, smækker du ikke lige et svar op :P ?
25. november 2006 - 18:52
#9
Min kode ville virke hvis jeg vidste hvad dine felter i tabellen bannedip hed :-) Så det bliver du lige nød til at fortælle. Det koden gør er jo at udtrække alle felter ud der indeholder ens egen ip også banner den dig hvis den fandt noget, ellers ikke.
25. november 2006 - 18:57
#10
simplus, din kode var rigtig nok, men den virkede ikke ?
25. november 2006 - 18:58
#11
Synes nu at simplus også skal ha' point! Og med hensyn til exit, hvis man holder det i en fil for sig, som så includes, kan man bruge return i stedet for exit, og på den måde stadig bibeholde resten af siden
25. november 2006 - 18:59
#12
mysql_num_rows($bannedip) == "" kan aldrig være tom, enten nul eller flere
25. november 2006 - 19:03
#13
stagedk -> min og showsource's kode var ens bortset fra at han gættede rigtigt med hensyn til hvad dit felt i databasen hed. Point er dog ikke det vigtigste i alle tråde, og showsource hjalp jo også så lad ham få dem. Det er fortjent. Og jeg lavede også en fejl i mysql_num_rows så jeg lærte også at jeg skal tjekke mine koder lidt mere inden jeg poster dem.
25. november 2006 - 19:16
#14
Ja, det med fejl i kode man poster ........ :O)
Vi tilbyder markedets bedste kurser inden for webudvikling