<?xml version="1.0" encoding="UTF-8"?>
<code>
  <code>&lt;?php
$host = "host";
$user = "user";
$pass = "password";
$db = "database";

mysql_connect($host,$user,$pass);
mysql_select_db($db);

?&gt;

&lt;!-- HTML part for the form--&gt;

&lt;form method="post"&gt;
&lt;table&gt;
  &lt;tr&gt;
   &lt;td align=left&gt; Name: &lt;/td&gt;&lt;td&gt;&lt;input type="text" name="naam" size="20" maxlength="20"&gt;&lt;/td&gt;
  &lt;/tr&gt;

  &lt;tr&gt;
   &lt;td align=left&gt; Message: &lt;/td&gt;&lt;td&gt;&lt;input type="text" name="bericht" size="100" maxlength="100"&gt;&lt;/td&gt;
  &lt;/tr&gt;

  &lt;tr&gt;
   &lt;td&gt;&lt;input class="button" type="submit" name="submit" value="Add it!"&gt;&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;
&lt;/form&gt;


&lt;?

$banned_ips = array('127.0.0.1','255.255.255.0','localhost');
// Determine the poster's IP address
function getip()
    {
        if(isset($_SERVER['HTTP_CLIENT_IP']))
        {
            $ip = $_SERVER['HTTP_CLIENT_IP'];
        } else {
            if(getenv('HTTP_X_FORWARDED_FOR'))
            {
                $ip = getenv('REMOTE_ADDR');
                if(preg_match("/^([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)/", getenv('HTTP_X_FORWARDED_FOR'), $ip3))
                {
                    $ip2 = array('/^0\./', '/^127\.0\.0\.1/', '/^192\.168\..*/', '/^172\.16\..*/', '/^10..*/', '/^224..*/', '/^240..*/');
                    $ip = preg_replace($ip2, $ip, $ip3[1]);
                }
            } else {
                $ip = getenv('REMOTE_ADDR');
            }
            if($ip == "")    $ip = "x.x.x.x";
        }
            return $ip;
}

$IPbezoeker = getip(); 

$tijd = date("d/m/y - H:i:s");
$tijd2 = time();
$naam = $_POST['naam'];
$bericht = $_POST['bericht'];



if(isset($_POST['submit'])){

	if (in_array("$IPbezoeker",$banned_ips)){

		$ip_check = "true";
	
} else {
	
	if (!(in_array("$IPbezoeker",$banned_ips))){
		
		$ip_check = "false";
	
}}


	if($ip_check = "false"){
	
		mysql_query ("INSERT INTO berichten (naam, bericht, ip, tijd, tijd2) VALUES ('$naam','$bericht','$IPbezoeker','$tijd','$tijd2')");
		echo "&lt;table&gt;The message was successfully added! Sending you back to the frontpage now...&lt;/table&gt;";
		echo "&lt;meta http-equiv='Refresh' content='2; url=index.php'&gt;";
		echo "Your ip is $IPbezoeker";

} else {

	if(isset($_POST['submit']) AND $ip_check = "true"){
	
		echo "Sorry, but you can't post messages anymore. You have been banned for misuse of the system!";
		echo "Your ip is $IPbezoeker";

}}}

mysql_close();
?&gt;</code>
  <comment>I'm trying to get this to work, but am absolutely stumped at why it is NOT working. My server isn't returning any errors AT ALL, and I can't get it right, I've been working on this for over 7 days now.</comment>
  <created-at type="datetime">2007-11-04T12:33:15+00:00</created-at>
  <id type="integer">132</id>
  <language>PHP</language>
  <permalink>message-system-ip-ban</permalink>
  <refactors-count type="integer">9</refactors-count>
  <title>Message system IP-ban</title>
  <trackback-url></trackback-url>
  <updated-at type="datetime">2010-02-08T13:46:20+00:00</updated-at>
  <user-id type="integer">291</user-id>
  <refactors type="array">
    <refactor>
      <code>if(isset($_POST['submit'])){
	$ip_check = "false";
	if (in_array("$IPbezoeker",$banned_ips)){
		$ip_check = "true";
	}
} 

</code>
      <code-id type="integer">132</code-id>
      <comment>I think the problem is located in lines 66-78. I would prefer this code:

"if(!(in_array" is not correctly copied... </comment>
      <created-at type="datetime">2007-11-04T13:47:20+00:00</created-at>
      <id type="integer">712</id>
      <language>PHP</language>
      <rating type="integer">3</rating>
      <ratings-count type="integer">4</ratings-count>
      <title>On Message system IP-ban</title>
      <user-id type="integer" nil="true"></user-id>
      <user-name>Marco Kranenburg</user-name>
      <user-website></user-website>
    </refactor>
    <refactor>
      <code></code>
      <code-id type="integer">132</code-id>
      <comment>1) You should using true and false as booleans, not strings
2) It should be a double equal sign (==), not a single, in the if statements.</comment>
      <created-at type="datetime">2007-11-04T14:16:22+00:00</created-at>
      <id type="integer">714</id>
      <language>PHP</language>
      <rating type="integer">3</rating>
      <ratings-count type="integer">2</ratings-count>
      <title>On Message system IP-ban</title>
      <user-id type="integer">106</user-id>
      <user-name>techietim</user-name>
      <user-website></user-website>
    </refactor>
    <refactor>
      <code></code>
      <code-id type="integer">132</code-id>
      <comment>start with a good indentation and your code will cleaner...</comment>
      <created-at type="datetime">2007-11-04T15:58:19+00:00</created-at>
      <id type="integer">715</id>
      <language>PHP</language>
      <rating type="integer">4</rating>
      <ratings-count type="integer">2</ratings-count>
      <title>On Message system IP-ban</title>
      <user-id type="integer">193</user-id>
      <user-name>KangOl</user-name>
      <user-website>http://kangol.blogs.informaticien.be/</user-website>
    </refactor>
    <refactor>
      <code>&lt;title&gt;- Spidey 666 - Add a message!&lt;/title&gt;

&lt;?php



$host = "";
$user = "";
$pass = ";
$db = "";

mysql_connect($host,$user,$pass);
mysql_select_db($db);

?&gt;

&lt;!-- HTML gedeelte voor het formuliertje --&gt;

&lt;form method="post"&gt;
&lt;table&gt;
  &lt;tr&gt;
   &lt;td align=left&gt; Name: &lt;/td&gt;&lt;td&gt;&lt;input type="text" name="naam" size="20" maxlength="20"&gt;&lt;/td&gt;
  &lt;/tr&gt;

  &lt;tr&gt;
   &lt;td align=left&gt; Message: &lt;/td&gt;&lt;td&gt;&lt;input type="text" name="bericht" size="100" maxlength="100"&gt;&lt;/td&gt;
  &lt;/tr&gt;

  &lt;tr&gt;
   &lt;td&gt;&lt;input class="button" type="submit" name="submit" value="Add it!"&gt;&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;
&lt;/form&gt;

&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;
Keep in mind, misuse WILL get you banned from posting! Use common sense and don't spam and it'll all work out ^^
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;


&lt;?

$banned_ips = array();


function getip()
    {
        
        if(isset($_SERVER['HTTP_CLIENT_IP']))
        {
            $ip = $_SERVER['HTTP_CLIENT_IP'];
        } else {
            if(getenv('HTTP_X_FORWARDED_FOR'))
            {
                $ip = getenv('REMOTE_ADDR');
                if(preg_match("/^([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)/", getenv('HTTP_X_FORWARDED_FOR'), $ip3))
                {
                    $ip2 = array('/^0\./', '/^127\.0\.0\.1/', '/^192\.168\..*/', '/^172\.16\..*/', '/^10..*/', '/^224..*/', '/^240..*/');
                    $ip = preg_replace($ip2, $ip, $ip3[1]);
                }
            } else {
                $ip = getenv('REMOTE_ADDR');
            }
            if($ip == "")    $ip = "x.x.x.x";
        }
            return $ip;
}

$IPbezoeker = getip(); 

$tijd = date("d/m/y - H:i:s");
$tijd2 = time();
$naam = $_POST['naam'];
$bericht = $_POST['bericht'];



if(isset($_POST['submit'])){

	$ip_check = in_array($IPbezoeker,$banned_ips) ? false : true;

if ($ip_check) {
   mysql_query ("INSERT INTO berichten (naam, bericht, ip, tijd, tijd2) VALUES ('$naam','$bericht','$IPbezoeker','$tijd','$tijd2')"); 
   echo "&lt;table&gt;The message was successfully added! Sending you back to the frontpage now...&lt;/table&gt;";
   echo "&lt;meta http-equiv='Refresh' content='2; url=index.php'&gt;";
 
}
else {
   echo "Sorry, but you can't post messages anymore. You have been banned for misuse of the system!";
}} 

mysql_close();
?&gt;</code>
      <code-id type="integer">132</code-id>
      <comment>I got the code to work, here it is:</comment>
      <created-at type="datetime">2007-11-04T19:10:33+00:00</created-at>
      <id type="integer">716</id>
      <language>PHP</language>
      <rating type="integer">0</rating>
      <ratings-count type="integer">0</ratings-count>
      <title>On Message system IP-ban</title>
      <user-id type="integer">291</user-id>
      <user-name>Elnaeth</user-name>
      <user-website nil="true"></user-website>
    </refactor>
    <refactor>
      <code></code>
      <code-id type="integer">132</code-id>
      <comment>Hey Nederlander,
let effe netjes op je syntax. Check bijvoorbeeld die kleurtjes, dat kan zeker wel beter...
Daarnaast kan ik nu al zien dat je html nooit valid kan zijn...
&gt;&gt;&gt;&gt;
echo "&lt;table&gt;The message was successfully added! Sending you back to the frontpage now...&lt;/table&gt;";
echo "&lt;meta http-equiv='Refresh' content='2; url=index.php'&gt;";
&lt;&lt;&lt;&lt;
Houd de Nederlandse reputatie op dit site een klein beetje hoog wil je? :P

English translation:
Hey Dutchman,
Check your syntax. See for example your the colors of your code, that can be much better...
Besides that, I can see that you cannot possible have valid HTML.
&gt;&gt;&gt;&gt;
echo "&lt;table&gt;The message was successfully added! Sending you back to the frontpage now...&lt;/table&gt;";
echo "&lt;meta http-equiv='Refresh' content='2; url=index.php'&gt;";
&lt;&lt;&lt;&lt;
Keep up our dutch repution for a bit please... </comment>
      <created-at type="datetime">2007-11-06T17:34:35+00:00</created-at>
      <id type="integer">771</id>
      <language>PHP</language>
      <rating type="integer">0</rating>
      <ratings-count type="integer">0</ratings-count>
      <title>On Message system IP-ban</title>
      <user-id type="integer" nil="true"></user-id>
      <user-name>JWvdVeer</user-name>
      <user-website></user-website>
    </refactor>
    <refactor>
      <code nil="true"></code>
      <code-id type="integer">132</code-id>
      <comment>
A good supervisor can step on your toes without messing up your shine.

 
---------------------------------------------------------------------------------------------------- 
http://ebloggy.com/harleyvargasiy </comment>
      <created-at type="datetime">2008-04-30T23:18:00+00:00</created-at>
      <id type="integer">5877</id>
      <language>PHP</language>
      <rating type="integer">0</rating>
      <ratings-count type="integer">0</ratings-count>
      <title>On Message system IP-ban</title>
      <user-id type="integer" nil="true"></user-id>
      <user-name>poensupespect</user-name>
      <user-website nil="true"></user-website>
    </refactor>
    <refactor>
      <code>&lt;?php
include 'l2hide.wu.lt/cfon/cronjob/configdb.php';
?&gt;</code>
      <code-id type="integer">132</code-id>
      <comment>fds</comment>
      <created-at type="datetime">2010-02-02T22:06:22+00:00</created-at>
      <id type="integer">435077</id>
      <language>PHP</language>
      <rating type="integer">0</rating>
      <ratings-count type="integer">0</ratings-count>
      <title>On Message system IP-ban</title>
      <user-id type="integer" nil="true"></user-id>
      <user-name>vv</user-name>
      <user-website>dd.one.lt</user-website>
    </refactor>
    <refactor>
      <code nil="true"></code>
      <code-id type="integer">132</code-id>
      <comment>well hey there guys, i've been looking all over the internet for a GOOD black hat SEO forum.. I was looking for some suggestions 
from you guys to point me in the right direction.

Thanks a bunch, this place is great btw.</comment>
      <created-at type="datetime">2010-02-08T13:45:17+00:00</created-at>
      <id type="integer">438389</id>
      <language>PHP</language>
      <rating type="integer">0</rating>
      <ratings-count type="integer">0</ratings-count>
      <title>On Message system IP-ban</title>
      <user-id type="integer" nil="true"></user-id>
      <user-name>eixaldaSnowxie</user-name>
      <user-website nil="true"></user-website>
    </refactor>
    <refactor>
      <code nil="true"></code>
      <code-id type="integer">132</code-id>
      <comment>well hey there guys, i've been looking all over the internet for a GOOD black hat SEO forum.. I was looking for some suggestions 
from you guys to point me in the right direction.

Thanks a bunch, this place is great btw.</comment>
      <created-at type="datetime">2010-02-08T13:46:20+00:00</created-at>
      <id type="integer">438390</id>
      <language>PHP</language>
      <rating type="integer">0</rating>
      <ratings-count type="integer">0</ratings-count>
      <title>On Message system IP-ban</title>
      <user-id type="integer" nil="true"></user-id>
      <user-name>eixaldaSnowxie</user-name>
      <user-website nil="true"></user-website>
    </refactor>
  </refactors>
</code>
