PaulCheung wrote:
I am have a real problem with HTML FORMS and I cannot see where I am going wrong. I make a MySQL call and bring back the required data and <?PHP
       echo("<tr><td align='right' colspan=2>$prv");
if ($cps == $nr0)
{ echo "  |  <font color='CCCCCC'> Next - 135</font>"; }
else
{ if ($nr0 > 1)
{ echo(" | <a href='help_tp_update.php?cps=$cps&lps=$lps'><BUTTON>Next 138</BUTTON></a>"); }
}
      echo(" - <B>(Record $x of $y)</B>");
       $_SESSION['testno'] = $h;
       $actualdata         = $_POST['actualdata'];
       $actualresult       = $_POST['actualresult'];
       $testnote           = $_POST['testnote'];
       $_SESSION['actualdata']   = $actualdata;
       $_SESSION['actualresult'] = $actualresult;
       $_SESSION['testnote']     = $testnote;
       if ($v != null)
       { echo("<BR><B>PREVIOUS TESTNOTE: </B>" . $v . "<BR>");}
?>


I assume the above is the script that receives the data via $_SESSION, correct? Is that all in one file or is that PHP code quoted above in a new file? I recommend splitting things either into separate files or into individual functions that get called from a switch statement. If you do the latter get an IDE with code folding so that you can get a handle on the mammouth file. The reason for this is either separating logic from the display portion or creating functional blocks that can be easily tested. My guess is that you cannot access $_SESSION because you did not pick up the session with session_start() the second time around. Any time you have a script that wants to get something from or write something to $_SESSION you need to start or continue a session. You do not need to specify the session ID upon restart, PHP figures that out for you.
I recommend replacing your db update script with this cheesy test code:

<?php
session_start();
echo "<pre>".$_SESSION."</pre>";
?>

That prints out the contents of $_SESSION. If there is nothing or not the expected in there then setting the values in $_SESSION failed.

Also,
</TABLE>
<TABLE BOARDER="0">
has an "A" to many in "BOARDER", but that shouldn't be the cause for the failure with the session.

Further, I do not see any of the variables getting initialized. I also cannot see what the content of $v is supposed to be. I recommend that you use descriptive variable names and add commentary to your source code. There is nothing commented and that is one reason why you probably have a tough time with finding the problem. Lastly, one nice way to track values is making use of a debugger. I even spent money on an IDE with a decent debugger implementation although I am a cheap bastard when it comes to software.


David
_______________________________________________
New York PHP Community Talk Mailing List
http://lists.nyphp.org/mailman/listinfo/talk

NYPHPCon 2006 Presentations Online
http://www.nyphpcon.com

Show Your Participation in New York PHP
http://www.nyphp.org/show_participation.php

Reply via email to