The data inserts into the first table, but the code for getting the ID numbers doesn't seem to work, and the data is not inserted into the next two tables. The code runs and the Thank you message appears thanking the person for submitting their details.

There are three pages of code. The connect code is in one file. The processing code file and the form file.

I won't include the connect code here, because it works.

Here is the form code:

enter code here

    <form method="post" action="formprocess3.php">
    <table>
            <tr>
          <td>Customer Details</td>
          <td>Appointment Preference</td>
          <td>Cupcake Details</td>
    </tr>
    <tr>
      <td>First Name             
      <input name="FirstName" type="text" id="FirstName" maxlength="20" value="<?php if (isset($_POST['FirstName'])) echo $_POST ['FirstName']; ?>"/>
               </td>
      <td>Appointment Date            
              <input name="AppointmentDate" type="date"  id="AppointmentDate" maxlength="10" value="<?php if (isset($_POST['AppointmentDate'])) echo $_POST['AppointmentDate']; ?>"/>
            </td>
           <td>Size     
    <select name="CupcakeSize" id="CupcakeSize" type="radio" maxlength="5" value="<?php if (isset($_POST['CupcakeSize'])) echo $_POST['CupcakeSize']; ?>"/>
            <option></option>
            <option>Small</option>
            <option>Large</option>
            </select></td>
      </tr>
      <tr>
        <td>Surname
             <input name="Surname" type="text"  id="Surname"  maxlength="20" value="<?php if (isset($_POST['Surame'])) echo $_POST['Surname']; ?>"/></td>
          <td>Appointment Time
         <select name="AppointmentTime" type="radio" maxlength="20" value="<?php if (isset($_POST['AppointmentTime'])) echo $_POST ['AppointmentTime']; ?>"/>

              <option></option>
              <option>9.30am -10.30am</option>
              <option>11am - 12pm</option>
              <option>1.30pm - 2.30pm</option>
              <option>3pm - 4pm</option>
              <option>4.30pm - 5.30pm</option>
              <option>7pm - 8pm</option>
            </select>
          </td>
          <td>Quantity             
          <input type="text" name="Quantity" id="Quantity"/></td>
            </tr>
        <tr>
          <td>Email address 
          <input name="EmailAddress" type="email"  id="Email" maxlength="20" value="<?php if (isset($_POST['EmailAddress'])) echo $_POST['EmailAddress']; ?>"/></td>
          <td>Taster 

            <input name="Taster" type="checkbox" id="Taster"/>
             </td>
            <td maxlength="1" type="radio" value="<?php if (isset($_POST['Taster'])) echo $_POST['Taster']; ?>"/>
                     <td>Frosting           
        <select name="CupcakeFrosting" id="CupcakeFrosting" type="radio" maxlength="10" value="<?php if (isset($_POST['CupcakeFrosting'])) echo $_POST['CupcakeFrosting']; ?>"/>
            <option></option>
            <option>Strawberry</option>
            <option>Chocolate</option>
            <option>Vanilla</option>
            <option>Coffee</option>
            <option>Orange</option>
            <option>Blue</option>
            <option>Pink</option>
            <option>Green</option>
            <option>Red</option>
            <option>Purple</option>
            </select></td>
                 </tr>
              <tr>
            <td>Postcode            
          <input name="Postcode" type="text" id="Postcode" style="width: 130px; height: 20px" class="auto-style24" maxlength="10" value="<?php if (isset($_POST['Postcode'])) echo $_POST['Postcode']; ?>"/></td>
      <td>Cake wanted by
      <input name="CakeWantedBy" type="date" id="CakeWantedBy" maxlength="10" value="<?php if (isset($_POST['CakeWantedBy'])) echo $_POST['CakeWantedBy']; ?>"/>
              </td>
          <td>
            <select name="CupcakeFlavour" id="Flavour" type="radio" maxlength="10" value="<?php if (isset($_POST['CupcakeFlavour'])) echo $_POST['CupcakeFlavour']; ?>"/>
            <option></option>
            <option>Banana</option>
            <option>Caramel</option>
            <option>Carrot</option>
            <option>Chocolate</option>
            <option>Vanilla</option>
            <option>Red Velvet</option>
            <option>Oreo</option>
            <option>Coffee</option>
            <option>Decide with taster £20</option>
            </select></td>
            </tr>
        <tr>
            <td>
            <input name="MobileNumber" type="text" id="MobileNumber" maxlength="20" value="<?php if (isset($_POST['MobileNumber'])) echo $_POST['MobileNumber']; ?>"/>          
                            </td>
                             <td>
            <span class="auto-style24">Occasion 
            <select name="Occasion" type="radio" id="Occasion" maxlength="20" value="<?php if (isset($_POST['Occassion'])) echo $_POST['Occassion']; ?>"/>
            <option></option>
            <option>New baby</option>
            <option>Birthday</option>
            <option>Wedding</option>
            <option>New Job</option>
            <option>Christmas</option>
            <option>Easter</option>
            <option>Valentines</option>
            <option>Congratulations</option>
            <option>Anniversary</option>
            <option>Other</option>
            </select></td>
      </tr>
    </table>
    </form>

The code for inserting the form data into the three database tables:

<html>
<head>
<title>Form Process Message</title>
</head><body>
<?php # 

// This script performs an INSERT query to add a record to the users table.


 if ($_SERVER['REQUEST_METHOD'] == 'POST') {

 // open the database...

 require ('mysqli_connect.php'); 

 // Make the query:

// Customer details

 $t = $_POST[Title];
 $fn = $_POST[FirstName];
 $sn = $_POST[Surname];
 $e = $_POST[EmailAddress];
 $ht = $_POST[HomeTelephone];
 $mn = $_POST[MobileNumber];
 $hn = $_POST[HouseNumberName];
 $s = $_POST[Street];
 $tw = $_POST[Town];
 $c = $_POST[County];
 $pc = $_POST[Postcode];

 // Cake details
 $ct = $POST[CupcakeType];
 $cn = $_POST[CupcakeNumber];
 $cf = $_POST[CupcakeFrosting];
 $o = $_POST[Occassion];

 // Preferred Appointment
 $ad = $_POST[AppointmentDate];
 $at = $_POST[AppointmentTime];
 $ta = $_POST[Taster];
 $cwb = $_POST[CakeWantedBy];

 $q = "INSERT INTO customerdetails(Title, FirstName, Surname, EmailAddress,   HomeTelephone, MobileNumber, HouseNumberName, Street, Town, County, Postcode) VALUES ('$t','$fn', '$sn', '$e', '$ht', '$mn', '$hn', '$s', '$tw', '$c', '$pc')";

 //execute query        
 $r = @mysqli_query ($dbc, $q); 

 //get customer id for preferred appointment 
$ci = my_sqli_insert_id($dbc);

 $q1 = "INSERT INTO cakedetail(CupcakeType, CupcakeNumber, CupcakeFrosting, Occassion) VALUES ('$ct','$cn', '$cf', '$o')";

//execute query
$r1 = @mysqli_query ($dbc, $q1);

//get cakedetail id for preferred appointment
$cdi = my_sqli_insert_id($dbc);

$q2 = "INSERT INTO preferredappointment(AppointmentDate, AppoitmentTime, Taster, CakeWantedBy, EmailAddress) VALUES ($ci, $cdi, '$ad','$at', '$ta', '$cwb', '$e')";

//execute query 
$r2 = @mysqli_query ($dbc, $q2);  

// Run the query.

if ($r) { 

// If it ran OK.
// Print a message:


echo '<h1>Thank you!

<br />
Your request is now registered.
<br />  
<a href="gallery.html">Back to the Gallery page</a></h1>';      
        }       
 else { 

// If it did not run OK.
// Public message:  

 echo '<h1>System Error</h1>

 <p class="error">You could not be registered due to a system error. We apologise for any inconvenience.</p>

 <a href="gallery.html">Back to the Gallery page</a>';      
 // Debugging message:

 echo '<p>' . mysqli_error($dbc) . '<br /><br />
 Query: ' . $q . '</p>';

    } 
 //close the dbc        
 mysqli_close($dbc); 
}

  ?>
  </body>
  </html>

There are three database tables called cakeorder, customerdetails and preferred appointment. I don't think the multiple table insert works with earlier versions PHP, which is what I was using to start with, but I am now using xampp 5.5.24 and PHP 5.5.24. I stripped out most the formatting of the html, so I may have left a hanging tag somewhere here, but there isn't one on the actual web page. I am not very proficient in PHP, so a lot of this is put together from looking through this website. Any help would be gratefully received. Thank you

share|improve this question
1  
Have you heard of SQL injection? You better read something on it, your code is super vulnerable. – MightyPork May 9 '15 at 10:06
    
You have typo. Do you think my_sqli_insert_id() is correct ? Its mysqli_insert_id() -> check w3schools.com/php/func_mysqli_insert_id.asp – Pratik C Joshi May 9 '15 at 10:13
1  
my_sqli_insert_id is not a function..before posting a question i believe one must debug the error first, then search the error, if no solution is found then post a question. – Coder anonymous May 9 '15 at 10:20
    
@Coderanonymous , you are correct ! – Pratik C Joshi May 9 '15 at 10:25
    
Hi all I have one question about this but I don't think it's better to ask here because it's maybe help across. I think it would it be better to create one stored procedure and make it work in only one call of database then to pass value there and than getting value from there then pass again etc.. Do you agree?. – Aleksandar Miladinovic May 9 '15 at 10:38

Thank you for your feedback. It's not for professional use, so I am not so worried about vulnerability it is just trying to get the stuff to work. As I said I don't know much about php code hence the mistake of using my_sqli_insert_id. It may be better to create a stored procedure, but I am just learning the basics at the moment.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.