SitePoint Sponsor

User Tag List

Results 1 to 2 of 2
  1. #1
    SitePoint Zealot
    Join Date
    Feb 2011
    Location
    Colorado, USA
    Posts
    119
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    PHP form make radio selection required

    This is an added thread to the first thread I posted. I want to add a radio selection to the form and make it a required part of the form. I also want to make sure it is added to the sent e-mail. The site I am working on is not online yet and am not sure if any of what I have so far even work properly, any help very appreciated.

    This is my register.php

    HTML Code:
    <div align="center"><h2>Please fill out the form below to register for a coures</h2></div><br>
    <p>
    * Required
    <form name="contactform" method="post" action="sent_registration.php">
    <table width="475px">
    </tr>
    <tr>
     <td valign="top">
      <label for="first_name">First Name *</label>
     </td>
     <td valign="top">
      <input  type="text" name="first_name" maxlength="50" size="30">
     </td>
    </tr>
     
    <tr>
     <td valign="top"">
      <label for="last_name">Last Name *</label>
     </td>
     <td valign="top">
      <input  type="text" name="last_name" maxlength="50" size="30">
     </td>
    </tr>
    <tr>
     <td valign="top">
      <label for="email">Email Address *</label>
     </td>
     <td valign="top">
      <input  type="text" name="email" maxlength="80" size="30">
     </td>
     
    </tr>
    <tr>
     <td valign="top">
      <label for="telephone">Telephone Number *</label>
     </td>
     <td valign="top">
      <input  type="text" name="telephone" maxlength="30" size="30">
     </td>
    </tr>
    <tr>
    	<td valign="top">
    		<label for="course">Course you would like to take *</label>
    	</td>
    	<td valign="top">
    		<input type="radio" value="Beginner_Pistol" name="course"> Beginner Pistol on:<br />&nbsp;&nbsp;&nbsp;&nbsp; <?php echo $nextbeginner ?><br />
    		&nbsp;<br />
    		<input type="radio" value="Beginner_Pistol2" name="course"> Beginner Pistol on:<br />&nbsp;&nbsp;&nbsp;&nbsp; <?php echo $nextbeginner2 ?><br />
    		&nbsp;<br />
    		<input type="radio" value="Conceal_Carry" name="course"> Concealed Carry on:<br />&nbsp;&nbsp;&nbsp;&nbsp; <?php echo $nextconcealed ?><br />
    		&nbsp;<br />
    		<input type="radio" value="Conceal_Carry2" name="course"> Concealed Carry on:<br />&nbsp;&nbsp;&nbsp;&nbsp; <?php echo $nextconcealed2 ?><br />
    		&nbsp;<br />
    		<input type="radio" value="Advanced_Pistol" name="course"> Advanced Pistol on:<br />&nbsp;&nbsp;&nbsp;&nbsp; <?php echo $nextadvanced ?><br />
    		&nbsp;<br />
    		<input type="radio" value="Advanced_Pistol2" name="course"> Advanced Pistol on:<br />&nbsp;&nbsp;&nbsp;&nbsp; <?php echo $nextadvanced2 ?><br />
    		&nbsp;<br />
    		<input type="radio" value="Rifel_or_Shotgun" name="course"> Rifle or Shotgun on:<br />&nbsp;&nbsp;&nbsp;&nbsp; <?php echo $nextrifle ?>
    	</td>
    </tr>	
    		
    	
    <tr>
     <td valign="top">
      <label for="comments">How many people in your group *</label>
     </td>
     <td valign="top">
      <textarea  name="comments" maxlength="1000" cols="25" rows="6"></textarea>
     </td>
     
    </tr>
    <tr>
     <td colspan="2" style="text-align:center">
      <input type="submit" value="Submit">   
     </td>
    </tr>
    </table>
    </form>
    And this is my sent_registration.php

    PHP Code:
    <?php
    if(isset($_POST['email'])) {
         
        
    // EDIT THE 2 LINES BELOW AS REQUIRED
        
    $email_to "******";
        
    $email_subject "****";
         
         
        function 
    died($error) {
            
    // your error code can go here
            
    echo "We are very sorry, but there were error(s) found with the form you submitted. ";
            echo 
    "These errors appear below.<br /><br />";
            echo 
    $error."<br /><br />";
            echo 
    "Please go back and fix these errors.<br /><br />";
            die();
        }
         
        
    // validation expected data exists
        
    if(!isset($_POST['first_name']) ||
            !isset(
    $_POST['last_name']) ||
            !isset(
    $_POST['email']) ||
            !isset(
    $_POST['telephone']) ||
            !isset(
    $_POST['comments'])) {
            
    died('We are sorry, but there appears to be a problem with the form you submitted.');       
        }
         
        
    $first_name $_POST['first_name']; // required
        
    $last_name $_POST['last_name']; // required
        
    $email_from $_POST['email']; // required
        
    $telephone $_POST['telephone']; // required
        
    $comments $_POST['comments']; // required
         
        
    $error_message "";
        
    $email_exp "/^[^0-9][A-z0-9_]+([.][A-z0-9_]+)*[@][A-z0-9_]+([.][A-z0-9_]+)*[.][A-z]{2,4}$/";
      if(!
    preg_match($email_exp,$email_from)) {
        
    $error_message .= 'Email address is <u>not</u> valid.<br />';
      }
        
    $string_exp "/[a-z .'-]+$/";
      if(!
    preg_match($string_exp,$first_name)) {
        
    $error_message .= 'The First Name you entered does not appear to be valid.<br />';
      }
      if(!
    preg_match($string_exp,$last_name)) {
        
    $error_message .= 'The Last Name you entered does not appear to be valid.<br />';
      }
      if(!
    preg_match("/^[0-9]{10}/"$telephone)) {
        
    $error_message    'Please enter valid 10 digit phone number..<br />';
      }        
      if (!
    $course)= "Please select a course and date.";
      
      if(
    strlen($comments) < 2) {
        
    $error_message .= 'The Comments you entered do not appear to be valid.<br />';
      }
      if(
    strlen($error_message) > 0) {
        
    died($error_message);
      }
        
    $email_message "Form details below.\n\n";
         
        function 
    clean_string($string) {
          
    $bad = array("content-type","bcc:","to:","cc:","href");
          return 
    str_replace($bad,"",$string);
        }
         
        
    $email_message .= "First Name: ".clean_string($first_name)."\n";
        
    $email_message .= "Last Name: ".clean_string($last_name)."\n";
        
    $email_message .= "Email: ".clean_string($email_from)."\n";
        
    $email_message .= "Telephone: ".clean_string($telephone)."\n";
        
    $email_message .= "Comments: ".clean_string($comments)."\n";
         
         
    // create email headers
    $headers 'From: '.$email_from."\r\n".
    'Reply-To: '.$email_from."\r\n" .
    'X-Mailer: PHP/' phpversion();
    @
    mail($email_to$email_subject$email_message$headers);  
    ?>
     
    <!-- include your own success html here -->
     
    Thank you for registering for the class <?php echo $first_name ?>! We will call/e-mail to confirm the date and time. <strong>We look forword to seeing you on the 
         range.</strong>
     
    <?php
    }
    ?>

  2. #2
    SitePoint Wizard silver trophybronze trophy Cups's Avatar
    Join Date
    Oct 2006
    Location
    France, deep rural.
    Posts
    6,869
    Mentioned
    17 Post(s)
    Tagged
    1 Thread(s)
    Why dont you simply do this line of debug at the top of your form handler:

    PHP Code:
    <?php
    var_dump
    $POST );
    And they play with your radio buttons and resubmit the form and then you will be able to work out for yourself how to access that particular variable.

    As for "is it set" take a look at this table of values.


Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •