Multiple forms and multiple submissions

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



PHP 4.3.3 and MYSQL:

I am using a multipage member registration system because all of the information is too long to put on one page.  Some example code edited for brevity:

Form regone with hidden field value "personal"
Form regtwo with hidden field value "computer"
Form regthree with hidden field value "habits"
Form regfour with hidden field value "comms"
Form regfive with hidden field value "misc"

switch ($hidden)
{
case "personal":
    -Check for existing users with same login name and require new login name if applicable
    -Check that all required fields are filled and return to form if not
    -Check eregs of all fields and format variables
     session_register('varone','vartwo','varthree',...);
     include ("includes/regtwo.inc");
     break;
case "computer":
    -Check eregs of all fields and format variables 
     session_register('varone','vartwo','varthree',...);
     include ("includes/regthree.inc");
     break;
 case "habits":
      -Check eregs of all fields and format variables 
     session_register('varone','vartwo','varthree',...);
     include ("includes/regfour.inc");
     break;
case "comms":
      -Check eregs of all fields and format variables 
     session_register('varone','vartwo','varthree',...);
     include ("includes/regfive.inc");
     break;
 case "misc":
    -Check eregs of all fields and format variables 
// Prevent Double Submission upon refresh!!!!
  $checksub=mysql_query("Select * FROM mempersonal WHERE uniquevar='$uniquevar'");
  $rowcheck=mysql_num_rows($checksub);
   if ($rowcheck>0){
   $message="You are already entered into the member database.  You cannot refresh this page.";
   include('includes/message.inc');
   }else{
// Insert info into mempersonal  
$addtosql1="INSERT INTO mempersonal (varone,vartwo,varthree...) VALUES ('$varone','$vartwo','$varthree',...)
  $final1=mysql_query($addtosql1);
// Insert info into memcomputer
  $addtosql2="INSERT INTO memcomputer (varone,vartwo,varthree...) VALUES ('$varone','$vartwo','$varthree',...)
  $final2=mysql_query($addtosql2);
// Insert info into memhabits
  $addtosql3="INSERT INTO memhabits (varone,vartwo,varthree...) VALUES ('$varone','$vartwo','$varthree',...)
   $final3=mysql_query($addtosql3);
// Insert info into memcomms
  $addtosql4="INSERT INTO memcomms (varone,vartwo,varthree...) VALUES ('$varone','$vartwo','$varthree',...)
  $final4=mysql_query($addtosql4);
// Insert info into memmisc
  $addtosql5="INSERT INTO memmisc (varone,vartwo,varthree...) VALUES ('$varone','$vartwo','$varthree',...)
  $final5=mysql_query($addtosql5);
  
$message="Hello $memberhandle! Your Registration is complete and an activation email has been sent to you.  Please
      follow the instructions to activate your account. ";
include('includes/message.inc');
session_unset();
session_destroy();
  break;
 }

Now, all of this works just dandy, inserts all the information to my database and returns the 'Registration Complete' message.  However, the code I added to prevent double submission:

// Prevent Double Submission upon refresh!!!!
  $checksub=mysql_query("Select * FROM mempersonal WHERE uniquevar='$uniquevar'");
  $rowcheck=mysql_num_rows($checksub);
   if ($rowcheck>0){
   $message="You are already entered into the member database.  You cannot refresh this page.";
   include('includes/message.inc');
   }else{
   Add Everything to database
   }
will allow the user to refresh and add a new row to the database ONCE - but only submitting variables from the LAST form to the LAST table (memmisc).  The other tables from the previous forms are empty.  Then, if the user tries to refresh AGAIN, the 'You are already entered' message appears.  
 
Any ideas on how I can fix this??
 
BTW, my coding is rudimentary - I have only been coding two weeks :)
 
Tonya
  

[Index of Archives]     [PHP Home]     [PHP Users]     [Postgresql Discussion]     [Kernel Newbies]     [Postgresql]     [Yosemite News]

  Powered by Linux