$_REQUEST information not being passed through in IE
<p>I am having a bizare problem where I have a script that works elsewhere on the site but refuses to work for me now. The problem is exclusive to IE, it works fine in Mozilla.
Below is the form:</p>

<pre><code>&lt;form class="element_form" action="general_image.php" method="post"&gt;

 &lt;?php generate_input('hidden', '', 'id', $id);?&gt;
 &lt;input type="image" src="../images/delete.gif" name="action" value="delete" class="button" /&gt;
 &lt;input type="image" src="../images/tick.gif" name="action" value="active_switch" class="button" /&gt;

&lt;/form&gt;
</code></pre>

<p>Here is the code that is supposed to work:</p>

<pre><code>&lt;?php

include('header.php');

$db-&gt;connect();

$table = 'general_image';

$page = 'general';

$region = $_SESSION['region'];

$action = $secure-&gt;secure_string($_REQUEST['action']);
$id = $secure-&gt;secure_string($_POST['id']);

$max_active = 1;

if($action == 'active_switch' || $action == 'delete'){

    $response = array();

    $response['action'] = $action;
    $response['id'] = $id;

    if($action == 'active_switch'){

     $query = 'SELECT * FROM general WHERE region = "' . $region . '"';

     $result = mysql_query($query);

     if(!$result) {

      $utility-&gt;fail($action, 'query error: ' . $query);

     }else{

      $row = mysql_fetch_assoc($result);

      $already_active = false;

      $active = '';

      if($id == $row['fifi']){

       $already_active = true;
      }

      $active .= $row['fifi'];

      $response['results'] = $active;

      if(!$already_active){

       $update = '';
       $active = '';

       $update .= 'fifi="' . $id . '"';

       $active .= $id;

       $query = 'UPDATE general SET ' . $update . ' WHERE region = "' . $region . '"';

       $response['results'] = $active;

      }else{

        $utility-&gt;redirect($page . '.php');

      }
     }

    }elseif($action == 'delete') {

     $query = "DELETE FROM $table WHERE id=" . $id;
    }

    echo $query . "hello";


    if(!mysql_query($query)) {

     $utility-&gt;fail($action, 'query error: ' . $query);
    }
</code></pre>

<p>If someone could tell me what I'm doing wrong that would be great. Thanks</p>

<p>EDIT</p>

<pre><code>$action = $secure-&gt;secure_string does the following:

    function secure_string($string)
    { 
     return (strip_tags(addslashes(mysql_real_escape_string(stripslashes($string)))));
    }
</code></pre>
