submitting a form just refreshes page

Guys hopefully someone will be able to help.

Ever since upgrading from php 4.x to 5.2.5 any php form that is submitted just refreshes the page. I would have a guess that the variables arent getting passed??

Below is the main code for one of the pages but i just don’t know where to start unpicking

<?php
  include(".../db-connections/SQL2005-M41.php");
  function tcase($str1)
  {
	$ret=ucwords(strtolower($str1));
	return $ret;
  }
  
  
  if ($dispsubmit)
  {
    if ($dispsubmit=="Postcode Search")
    {
	  $pcode = strtoupper($pcode);

	  // Checks the string of postcodes against the postcode entered.
	  
      $sql='SELECT * FROM hhsalesmen';

      $query = odbc_exec($connection, $sql);
      
      $pcodefound = false;
      
      while (odbc_fetch_array($query))
  	  {
	  	  $pcodes = split(" ",odbc_result($query,22));
    	  
    	  $pcodecount = -1;
    	  
    	  while ($pcodecount < count($pcodes))
    	  {
	    	  $pcodecount = $pcodecount + 1;
	    	  
	    	  if ($pcode==$pcodes[$pcodecount])
	    	  {
		    	  $pcodefound = true;
	          }
      	  }
      	  
      	  if ($pcodefound==true)
      	  {
	  		 $dispcode = odbc_result($query,1);
	  		 $pcodefound = false;
	      }
	      
      }
        
    }
    if ($dispcode!="")

    {
	// Get dispenser info
    $sql="SELECT * FROM hhsalesmen WHERE DispCode='".$dispcode."'";
 
    $query = odbc_exec($connection, $sql);
    
    odbc_fetch_array($query);

    // Get dispenser short dial (not stored on any other system)
  
      include(".../db-connections/connect-mysql.php");

      $fullname = trim(tcase(odbc_result($query,2)))." ".trim(tcase(odbc_result($query,3)));
      $sql="SELECT * FROM dispshotcodes WHERE dispid="$fullname"";
      
      $myquery = mysql_query($sql);
      $myinfo = mysql_fetch_row($myquery);
      
      ?>
      <CENTER>
        <i>Results</i>
      </CENTER>
      </font>
      <font face="Arial, Helvetica, sans-serif"><BR>
      </font>
      <TABLE width="300" align="center" border="0" cellspacing="0" cellpadding="3">
      <TR><TD width="100" bgcolor="#CCCCCC"><strong><font size="2" face="Arial, Helvetica, sans-serif"><FONT FACE="arial" SIZE="2">Short Dial</font></strong></TD>  <TD bgcolor="#CCCCCC"><font face="Arial, Helvetica, sans-serif"><FONT FACE="arial" SIZE="2">
      <?php 
      		if ($myinfo[2]!="") 
      		{
	      		echo $myinfo[2];
	      	} else 
	      	{
		    	echo "Unknown";
		    }
	  ?>
      </font></TD></TR>
      
      <TR><TD><strong><font size="2" face="Arial, Helvetica, sans-serif"><FONT FACE="arial" SIZE="2">Dispenser Code</font></strong></TD>
      <TD><font face="Arial, Helvetica, sans-serif"><FONT FACE="arial" SIZE="2">
      <?php 
      		echo trim(odbc_result($query,1));
      ?>
      </font></TD></TR>
      
      <TR><TD bgcolor="#CCCCCC"><strong><font size="2" face="Arial, Helvetica, sans-serif"><FONT FACE="arial" SIZE="2">Name</font></strong></TD>  
      <TD bgcolor="#CCCCCC"><font face="Arial, Helvetica, sans-serif"><FONT FACE="arial" SIZE="2">
      <?php
          echo trim(tcase(odbc_result($query,2)))." ".trim(tcase(odbc_result($query,3)));
       ?>
      </font></TD></TR>
      
      <TR><TD bgcolor="#FFFFFF"><strong><font size="2" face="Arial, Helvetica, sans-serif"><FONT FACE="arial" SIZE="2">Mobile Number</font></strong></TD>
      <TD bgcolor="#FFFFFF"><font face="Arial, Helvetica, sans-serif"><FONT FACE="arial" SIZE="2">
      <?php 
          if(odbc_result($query,18)!="") 
          {
	        echo trim(tcase(odbc_result($query,18)));
	      } else 
	      {
		    echo "Unknown";
	      }
      ?>
      </font>
      <TR><TD bgcolor="#CCCCCC"><strong><font size="2" face="Arial, Helvetica, sans-serif"><FONT FACE="arial" SIZE="2">Postcode Areas</font></strong></TD>       <TD bgcolor="#CCCCCC"><font face="Arial, Helvetica, sans-serif"><FONT FACE="arial" SIZE="2">
      <?php 
      		if (odbc_result($query,22)!="") 
      		{
	      		echo odbc_result($query,22);
	      	} else 
	      	{
		      	echo "Unknown";
		    }
	  ?>
      </font>
      </TABLE>
      
 <font face="Arial, Helvetica, sans-serif">
 <?php
  }
  else
  {
   ?>
  </font>
<CENTER>
  <font face="Arial, Helvetica, sans-serif"><BR>
  <B><FONT COLOR="#FF0000">
    <font size="2">Sorry this postcode area is NOT listed on the system.<BR>
    Please contact Lead Issue for assistance with postcode</font> <?php echo ""$pcode""; ?><BR>
    </FONT></B>    </font>
</CENTER>
      <font face="Arial, Helvetica, sans-serif">
     <?php
  }

}
else
{
?>
     <BR>
      </font>
      <CENTER>
        <FONT FACE="Arial, Helvetica, sans-serif" SIZE="4"><strong><font size="3">Search by Dispenser name</font></strong><font size="3"></font></FONT>
      </CENTER>
      <font face="Arial, Helvetica, sans-serif"><BR>
      </font>
      <FORM METHOD="post" ACTION="/addressbook/dispbook.php">
<CENTER>
  <font face="Arial, Helvetica, sans-serif">
<SELECT WIDTH="" NAME="dispcode" SIZE="5">
  <?php


  $sql="SELECT * FROM hhsalesmen WHERE LastName <> 'AREA' AND FirstName <> '' AND SelectedForPrinting = 'Y' ORDER BY FirstName";
 
  $res = odbc_exec($connection, $sql);

  while(odbc_fetch_array($res))
  {
  	echo "<OPTION value="".trim(odbc_result($res,1))."">".tcase(trim(odbc_result($res,2)))." ".tcase(trim(odbc_result($res,3)))."</OPTION>n";
  } 
  
  odbc_close();
?>
</SELECT>
<BR>
<BR>
<INPUT TYPE="submit" NAME="dispsubmit" Value="lookup">
  </font>
</CENTER>
</FORM>
<CENTER>
  <p><font size="3" face="Arial, Helvetica, sans-serif"><B>Search by Postcode area</B></font> </p>
  <p>     <font size="2"><BR>
      <FONT FACE="arial" size="2">
      Enter the outgoing postcode (e.g. ME14, M1) and click on Postcode Search to find the dispenser it's allocated to.<BR>
      Please DO NOT hit enter because it won't work!</font><BR>
      </font>
    </p>
</CENTER>
<FORM METHOD="post" ACTION="<?php echo $PHP_SELF ?>">
<CENTER>
      <font face="Arial, Helvetica, sans-serif">
<input type="text" name="pcode" size="4" maxlength="4">
<INPUT TYPE="submit" NAME="dispsubmit" Value="Postcode Search">
      </font>
</CENTER>
</FORM>

<font face="Arial, Helvetica, sans-serif">
<?php
}

?>

Well, I don’t see you using superglobal variables anywhere, such as $_POST. Your script probably ran on register_globals enabled, and somewhere halfway PHP4 (so including PHP5) register_globals got disabled (and for good reason). You’re going to have to fetch your values using $_POST (or $_GET, $_COOKIE etc. depending on the source of the values).

many thanks for the reply … its been quite awhile since I’ve written anything in php, hopefully its like riding a bike :)

Sponsor our Newsletter | Privacy Policy | Terms of Service