Page 1 of 1

IE6 not submitting while IE7 & Firefox are OK - IE6 bug

Posted: Fri Apr 27, 2007 2:56 am
by fibag
Hi,

I've developped a site where several forms are working perfectly. In the following specific for however, the several "submit" buttons (I've a serie of them to act each time on a specific MySql table row) do not submit values (submit function "reacts") in IE6, while IE7 and Firefow behave normally.

Any idea what it could be ? Bug or just dummy programming ?

Thanks in advance

------------ Here is the form code

Code: Select all

<?php
echo "
<form name='user' id='user' enctype='multipart/form-data' action='updatetab_partner.php?language=$language&uname=$uname' method='post'> 
<td width='20' style='border-left: #87A9B7 1px solid;padding-left:2px;padding-bottom:4px;padding-top:4px;border-top: #8D9598 1px solid'>&nbsp;</td>

      <td width='80' style='padding-left:4px;padding-bottom:4px;padding-top:4px;border-top: #8D9598 1px solid'>
        <input name=\"fname\" style=\"width: 70px;height: 15px;\" type=\"text\" class=\"lightbox\" id=\"fname\" value=\"".stripslashes($fname)."\" size=\"20\" maxlength=\"30\" />
      </td>
      <td width='80' style='padding-left:4px;padding-bottom:4px;padding-top:4px;border-top: #8D9598 1px solid'>
        <input name=\"lname\" style=\"width: 70px;height: 15px;\" type=\"text\" class=\"lightbox\" id=\"lname\" value=\"".stripslashes($lname)."\" size=\"20\" maxlength=\"30\" />
      </td>
      <td width='80' style='padding-left:4px;padding-bottom:4px;padding-top:3px;border-top: #8D9598 1px solid'>
        <select size='1' name='country2' id='country2' class='lightbox' style='width: 80px;height: 18px;border-top: #8D9598 1px solid'>
		            <option value='Country'>"._US_COUNTRY."</option>
		            <option value='belgium'>"._CO_BE."</option>
		            <option value='netherlands'>"._CO_NL."</option>
		            <option value='luxemburg'>"._CO_LU."</option></select>  
      </td>
      <td width='80' style='padding-left:4px;padding-bottom:4px;padding-top:4px;border-top: #8D9598 1px solid'>
        <input name=\"email\" style=\"width: 100px;height: 15px;\" type=\"text\" class=\"lightbox\" id=\"email\" value=\"".stripslashes($email)."\" size=\"100\" maxlength=\"60\" />
      </td>
      <td width='80' style='padding-left:4px;padding-bottom:4px;padding-top:4px;border-top: #8D9598 1px solid'>
        <input name=\"company\" style=\"width: 70px;height: 15px;\" type=\"text\" class=\"lightbox\" id=\"company\" value=\"".stripslashes($company)."\" size=\"20\" maxlength=\"30\" />
      </td>
      <td width='80' style='padding-left:4px;padding-bottom:4px;padding-top:4px;border-top: #8D9598 1px solid'>
        <input name=\"uname2\" style=\"width: 70px;height: 15px;\" type=\"text\" class=\"lightbox\" id=\"uname2\" value=\"".stripslashes($uname2)."\" size=\"20\" maxlength=\"20\" />
      </td>
      <td width='20' style='padding-left:4px;padding-bottom:4px;padding-top:3px;border-top: #8D9598 1px solid'>
        <select size='1' name='tier' id='tier' class='lightbox' style='width: 30px;height: 18px;border-top: #8D9598 1px solid'>
		            <option value='-'>-</option>
                <option value='2'>2</option>
		            <option value='1'>1</option>
                </select>
      </td>
      <td colspan='3' style='padding-left:4px;padding-bottom:4px;padding-top:6px;border-right: #8D9598 1px solid;border-top: #8D9598 1px solid'>
        <input src='images/340158647.gif' type='image' class='formButton' name='submit'  id='submit' value='"._US_SUBMIT."'/>
        <input type='hidden' name='op' id='op' value='add' />
        <input type='hidden' name='country' id='country' value='$country' />
      </td>
</tr><tr>
<td colspan='11' align='center' height='30' bgcolor='#4E8BA1' style='padding-bottom:2px;padding-top:6px'>
<H2 class='whitepromo'>SBO - Partner user's management</H2>
</td>
</tr>

";

// positionnement en-tête de colonnes
switch ($sortorder) {
  
case 'uid':
default:
  if ($direction == 'ASC') {
    $query = $query1." ORDER BY uid DESC LIMIT $i , $interval ";
    $direction = 'DESC';
  } else {
    $query = $query1." ORDER BY uid ASC LIMIT $i , $interval ";
    $direction = 'ASC';
  } 
  break;

case 'fname':
  if ($direction == 'ASC') {
    $query = $query1." ORDER BY fname DESC LIMIT $i , $interval ";
    $direction = 'DESC';
  } else {
    $query = $query1." ORDER BY fname ASC LIMIT $i , $interval ";
    $direction = 'ASC';
  } 
  break;

case 'lname':
  if ($direction == 'ASC') {
    $query = $query1." ORDER BY lname DESC LIMIT $i , $interval ";
    $direction = 'DESC';
  } else {
    $query = $query1." ORDER BY lname ASC LIMIT $i , $interval ";
    $direction = 'ASC';
  } 
  break;
  
case 'country':
  if ($direction == 'ASC') {
    $query = $query1." ORDER BY country DESC LIMIT $i , $interval ";
    $direction = 'DESC';
  } else {
    $query = $query1." ORDER BY country ASC LIMIT $i , $interval ";
    $direction = 'ASC';
  } 
  break;
  
case 'email':
  if ($direction == 'ASC') {
    $query = $query1." ORDER BY email DESC LIMIT $i , $interval ";
    $direction = 'DESC';
  } else {
    $query = $query1." ORDER BY email ASC LIMIT $i , $interval ";
    $direction = 'ASC';
  } 
  break;
  
case 'uname':
  if ($direction == 'ASC') {
    $query = $query1." ORDER BY uname DESC LIMIT $i , $interval ";
    $direction = 'DESC';
  } else {
    $query = $query1." ORDER BY uname ASC LIMIT $i , $interval ";
    $direction = 'ASC';
  } 
  break;
  
case 'company':
  if ($direction == 'ASC') {
    $query = $query1." ORDER BY company DESC LIMIT $i , $interval ";
    $direction = 'DESC';
  } else {
    $query = $query1." ORDER BY company ASC LIMIT $i , $interval ";
    $direction = 'ASC';
  } 
  break;
  
case 'tier':
  if ($direction == 'ASC') {
    $query = $query1." ORDER BY tier DESC LIMIT $i , $interval ";
    $direction = 'DESC';
  } else {
    $query = $query1." ORDER BY tier ASC LIMIT $i , $interval ";
    $direction = 'ASC';
  } 
  break;
        
}

if ($query == '') {
    $query = "SELECT * FROM `users_sbo` LIMIT 0 , $interval";
  }
$result=mysql_query($query) or die ("requête invalide : " . mysql_error());


if ($sortorder == 'uid') {
  if ($direction=='ASC') {
    echo "<td width='20' bgcolor='#4E8BA1' style='padding-left:2px;padding-bottom:4px;padding-top:4px;border-left: #87A9B7 1px solid'>
            <h2 class='whitepromo'><a href=updatetab_partner.php?language=$language&uname=$uname&i=$i&sortorder=uid&direction=$direction&country=$country><h2 class='whitepromo'>ID</h2><img src='images/button_down.gif' width='15' height='15' /></a>
                        </td>";
  } else {
    echo "<td width='20' bgcolor='#4E8BA1' style='padding-left:4px;padding-bottom:4px;padding-top:4px;border-left: #87A9B7 1px solid'>
            <a href=updatetab_partner.php?language=$language&uname=$uname&i=$i&sortorder=uid&direction=$direction&country=$country><h2 class='whitepromo'>ID</h2><img src='images/button_up.gif' width='15' height='15' /></a>
                        </td>";
  }
} else {
    echo "
    <td width='20' bgcolor='#4E8BA1' style='padding-left:4px;padding-bottom:4px;padding-top:4px;border-left: #87A9B7 1px solid'>
        <a href=updatetab_partner.php?language=$languageuname=$uname&i=$i&sortorder=uid&direction=$direction&country=$country><h2 class='whitepromo'>ID</h2></a>
                        </td>";
         }
if ($sortorder == 'fname') {
  if ($direction=='ASC') {
    echo "<td width='80' bgcolor='#4E8BA1' style='padding-left:4px;padding-bottom:4px;padding-top:4px;'>
    <a href=updatetab_partner.php?language=$language&uname=$uname&i=$i&sortorder=fname&direction=$direction&country=$country><h2 class='whitepromo'>"._US_FNAME."<img src='images/button_down.gif' width='12' height='12' /></h2></a></td>";
  } else {
    echo "<td width='80' bgcolor='#4E8BA1' style='padding-left:4px;padding-bottom:4px;padding-top:4px;'><a href=updatetab_partner.php?language=$language&uname=$uname&i=$i&sortorder=fname&direction=$direction&country=$country><h2 class='whitepromo'>"._US_FNAME."<img src='images/button_up.gif' width='12' height='12' /></h2></a></td>";
  }
} else {
    echo "<td width='80' bgcolor='#4E8BA1' style='padding-left:4px;padding-bottom:4px;padding-top:4px;'><a href=updatetab_partner.php?language=$language&uname=$uname&i=$i&sortorder=fname&direction=$direction&country=$country><h2 class='whitepromo'>"._US_FNAME."</h2></a></td>";
         }
if ($sortorder == 'lname') {
  if ($direction=='ASC') {
    echo "<td width='80' bgcolor='#4E8BA1' style='padding-left:4px;padding-bottom:4px;padding-top:4px;'><a href=updatetab_partner.php?language=$language&uname=$uname&i=$i&sortorder=lname&direction=$direction&country=$country><h2 class='whitepromo'>"._US_LNAME."<img src='images/button_down.gif' width='12' height='12' /></h2></a></td>";
  } else {
    echo "<td width='80' bgcolor='#4E8BA1' style='padding-left:4px;padding-bottom:4px;padding-top:4px;'><a href=updatetab_partner.php?language=$language&uname=$uname&i=$i&sortorder=lname&direction=$direction&country=$country><h2 class='whitepromo'>"._US_LNAME."<img src='images/button_up.gif' width='12' height='12' /></h2></a></td>";
  }
} else {
    echo "<td width='80' bgcolor='#4E8BA1' style='padding-left:4px;padding-bottom:4px;padding-top:4px;'><a href=updatetab_partner.php?language=$language&uname=$uname&i=$i&sortorder=lname&direction=$direction&country=$country><h2 class='whitepromo'>"._US_LNAME."</h2></a></td>";
         }
if ($sortorder == 'country') {
  if ($direction=='ASC') {
    echo "<td width='80' bgcolor='#4E8BA1' style='padding-left:4px;padding-bottom:4px;padding-top:4px;'><a href=updatetab_partner.php?language=$language&uname=$uname&i=$i&sortorder=country&direction=$direction&country=$country><h2 class='whitepromo'>"._US_COUNTRY."<img src='images/button_down.gif' width='12' height='12' /></h2></a></td>";
  } else {
    echo "<td width='80' bgcolor='#4E8BA1' style='padding-left:4px;padding-bottom:4px;padding-top:4px;'><a href=updatetab_partner.php?language=$language&uname=$uname&i=$i&sortorder=country&direction=$direction&country=$country><h2 class='whitepromo'>"._US_COUNTRY."<img src='images/button_up.gif' width='12' height='12' /></h2></a></td>";
  }
} else {
    echo "<td width='80' bgcolor='#4E8BA1' style='padding-left:4px;padding-bottom:4px;padding-top:4px;'><a href=updatetab_partner.php?language=$language&uname=$uname&i=$i&sortorder=country&direction=$direction&country=$country><h2 class='whitepromo'>"._US_COUNTRY."</h2></a></td>";
         }
if ($sortorder == 'email') {
  if ($direction=='ASC') {
    echo "<td width='80' bgcolor='#4E8BA1' style='padding-left:4px;padding-bottom:4px;padding-top:4px;'><a href=updatetab_partner.php?language=$language&uname=$uname&i=$i&sortorder=email&direction=$direction&country=$country><h2 class='whitepromo'>"._US_EMAIL."<img src='images/button_down.gif' width='12' height='12' /></h2></a></td>";
  } else {
    echo "<td width='80' bgcolor='#4E8BA1' style='padding-left:4px;padding-bottom:4px;padding-top:4px;'><a href=updatetab_partner.php?language=$language&uname=$uname&i=$i&sortorder=email&direction=$direction&country=$country><h2 class='whitepromo'>"._US_EMAIL."<img src='images/button_up.gif' width='12' height='12' /></h2></a></td>";
  }
} else {
    echo "<td width='80' bgcolor='#4E8BA1' style='padding-left:4px;padding-bottom:4px;padding-top:4px;'><a href=updatetab_partner.php?language=$language&uname=$uname&i=$i&sortorder=email&direction=$direction&country=$country><h2 class='whitepromo'>"._US_EMAIL."</h2></a></td>";
         }
if ($sortorder == 'company') {
  if ($direction=='ASC') {
    echo "<td width='80' bgcolor='#4E8BA1' style='padding-left:4px;padding-bottom:4px;padding-top:4px;'><a href=updatetab_partner.php?language=$language&uname=$uname&i=$i&sortorder=company&direction=$direction&country=$country><h2 class='whitepromo'>"._US_COMPANY."<img src='images/button_down.gif' width='12' height='12' /></h2></a></td>";
  } else {
    echo "<td width='80' bgcolor='#4E8BA1' style='padding-left:4px;padding-bottom:4px;padding-top:4px;'><a href=updatetab_partner.php?language=$language&uname=$uname&i=$i&sortorder=company&direction=$direction&country=$country><h2 class='whitepromo'>"._US_COMPANY."<img src='images/button_up.gif' width='12' height='12' /></h2></a></td>";
  }
} else {
    echo "<td width='80' bgcolor='#4E8BA1' style='padding-left:4px;padding-bottom:4px;padding-top:4px;'><a href=updatetab_partner.php?language=$language&uname=$uname&i=$i&sortorder=company&direction=$direction&country=$country><h2 class='whitepromo'>"._US_COMPANY."</h2></a></td>";
         }
if ($sortorder == 'uname') {
  if ($direction=='ASC') {
    echo "<td width='80' bgcolor='#4E8BA1' style='padding-left:4px;padding-bottom:4px;padding-top:4px;'><a href=updatetab_partner.php?language=$language&uname=$uname&i=$i&sortorder=uname&direction=$direction&country=$country><h2 class='whitepromo'>"._US_NICKNAME."<img src='images/button_down.gif' width='12' height='12' /></h2></a></td>";
  } else {
    echo "<td width='80' bgcolor='#4E8BA1' style='padding-left:4px;padding-bottom:4px;padding-top:4px;'><a href=updatetab_partner.php?language=$language&uname=$uname&i=$i&sortorder=uname&direction=$direction&country=$country><h2 class='whitepromo'>"._US_NICKNAME."<img src='images/button_up.gif' width='12' height='12' /></h2></a></td>";
  }
} else {
    echo "<td width='80' bgcolor='#4E8BA1' style='padding-left:4px;padding-bottom:4px;padding-top:4px;'><a href=updatetab_partner.php?language=$language&uname=$uname&i=$i&sortorder=uname&direction=$direction&country=$country><h2 class='whitepromo'>"._US_NICKNAME."</h2></a></td>";
         }
if ($sortorder == 'tier') {
  if ($direction=='ASC') {
    echo "<td width='20' bgcolor='#4E8BA1' style='padding-left:4px;padding-bottom:4px;padding-top:4px;'><a href=updatetab_partner.php?language=$language&uname=$uname&i=$i&sortorder=tier&direction=$direction&country=$country><h2 class='whitepromo'>Tier<img src='images/button_down.gif' width='12' height='12' /></h2></a></td>";
  } else {
    echo "<td width='20' bgcolor='#4E8BA1' style='padding-left:4px;padding-bottom:4px;padding-top:4px;'><a href=updatetab_partner.php?language=$language&uname=$uname&i=$i&sortorder=tier&direction=$direction&country=$country><h2 class='whitepromo'>Tier<img src='images/button_up.gif' width='12' height='12' /></h2></a></td>";
  }
} else {
    echo "<td width='20' bgcolor='#4E8BA1' style='padding-left:4px;padding-bottom:4px;padding-top:4px;'><a href=updatetab_partner.php?language=$language&uname=$uname&i=$i&sortorder=tier&direction=$direction&country=$country><h2 class='whitepromo'>Tier</h2></a></td>";
         }        
echo "<td width='20' bgcolor='#4E8BA1' style='padding-left:4px;padding-bottom:4px;padding-top:4px;'><h2 class='whitepromo'>Lock</h2></td>";
echo "<td width='20' bgcolor='#4E8BA1' style='padding-left:4px;padding-bottom:4px;padding-top:4px;'><h2 class='whitepromo'>Change</h2></td>";
echo "<td width='20' bgcolor='#4E8BA1' style='padding-left:4px;padding-bottom:4px;padding-top:4px;border-right: #8D9598 1px solid'><h2 class='whitepromo'>Delete</h2></td>";       
                 
echo "</tr>";
while ($myrow=mysql_fetch_array($result)) {
      echo "<tr  bgColor=$color><td width='20' style='border-left: #87A9B7 1px solid;padding-left:2px;padding-bottom:4px;padding-top:4px'><a href='./updatetab_partner.php?op=show&uname=$uname&uid=$myrow[uid]'>$myrow[uid]</td>";
      echo "<td width='80' style='padding-left:4px;padding-bottom:4px;padding-top:4px;'>$myrow[fname]</td>";
      echo "<td width='80' style='padding-left:4px;padding-bottom:4px;padding-top:4px;'>$myrow[lname]</td>";
      echo "<td width='80' style='padding-left:4px;padding-bottom:4px;padding-top:4px;'>$myrow[country]</td>";
      echo "<td width='80' style='padding-left:4px;padding-bottom:4px;padding-top:4px;'>$myrow[email]</td>";
      echo "<td width='80' style='padding-left:4px;padding-bottom:4px;padding-top:4px;'>$myrow[company]</td>";
      echo "<td width='80' style='padding-left:4px;padding-bottom:4px;padding-top:4px;'>$myrow[uname]</td>";
      echo "<td width='20' style='padding-left:4px;padding-bottom:4px;padding-top:4px;'>$myrow[tier]</td>";
      if ($myrow[level] == '1') {
          echo "<td width='20' style='padding-left:4px;padding-bottom:4px;padding-top:4px;'><a href='./updatetab_partner.php?op=lock&uname=$uname&uid=$myrow[uid]'><img src='images/unconnected.gif'></td>";
      } else {
            echo "<td width='20' style='padding-left:4px;padding-bottom:4px;padding-top:4px;'><a href='./updatetab_partner.php?op=unlock&uname=$uname&uid=$myrow[uid]'><img src='images/connected.png'></td>";
      }

      echo "<td width='20' style='padding-left:4px;padding-bottom:4px;padding-top:4px;'>
      <input type='hidden' name='op' id='op' value='edit' />
      <input type='hidden' name='country' id='country' value='$country' />
      <input src='images/b_edit.png' type='image' class='formButton' name='submit' id='submit' value='$myrow[uid]'/></td>";
      echo "<td width='20' style='padding-left:4px;padding-bottom:4px;padding-top:4px;border-right: #8D9598 1px solid'><a href='#' onclick=\"performDelete('updatetab_partner.php?language=$language&op=delete&uname=$uname&uid=$myrow[uid]'); return false;\"><img src='images/b_drop.png'></td></tr><tr bgColor=$color>";
      
      if ($color == $color1){
					$color = $color2;
				}ELSE{
					$color = $color1;
				}
  }


echo "
  </tr>
</form>
";
?>

-------------------- and the code used to retrieve the values
  case 'edit':
    if (!empty($_POST['uid'])) {
      $uid = $_POST['uid'];
    }
    if (!empty($_GET['uid'])) {
      $uid = $_GET['uid'];
    }
   if (!empty($_POST['submit'])) {
      $submit= $_POST['submit'];
    }
    if (!empty($_GET['submit'])) {
      $submit= $_GET['submit'];
    }
    $fname = trim($fname);
    $lname = trim($lname);
    $country2 = trim($country2);
    $email = trim($email);
    $company = trim($company);
    $tier = trim($tier);
    $submit = trim($submit);

Posted: Fri Apr 27, 2007 7:57 am
by printf
(INPUT TYPE => IMAGE), All browsers ignore any VALUE attribute, so...

Code: Select all

$_POST['submit']
Should be either $_POST['submit_y'] or $_POST['submit_x'], which represents the x and y page position of the image that made the submit! PHP uses _y, _x, where as other languages use .y, .x because PHP converts . to _ because variable names can not contain .! If you need the value from the input type image, then include it as a hidden input field.

Posted: Fri Apr 27, 2007 12:39 pm
by volka
mozilla/firefox sends name_x and name_y but also the name=value pair

Code: Select all

<html>
	<head><title>input/image test</title></head>
	<body>
		<pre><?php var_export($_REQUEST); ?></pre>
		<form method="post" action="<?php echo basename(__FILE__); ?>">
			<div>
				<input type="image" name=" foo" value="bar" style="width:100px; height:100px;" src="foobar.png" />
			</div>
		</form>
	</body>
</html>
request via firefox 2.0.0.3 wrote:array (
'foo_x' => '44',
'foo_y' => '41',
'foo' => 'bar',
)
request via ie7 wrote:array (
'foo_x' => '66',
'foo_y' => '56',
)