Page 1 of 1

[SOLVED] Question on a php / mysql form from a newbie.

Posted: Thu Sep 07, 2006 8:25 am
by djvpx
Hi all, this is my 1st post.

I'm a newbie with php and I hope you'll be able to help me.
My page displays images that are inputs for my form. The image source depends on the value of "Elements_STATUS" which is a field of the table "Elements".

When I click on an image a value is posted and also the id.
The form sends the value to a second page.
This page receives the ID and the value and updates "Elements_STATUS" using these values.
My problem is that it works with Firefox but not with IExplorer.
In explorer, the second page does not seem to receive a value in "$Value".

It is also important to know that I may NOT use javascripts; only HTML and PHP.
I thank you very much for trying to help me.

Here's the "form" page:

Code: Select all

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Light Management</title>
</head>
<body>
<div align="center">
  <?php require_once('../Connections/ConnectDB.php'); ?>
  <?php
$type='Light';

if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") 
{
  $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;

  $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

  switch ($theType) {
    case "text":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;    
    case "long":
    case "int":
      $theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case "double":
      $theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
      break;
    case "date":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;
    case "defined":
      $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
      break;
  }
  return $theValue;
}
}

$currentPage = $_SERVER["PHP_SELF"];

$maxRows_RS_Elements = 5;
$pageNum_RS_Elements = 0;
if (isset($_GET['pageNum_RS_Elements'])) {
  $pageNum_RS_Elements = $_GET['pageNum_RS_Elements'];
}
$startRow_RS_Elements = $pageNum_RS_Elements * $maxRows_RS_Elements;

$colname_RS_Elements = "-1";
if (isset($_SERVER['$type'])) {
  $colname_RS_Elements = (get_magic_quotes_gpc()) ? $_SERVER['$type'] : addslashes($_SERVER['$type']);
}
mysql_select_db($database_ConnectDB, $ConnectDB);
$query_RS_Elements = "SELECT Elements_ID, Elements_NAME, Elements_TYPE, Elements_STATUS FROM elements WHERE Elements_TYPE = '$type' ORDER BY Elements_NAME ASC";
$query_limit_RS_Elements = sprintf("%s LIMIT %d, %d", $query_RS_Elements, $startRow_RS_Elements, $maxRows_RS_Elements);
$RS_Elements = mysql_query($query_limit_RS_Elements, $ConnectDB) or die(mysql_error());
$row_RS_Elements = mysql_fetch_assoc($RS_Elements);

if (isset($_GET['totalRows_RS_Elements'])) {
  $totalRows_RS_Elements = $_GET['totalRows_RS_Elements'];
} else {
  $all_RS_Elements = mysql_query($query_RS_Elements);
  $totalRows_RS_Elements = mysql_num_rows($all_RS_Elements);
}
$totalPages_RS_Elements = ceil($totalRows_RS_Elements/$maxRows_RS_Elements)-1;

$queryString_RS_Elements = "";
if (!empty($_SERVER['QUERY_STRING'])) {
  $params = explode("&", $_SERVER['QUERY_STRING']);
  $newParams = array();
  foreach ($params as $param) {
    if (stristr($param, "pageNum_RS_Elements") == false && 
        stristr($param, "totalRows_RS_Elements") == false) {
      array_push($newParams, $param);
    }
  }
  if (count($newParams) != 0) {
    $queryString_RS_Elements = "&" . htmlentities(implode("&", $newParams));
  }
}
$queryString_RS_Elements = sprintf("&totalRows_RS_Elements=%d%s", $totalRows_RS_Elements, $queryString_RS_Elements);
?>
  <table border="1">
    <tr>
      <td><div align="center">
        <h1>Name</h1>
      </div></td>
      <td><div align="center">
        <h1>Status</h1>
      </div></td>
    </tr>
    <?php do { ?>
      <tr>
        <td><?php echo $row_RS_Elements['Elements_NAME']; ?></td>
        <td><form action="post_form.php" method="post" target="_self"><input type="hidden" name="Element_ID" value="<?php echo $row_RS_Elements['Elements_ID']; ?>">
			<?php switch ($row_RS_Elements['Elements_STATUS']){
	  				case 0: ?>          
						<input name=  "SetTo0" type="image" value=  "0" src="../slider/part1_on.gif"  alt=  "0" />
						<input name= "SetTo50" type="image" value= "50" src="../slider/part2_off.gif" alt= "50" />
						<input name= "SetTo75" type="image" value= "75" src="../slider/part3_off.gif" alt= "75" />
						<input name="SetTo100" type="image" value="100" src="../slider/part4_off.gif" alt="100" />
						<input name="SetTo125" type="image" value="125" src="../slider/part5_off.gif" alt="125" />
						<input name="SetTo150" type="image" value="150" src="../slider/part6_off.gif" alt="150" />
						<input name="SetTo175" type="image" value="175" src="../slider/part7_off.gif" alt="175" />
						<input name="SetTo200" type="image" value="200" src="../slider/part8_off.gif" alt="200" />
						<input name="SetTo225" type="image" value="225" src="../slider/part9_off.gif" alt="225" />
						<input name="SetTo250" type="image" value="250" src="../slider/part10_off.gif" alt="250" />						
						<?php break;
					case 50: ?>
						<input name=  "SetTo0" type="image" value=  "0" src="../slider/part1_on.gif"  alt=  "0" />
						<input name= "SetTo50" type="image" value= "50" src="../slider/part2_on.gif" alt= "50" />
						<input name= "SetTo75" type="image" value= "75" src="../slider/part3_off.gif" alt= "75" />
						<input name="SetTo100" type="image" value="100" src="../slider/part4_off.gif" alt="100" />
						<input name="SetTo125" type="image" value="125" src="../slider/part5_off.gif" alt="125" />
						<input name="SetTo150" type="image" value="150" src="../slider/part6_off.gif" alt="150" />
						<input name="SetTo175" type="image" value="175" src="../slider/part7_off.gif" alt="175" />
						<input name="SetTo200" type="image" value="200" src="../slider/part8_off.gif" alt="200" />
						<input name="SetTo225" type="image" value="225" src="../slider/part9_off.gif" alt="225" />
						<input name="SetTo250" type="image" value="250" src="../slider/part10_off.gif" alt="250" />						
						<?php break;
					case 75: ?>
						<input name=  "SetTo0" type="image" value=  "0" src="../slider/part1_on.gif"  alt=  "0" />
						<input name= "SetTo50" type="image" value= "50" src="../slider/part2_on.gif" alt= "50" />
						<input name= "SetTo75" type="image" value= "75" src="../slider/part3_on.gif" alt= "75" />
						<input name="SetTo100" type="image" value="100" src="../slider/part4_off.gif" alt="100" />
						<input name="SetTo125" type="image" value="125" src="../slider/part5_off.gif" alt="125" />
						<input name="SetTo150" type="image" value="150" src="../slider/part6_off.gif" alt="150" />
						<input name="SetTo175" type="image" value="175" src="../slider/part7_off.gif" alt="175" />
						<input name="SetTo200" type="image" value="200" src="../slider/part8_off.gif" alt="200" />
						<input name="SetTo225" type="image" value="225" src="../slider/part9_off.gif" alt="225" />
						<input name="SetTo250" type="image" value="250" src="../slider/part10_off.gif" alt="250" />						
						<?php break;
					case 100: ?>
						<input name=  "SetTo0" type="image" value=  "0" src="../slider/part1_on.gif"  alt=  "0" />
						<input name= "SetTo50" type="image" value= "50" src="../slider/part2_on.gif" alt= "50" />
						<input name= "SetTo75" type="image" value= "75" src="../slider/part3_on.gif" alt= "75" />
						<input name="SetTo100" type="image" value="100" src="../slider/part4_on.gif" alt="100" />
						<input name="SetTo125" type="image" value="125" src="../slider/part5_off.gif" alt="125" />
						<input name="SetTo150" type="image" value="150" src="../slider/part6_off.gif" alt="150" />
						<input name="SetTo175" type="image" value="175" src="../slider/part7_off.gif" alt="175" />
						<input name="SetTo200" type="image" value="200" src="../slider/part8_off.gif" alt="200" />
						<input name="SetTo225" type="image" value="225" src="../slider/part9_off.gif" alt="225" />
						<input name="SetTo250" type="image" value="250" src="../slider/part10_off.gif" alt="250" />						
						<?php break;
					case 125: ?>
						<input name=  "SetTo0" type="image" value=  "0" src="../slider/part1_on.gif"  alt=  "0" />
						<input name= "SetTo50" type="image" value= "50" src="../slider/part2_on.gif" alt= "50" />
						<input name= "SetTo75" type="image" value= "75" src="../slider/part3_on.gif" alt= "75" />
						<input name="SetTo100" type="image" value="100" src="../slider/part4_on.gif" alt="100" />
						<input name="SetTo125" type="image" value="125" src="../slider/part5_on.gif" alt="125" />
						<input name="SetTo150" type="image" value="150" src="../slider/part6_off.gif" alt="150" />
						<input name="SetTo175" type="image" value="175" src="../slider/part7_off.gif" alt="175" />
						<input name="SetTo200" type="image" value="200" src="../slider/part8_off.gif" alt="200" />
						<input name="SetTo225" type="image" value="225" src="../slider/part9_off.gif" alt="225" />
						<input name="SetTo250" type="image" value="250" src="../slider/part10_off.gif" alt="250" />						
						<?php break;
					case 150: ?>
						<input name=  "SetTo0" type="image" value=  "0" src="../slider/part1_on.gif"  alt=  "0" />
						<input name= "SetTo50" type="image" value= "50" src="../slider/part2_on.gif" alt= "50" />
						<input name= "SetTo75" type="image" value= "75" src="../slider/part3_on.gif" alt= "75" />
						<input name="SetTo100" type="image" value="100" src="../slider/part4_on.gif" alt="100" />
						<input name="SetTo125" type="image" value="125" src="../slider/part5_on.gif" alt="125" />
						<input name="SetTo150" type="image" value="150" src="../slider/part6_on.gif" alt="150" />
						<input name="SetTo175" type="image" value="175" src="../slider/part7_off.gif" alt="175" />
						<input name="SetTo200" type="image" value="200" src="../slider/part8_off.gif" alt="200" />
						<input name="SetTo225" type="image" value="225" src="../slider/part9_off.gif" alt="225" />
						<input name="SetTo250" type="image" value="250" src="../slider/part10_off.gif" alt="250" />						
						<?php break;
					case 175: ?>
						<input name=  "SetTo0" type="image" value=  "0" src="../slider/part1_on.gif"  alt=  "0" />
						<input name= "SetTo50" type="image" value= "50" src="../slider/part2_on.gif" alt= "50" />
						<input name= "SetTo75" type="image" value= "75" src="../slider/part3_on.gif" alt= "75" />
						<input name="SetTo100" type="image" value="100" src="../slider/part4_on.gif" alt="100" />
						<input name="SetTo125" type="image" value="125" src="../slider/part5_on.gif" alt="125" />
						<input name="SetTo150" type="image" value="150" src="../slider/part6_on.gif" alt="150" />
						<input name="SetTo175" type="image" value="175" src="../slider/part7_on.gif" alt="175" />
						<input name="SetTo200" type="image" value="200" src="../slider/part8_off.gif" alt="200" />
						<input name="SetTo225" type="image" value="225" src="../slider/part9_off.gif" alt="225" />
						<input name="SetTo250" type="image" value="250" src="../slider/part10_off.gif" alt="250" />						
						<?php break;
					case 200: ?>
						<input name=  "SetTo0" type="image" value=  "0" src="../slider/part1_on.gif"  alt=  "0" />
						<input name= "SetTo50" type="image" value= "50" src="../slider/part2_on.gif" alt= "50" />
						<input name= "SetTo75" type="image" value= "75" src="../slider/part3_on.gif" alt= "75" />
						<input name="SetTo100" type="image" value="100" src="../slider/part4_on.gif" alt="100" />
						<input name="SetTo125" type="image" value="125" src="../slider/part5_on.gif" alt="125" />
						<input name="SetTo150" type="image" value="150" src="../slider/part6_on.gif" alt="150" />
						<input name="SetTo175" type="image" value="175" src="../slider/part7_on.gif" alt="175" />
						<input name="SetTo200" type="image" value="200" src="../slider/part8_on.gif" alt="200" />
						<input name="SetTo225" type="image" value="225" src="../slider/part9_off.gif" alt="225" />
						<input name="SetTo250" type="image" value="250" src="../slider/part10_off.gif" alt="250" />						
						<?php break;
					case 225: ?>
						<input name=  "SetTo0" type="image" value=  "0" src="../slider/part1_on.gif"  alt=  "0" />
						<input name= "SetTo50" type="image" value= "50" src="../slider/part2_on.gif" alt= "50" />
						<input name= "SetTo75" type="image" value= "75" src="../slider/part3_on.gif" alt= "75" />
						<input name="SetTo100" type="image" value="100" src="../slider/part4_on.gif" alt="100" />
						<input name="SetTo125" type="image" value="125" src="../slider/part5_on.gif" alt="125" />
						<input name="SetTo150" type="image" value="150" src="../slider/part6_on.gif" alt="150" />
						<input name="SetTo175" type="image" value="175" src="../slider/part7_on.gif" alt="175" />
						<input name="SetTo200" type="image" value="200" src="../slider/part8_on.gif" alt="200" />
						<input name="SetTo225" type="image" value="225" src="../slider/part9_on.gif" alt="225" />
						<input name="SetTo250" type="image" value="250" src="../slider/part10_off.gif" alt="250" />						
						<?php break;
					case 250: ?>
						<input name=  "SetTo0" type="image" value=  "0" src="../slider/part1_on.gif"  alt=  "0" />
						<input name= "SetTo50" type="image" value= "50" src="../slider/part2_on.gif" alt= "50" />
						<input name= "SetTo75" type="image" value= "75" src="../slider/part3_on.gif" alt= "75" />
						<input name="SetTo100" type="image" value="100" src="../slider/part4_on.gif" alt="100" />
						<input name="SetTo125" type="image" value="125" src="../slider/part5_on.gif" alt="125" />
						<input name="SetTo150" type="image" value="150" src="../slider/part6_on.gif" alt="150" />
						<input name="SetTo175" type="image" value="175" src="../slider/part7_on.gif" alt="175" />
						<input name="SetTo200" type="image" value="200" src="../slider/part8_on.gif" alt="200" />
						<input name="SetTo225" type="image" value="225" src="../slider/part9_on.gif" alt="225" />
						<input name="SetTo250" type="image" value="250" src="../slider/part10_on.gif" alt="250" />						
						<?php break;
					default: ;} ?>  
					</form>
	  </td>
      </tr>
<?php } while ($row_RS_Elements = mysql_fetch_assoc($RS_Elements)); ?>
    </table>
<?php
mysql_free_result($RS_Elements);
?>
<table border="0" width="50%" align="center">
  <tr>
    <td width="23%" align="center"><?php if ($pageNum_RS_Elements > 0) { // Show if not first page ?>
          <a href="<?php printf("%s?pageNum_RS_Elements=%d%s", $currentPage, 0, $queryString_RS_Elements); ?>"><img src="First.gif" border=0></a>
          <?php } // Show if not first page ?>
    </td>
    <td width="31%" align="center"><?php if ($pageNum_RS_Elements > 0) { // Show if not first page ?>
          <a href="<?php printf("%s?pageNum_RS_Elements=%d%s", $currentPage, max(0, $pageNum_RS_Elements - 1), $queryString_RS_Elements); ?>"><img src="Previous.gif" border=0></a>
          <?php } // Show if not first page ?>
    </td>
    <td width="23%" align="center"><?php if ($pageNum_RS_Elements < $totalPages_RS_Elements) { // Show if not last page ?>
          <a href="<?php printf("%s?pageNum_RS_Elements=%d%s", $currentPage, min($totalPages_RS_Elements, $pageNum_RS_Elements + 1), $queryString_RS_Elements); ?>"><img src="Next.gif" border=0></a>
          <?php } // Show if not last page ?>
    </td>
    <td width="23%" align="center"><?php if ($pageNum_RS_Elements < $totalPages_RS_Elements) { // Show if not last page ?>
          <a href="<?php printf("%s?pageNum_RS_Elements=%d%s", $currentPage, $totalPages_RS_Elements, $queryString_RS_Elements); ?>"><img src="Last.gif" border=0></a>
          <?php } // Show if not last page ?>
    </td>
  </tr>
</table>
</div>
</body>
</html>
and here's the page that should update the MySQL database:

Code: Select all

<?php require_once('../Connections/ConnectDB.php'); ?>
<?php 
$id= $_POST ['Element_ID'];
if (isset($_POST['SetTo0'])) {
			$Value = '0';  			}
  	elseif (isset($_POST['SetTo50'])) { 
        	$SetToValue = '50';}
	elseif (isset($_POST['SetTo75'])) { 
			$Value = '75';}
	elseif (isset($_POST['SetTo100'])) { 
        	$Value = '100';}
	elseif (isset($_POST['SetTo125'])) { 
			$Value = '125';}
	elseif (isset($_POST['SetTo150'])) { 
        	$Value = '150';}
	elseif (isset($_POST['SetTo175'])) { 
			$Value = '175';}
	elseif (isset($_POST['SetTo200'])) { 
			$Value = '200';}
	elseif (isset($_POST["SetTo225"])) { 
        	$Value = '225';}
	elseif (isset($_POST['SetTo250'])) { 
			$Value = '250';}
echo "id: ".$id."<br>";
echo "value: ".$Value;

mysql_query("UPDATE Elements SET Elements_STATUS='$Value', Elements_SYNC='0' WHERE Elements_ID='$id'");?>

Posted: Thu Sep 07, 2006 9:41 am
by kendall
djvpx,

i think your problem is your using

Code: Select all

<input type="image"/>
in IE it wont get the name/ value of the element but the co-ordinates of the mouse where it was clicked. Firefox on the other hand will give u the information.

I think you need to use javascript

Posted: Thu Sep 07, 2006 9:52 am
by djvpx
thanks for your help... this might be the problem... but, I really may not use javascript...

Posted: Thu Sep 07, 2006 10:28 am
by djvpx
kendall wrote: ...
i think your problem is your using

Code: Select all

<input type="image"/>
in IE it wont get the name/ value of the element but the co-ordinates of the mouse where it was clicked. Firefox on the other hand will give u the information.
..
Thanks Kendall,
I found the solution with your help.
Bellow is the code I used to check which image was clicked. Then I assign the value AFTER the post.

Code: Select all

if (isset($_POST['SetTo0_y'])) {
			$Value = '0';  			}
  	elseif (isset($_POST['SetTo50_y'])) { 
        	$Value = '50';}
	elseif (isset($_POST['SetTo75_y'])) { 
			$Value = '75';}
	elseif (isset($_POST['SetTo100_y'])) { 
        	$Value = '100';}
	elseif (isset($_POST['SetTo125_y'])) { 
			$Value = '125';}
	elseif (isset($_POST['SetTo150_y'])) { 
        	$Value = '150';}
	elseif (isset($_POST['SetTo175_y'])) { 
			$Value = '175';}
	elseif (isset($_POST['SetTo200_y'])) { 
			$Value = '200';}
	elseif (isset($_POST['SetTo225_y'])) { 
        	$Value = '225';}
	elseif (isset($_POST['SetTo250_y'])) { 
			$Value = '250';}