txrandom Posted July 18, 2006 Share Posted July 18, 2006 I'm trying to make a php script that checks a database for blocked IP addresses. If the user's IP is on the blocked IP list, the page is suppose to not load and show a small message. I'm trying to set it up by combining the database data into an array.[code]$sql = mysql_query("SELECT ip FROM blockedips") or die(0); while ($array = mysql_fetch_array($sql)){ $data[] = $array[0];}for ($i = 0; $i < count($data); ++$i) { print $data[$i]; }[/code]That code fetches the database data and compiles it into an array. I printed the array just to make sure if works. Now I'm trying to make a conditional statement using arrays. I tried: [code]if($ip==$data[]) { code here } else { other code here }[/code]but I get an error saying I can't use []. How do I get a conditional statement to check each value in an array? I can sort of think of a very complex way, but I was thinking there would be an easy solution. Thanks for the help! Quote Link to comment https://forums.phpfreaks.com/topic/14898-using-arrays-in-conditional-statements/ Share on other sites More sharing options...
hitman6003 Posted July 18, 2006 Share Posted July 18, 2006 Use SQL to do this for you:[code]$result = mysql_query("SELECT * FROM blockedips WHERE ip = '$visitorip'") or die(mysql_error());if (mysql_num_rows($result) > 0) { //give blocked message} else { //show page}[/code] Quote Link to comment https://forums.phpfreaks.com/topic/14898-using-arrays-in-conditional-statements/#findComment-59706 Share on other sites More sharing options...
redarrow Posted July 18, 2006 Share Posted July 18, 2006 print the array out for us ok. Quote Link to comment https://forums.phpfreaks.com/topic/14898-using-arrays-in-conditional-statements/#findComment-59708 Share on other sites More sharing options...
hitman6003 Posted July 18, 2006 Share Posted July 18, 2006 If you insist on using the array, use the in_array (http://www.php.net/in_array) function:[code]if (in_array($ip, $data) { //code here } else { //other code here }[/code] Quote Link to comment https://forums.phpfreaks.com/topic/14898-using-arrays-in-conditional-statements/#findComment-59716 Share on other sites More sharing options...
txrandom Posted July 18, 2006 Author Share Posted July 18, 2006 My array just printed out the four identical values 127.0.0.1127.0.0.1127.0.0.1127.0.0.1 from the database. Thanks for the help, arrays aren't a must use, I just thought it would make it easier. The SQL version should be easier. Thanks again! Quote Link to comment https://forums.phpfreaks.com/topic/14898-using-arrays-in-conditional-statements/#findComment-59722 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.