FearGannicus
FearGannicus

Reputation: 205

PHP Registration Form and Database Error

I've asked a few questions on here and got lots of help, so I will thank in advance for my next question. I've been trying to create Registration System for my Scout Group (Registering for Camps) and I've gotten stuck up to the point where I can't send the data from the form into the database, and then send a confirmation email using the PHP Mail function.

Bellow is my form code:

    <form action="include/spud/registration.php">

                          <h2>Group Information:</h2>
                          <table width="100%" border="0" cellspacing="10">
                            <tr>
                              <td>Group Name (# &amp; Name):
                              <br />
                              <div class="input-control text">
                                  <input type="text" name="group_name" />
                                  <button class="btn-clear"></button>
                              </div>
                              </td>
                            </tr>
                            <tr>
                              <td>Group Location (City it is located in: e.g. Mississauga):
                              <br />
                              <div class="input-control text">
                                  <input type="text" name="group_location" />
                                  <button class="btn-clear"></button>
                              </div>
                              </td>
                            </tr>
                            <tr>
                              <td>Number of Youth Attending:
                              <br />
                              <div class="input-control text">
                                  <input type="text" name="group_attending" />
                                  <button class="btn-clear"></button>
                              </div>
                              </td>
                            </tr>
                          </table>
                          <h2>Contact Information:</h2>
                          <table width="100%" border="0" cellspacing="10">
                            <tr>
                              <td width="50%">First Name:
                              <br />
                              <div class="input-control text">
                                  <input type="text" name="name_first" />
                                  <button class="btn-clear"></button>
                              </div>
                              </td>
                              <td>Last Name:
                              <br />
                              <div class="input-control text">
                                  <input type="text" name="name_last" />
                                  <button class="btn-clear"></button>
                              </div>
                              </td>
                            </tr>
                            <tr>
                              <td>Address:
                              <br />
                              <div class="input-control text">
                                  <input type="text" name="address" />
                                  <button class="btn-clear"></button>
                              </div>
                              </td>
                              <td>Address 2 (Optional):
                              <br />
                              <div class="input-control text">
                                  <input type="text" name="address2" />
                                  <button class="btn-clear"></button>
                              </div>
                              </td>
                            </tr>
                            <tr>
                              <td>City:
                              <br />
                              <div class="input-control text">
                                  <input type="text" name="city" />
                                  <button class="btn-clear"></button>
                              </div>
                              </td>
                              <td>Province or State:
                              <br />
                              <div class="input-control text">
                                  <input type="text" name="prov_state" />
                                  <button class="btn-clear"></button>
                              </div>
                              </td>
                            </tr>
                          </table>
                          <table width="100%" border="0" cellspacing="10">
                            <tr>
                              <td>Country:
                              <br/>
                              <div class="input-control select">
                                  <select>
                                    <option selected>Choose...</option>
                                    <option name="country">Canada</option>
                                    <option name="country">United States</option>
                                    <option name="country">Scotland</option>
                                    <option name="country">Another Country</option>
                                  </select>
                              </div>
                              </td>
                            </tr>
                            <tr>
                              <td>Postal Code (ZIP):
                              <br />
                              <div class="input-control text">
                                  <input type="text" name="zip_code" />
                                  <button class="btn-clear"></button>
                              </div>
                              </td>
                            </tr>
                          </table>
                          <table width="100%" border="0" cellspacing="10">
                            <tr>
                              <td width="50%">Telephone:
                              <br />
                              <div class="input-control text">
                                  <input type="text" name="telephone" />
                                  <button class="btn-clear"></button>
                              </div>
                              </td>
                              <td>Telephone (Residential or Business: Optional):
                              <br />
                              <div class="input-control text">
                                  <input type="text" name="telephone2" />
                                  <button class="btn-clear"></button>
                              </div>
                              </td>
                            </tr>
                          </table>
                          <table width="100%" border="0" cellspacing="10">
                            <tr>
                              <td>Email:
                              <br />
                              <div class="input-control text">
                                  <input type="text" name="email" />
                                  <button class="btn-clear"></button>
                              </div>
                              </td>
                            </tr>
                          </table>
                          <div class="place-left">
                              <button type="submit">Submit</button>
                              <button type="reset">Reset</button>
                          </div>
                          <div class="place-right">
                              <a href="#info" class="button">Spud Camp Information</a>
                          </div>
                        </form>

Then it sends it to the database stage:

    <?php

require_once('../database.php');

/*
* Insert the data into the Database
*/

    $qry=mysql_query("INSERT INTO 

    spudcamp(group_name,group_location,group_attending,name_first,name_last,address,address2,city,prov_state,country,zip_code,telephone,telephone2,email)

    VALUES('$_POST[group_name]','$_POST[group_location]','$_POST[group_attending]','$_POST[name_first]','$_POST[name_last]','$_POST[address]','$_POST[address2]','$_POST[city]','$_POST[prov_state]','$_POST[country]','$_POST[zip_code]','$_POST[telephone]','$_POST[telephone2]','$_POST[email]', NOW() )

    ", $con);

if(!$qry)
{
    die("Query Failed: ". mysql_error());
}
else
{
    header('location:../../spud-camp.php');
}

/*
* Send an Email to Administration and to the Signed up person
*/

include('receipt_email.php');

    ?>

then the receipt_email.php stage:

    <?php

    /*
    * Receipt Emailer
    */


    $message = '

    <html>
    <body style="color: #000;font-family:arial;">


    <p>Thank you&#44; <b>';

    $message .= $_POST[name_first] . ' ';
    $message .= $_POST[name_last];

    $message .= '</b>&#44; for your submission&#46;<br>';
    $message .=  'We hope that the <b>';
    $message .= $_POST[group_name];
    $message .= '</b><br>
                  <b>Please print this page for your records.</b><br><BR>
                      Your registration submitted on ';
    $message .= date('l jS \of F Y h:i:s A');
    $message .= ' is as follows&#58;<br><br>
      Registration &#35;&#58; <B>';

    $message .= '</B><br>
      Group Name&#58; <B>';
    $message .= $_POST[group_name];
    $message .= '</B><br>
      First Name&#58; <B>';
    $message .= $_POST[name_first];  
    $message .= '</B>  <br>
      Last Name&#58; <B>';
    $message .= $_POST[name_last];
    $message .= '</B><br>
     Address 1&#58; <B>';
    $message .=  $_POST[address1];
    $message .=  '</B><br>
      Address 2&#58; <B>';
    $message .=  $_POST[address2];
    $message .=  '</B><br>
      City&#58; <B>';
    $message .=  $_POST[city];
    $message .=  '</B><br>
      Prov&#47;State&#58; <B>';

    $message .=  $_POST[prov_state];
    $message .=  '</B><br>
      Postal Code&#58; <B>';
    $message .=  $_POST[zip_code];
    $message .=  '</B><br>
      Country&#58; <B>';
    $message .=  $_POST[country];
    $message .=  '</B><br>
      Telephone &#35;&#58; <B>';
    $message .=  $_POST[telephone];
    $message .=  '</B><br>
      Business Phone &#35;&#58; <B>';
    $message .=  $_POST[telephone2];
    $message .=  '</B><br>
      E&#45;mail&#58; <B>';
    $message .=  $_POST[email];
    $message .=  '</B><br>
      &#35; Attending&#58; <B>';
    $message .=  $_POST[group_attending];
    $message .=  '</B></p>';

    $message .= '
    </body>
    </html>
    ';

    // multiple recipients
    $to  = $_POST[email] . ", "; // note the comma
    $to .= '';

    // subject
    $subject = '';

    // To send HTML mail, the Content-type header must be set
    $headers .= 'MIME-Version: 1.0' . "\r\n";
    $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";

    // Additional headers
    $headers .= 'To: Registrant <' . $_POST[email] . ">\n";
    $headers .= ' <>' . "\n";

    // Mail it
    mail($to, $subject, $message, $headers);


    ?>

I have removed some places, that way i don't have my email on the page for spammers. Anyways thanks in advance I really will appreciate it :D

Upvotes: 0

Views: 496

Answers (2)

Bafsky
Bafsky

Reputation: 771

It looks like you haven't specified POST as the form method, but are trying to acess post variables. Set the form method to post.

Upvotes: 1

mn.
mn.

Reputation: 846

close! with line 9:

$qry=mysql_query("INSERT INTO...

theres a NOW() at the end:

...'$_POST[email]', NOW())

remove the NOW(), so just

...'$_POST[email]')

see how that goes :)

Upvotes: 1

Related Questions