【问题标题】:PHP Form Validation Errors Not ShowingPHP 表单验证错误未显示
【发布时间】:2023-11-07 23:17:01
【问题描述】:

在一个简单的 PHP 表单上练习,无法弄清楚为什么当没有填写或选择字段时没有出现验证错误消息。谁能发现可能导致 $errors 不显示的原因?我无法判断 $errors 数组是否正常运行。我希望在未完成的字段下方弹出每条错误消息,并且如果只有一个不完整的表单,则字段不会被清除。

感谢您的帮助。

<?php 

//DEFINE VARIABLES

$errors = array();
$success = false;
$name = $nameErr = $origin = $dob = $sex = $destination = null;
$destination_options = array("choose" => "--Please Choose Your Destination--", "mercury" => "Mercury", "venus" => "Venus", "moon" => "Moon", "jupiter" => "Jupiter", "saturn" => "Saturn", "uranus" => "Uranus", "neptune" => "Neptune", "pluto" => "Pluto", "ub313" => "2003 UB313");
$trip = $purpose = $arrest = $arrest_reason = $terrorist = $fears = $insurance = $terms = null;


// Check if form was submitted

if (isset($_POST['name']) && isset($_POST['origin']) && isset($_POST['dob']) && isset($_POST['sex']) && isset($_POST['destination']) && isset($_POST['trip']) && isset($_POST['purpose']) && isset($_POST['arrest']) && isset($_POST['arrest_reason']) && isset($_POST['terrorist']) && isset($_POST['fears']) && isset($_POST['insurance']) && isset($_POST['terms'])) {

    //VALIDATE INPUTS

    if (empty($_POST['name']))
        $errors['name'] = "Please enter your name.";
    else
        $name = $_POST['name'];
    if (empty($_POST['origin']))
        $errors['origin'] = "Please enter your country of origin.";
    else 
        $origin = $_POST['origin'];
    if (empty($_POST['dob']) && is_numeric($_POST['dob']))
        $errors['dob'] = "Please enter a valid birth date.";
    else 
        $dob = $_POST['dob'];
    if (empty($_POST['sex']) && preg_match("/\b(M)\b/", $_POST['sex']) && preg_match("/\b(F)\b/", $_POST['sex']))
        $errors['sex'] = "Please provide your sex.";
    else
        $sex = $_POST['sex'];
    if (!array_key_exists($_POST['destination'], $destination_options))
        $errors['destination'] = "Please select a destination.";
    else 
        $destination = $_POST['destination'];
    if (empty($_POST['trip']))
        $errors['trip'] = "Please choose One Way or Round Trip travel.";
    else
        $trip = $_POST['trip'];
    if (empty($_POST['purpose']))
        $errors['purpose'] = "Please tell us why you\'re traveling.";
    else
        $purpose = $_POST['purpose'];
    if (empty($_POST['arrest']))
        $errors['arrest'] = "Please tell us if you were ever arrested.";
    else
        $arrest = $_POST['arrest'];
    if (empty($_POST['arrest_reason']) && $arrest = $_POST['arrest']=='yes')
        $errors['arrest_reason'] = "Please tell us why you were arrested.";
    else
        $arrest_reason = $_POST['arrest_reason'];
    if (empty($_POST['terrorist']))
        $errors['terrorist'] = "Come on now, tell us if you're a terrorist. We really need to know!";
    else
        $terrorist = $_POST['terrorist'];
    if (empty($_POST['terms']))
        $errors['terms'] = "You must agree to the terms & conditions before submitting.";

    // IF NO ERRORS

    if (!$errors) {
        $success = true;
    }
}


?>


<div id="container">
  <div id="intro">
      <img src="img/p_logo.svg" alt="logo" />

      <?php 

          // IF NO ERRORS AND FORM SUBMITS SUCCESSFULLY

          if ($success) {

              if ($_POST['arrest']=='no' && $_POST['terrorist']=='no' && $_POST['insurance']=='regular') {
                  echo "<p class='error'>THANK YOU! Your application is being processed.<br />Your estimated trip cost with REGULAR insurance is $40,000. <br />You will hear from a representative shortly to finalize the details. <br />Get ready to go to space!</p>";

              } else if ($_POST['arrest']=='no' && $_POST['terrorist']=='no' && $_POST['insurance']=='deluxe') {
                  echo "<p class='error'>THANK YOU! Your application is being processed.<br />Your estimated trip cost with DELUXE insurance is $50,000. <br />You will hear from a representative shortly to finalize the details. <br />Get ready to go to space!</p>";

              } else if ($_POST['arrest']=='no' && $_POST['terrorist']=='no' && $_POST['insurance']=='no') { 
                  echo "<p class='error'>THANK YOU! Your application is being processed and you will hear from a representative soon.<br />Get ready to go to space!</p>"; 
              }

              if ($_POST['arrest']=='yes' || $_POST['terrorist']=='yes')
                  echo "<p class='error'>BASED ON YOUR INFORMATION, YOU HAVE BEEN DEEMED A SECURITY RISK AND YOUR APPLICATION IS DENIED.<br />AN AGENT WILL REACH YOU SHORTLY.</p>";

              // CLEAR FIELDS   
              list($name, $origin, $dob, $sex, $destination, $trip, $purpose, $arrest, $arrest_reason, $terrorist, $fears, $insurance, $terms) = array(null, null, null, null, null, null, null, null, null, null, null, null, null);

          }

      ?>


      <h1>Interplanetary Shuttle Registration</h1>
      <p>
          Please complete all fields. <br />Costs will be calculated and applicants accepted or rejected for travel based on input.<br />
          If approved, you will be contacted by a PlanetCo agent to complete the process.
      </p>      
  </div>

  <form action="space_trip_registration.php" method="POST">
      <fieldset>

          <legend>Basic Info</legend>
          <label for="name">Full Name</label>
          <input type="text" id="name" name="name" tabindex="1" value="<?php echo htmlspecialchars($name, ENT_QUOTES); ?>" />
              <?php
                  if (isset($errors['name']))                                        
                      echo "<p class='error'>".$errors['name']."</p>";                  
              ?>


          <label for="origin">Country of Origin</label>
          <input type="text" id="origin" name="origin" tabindex="2" value="<?php echo htmlspecialchars($origin, ENT_QUOTES); ?>" />
              <?php
                  if (isset($errors['origin']))                                      
                      echo "<p class='error'>".$errors['origin']."</p>";                        
              ?>
          <br /><br />

          <label for="dob">Date of Birth</label>
          <input type="text" name="dob" maxlength="10" placeholder="MM/DD/YYYY" tabindex="3" value="<?php echo htmlspecialchars($dob, ENT_QUOTES);?>" />
              <?php
                  if (isset($errors['dob']))                                         
                      echo "<p class='error'>".$errors['dob']."</p>";
              ?>
          <label for="sex">Sex</label>
          <input type="text" name="sex" maxlength="1" placeholder="M/F" tabindex="4" value="<?php echo htmlspecialchars($sex, ENT_QUOTES); ?>" />
              <?php
                  if (isset($errors['sex']))                             
                      echo "<p class='error'>".$errors['sex']."</p>";                           
              ?>

          <br /><br />

          <legend>Desination</legend>
          <label for="destination">Destination</label>
          <select name="destination" id="destination" tabindex="5">
              <!-- <option selected="selected"> --Please Choose Your Destination-- </option> -->
              <?php 
                  foreach($destination_options as $key => $value) 
                      echo "<option value='" .$key. "'".($key == $destination ? " selected='selected'" : " ").">".htmlspecialchars($value, ENT_QUOTES)."</option>"

              ?>
          </select>
              <?php
                  if (isset($errors['destination']))                                     
                      echo "<p class='error'>".$errors['destination']."</p>";                           
              ?>

          <br /><br />

          <label for="trip">Is This A One-Way or Round- Trip?</label>
          <br />
          <input type="radio" id="trip" name="trip" value="one" tabindex="6">One Way <input type="radio" id="trip" name="trip" value="round" tabindex="7">Round Trip
              <?php
                  if (isset($errors['trip']))                                        
                      echo "<p class='error'>".$errors['trip']."</p>";                          
              ?>
          <br /><br />
          <label for="purpose">Primary Reason for Traveling</label>
          <br />
          <textarea rows="10" cols="50" id="purpose" name="purpose" tabindex="8" <?php echo htmlspecialchars($purpose, ENT_QUOTES); ?> ></textarea>
              <?php
                  if (isset($errors['purpose']))                                     
                      echo "<p class='error'>".$errors['purpose']."</p>";                           
              ?>            
          <br /><br />

          <legend>Additional Info</legend>

          <label for="arrest">Have You Ever Been Arrested?</label>
          <input type="radio" name="arrest" value="yes">Yes <input type="radio" name="arrest" value="no" tabindex="9" >No
              <?php
                  if (isset($errors['arrest']))                                          
                      echo "<p class='error'>".$errors['arrest']."</p>";                            
              ?>
          <br />
          <label for="arrest_reason">If yes, why?</label>
          <input type="text" name="arrest_reason" tabindex="10" value="<?php echo htmlspecialchars($arrest_reason, ENT_QUOTES); ?>" />
              <?php
                  if (isset($errors['arrest_reason']))                                       
                      echo "<p class='error'>".$errors['arrest_reason']."</p>";                         
              ?>
          <br /><br />
          <label for="terrorist">Are you a terrorist?</label>
          <input type="radio" name="terrorist" value="yes" tabindex="11">Yes <input type="radio" name="terrorist" value="no" tabindex="12">No
              <?php
                  if (isset($errors['terrorist']))                                   
                      echo "<p class='error'>".$errors['terrorist']."</p>";                         
              ?>
          <br /><br />

          <!-- FEARS CHECKBOXES -->

          <label for="fears">What Do You Fear? <span class="italic finePrint">(Check all that apply)</span></label><br />
          <label for="aliens"><input type="checkbox" id="aliens" name="fears" value="aliens" tabindex="13">Aliens</label>
          <label for="zero_gravity"><input type="checkbox" id="zero_graviy" name="fears" value="zero_gravity" tabindex="14">Zero Gravity</label>
          <label for="solar_flares"><input type="checkbox" id="solar_flares" name="fears" value="solar_flares" tabindex="15">Solar Flares</label>
          <br />
          <label for="vast_space"><input type="checkbox" id="vast_space" name="fears" value="vast_space" tabindex="16">Vast Infinite Space</label>
          <label for="black_holes"><input type="checkbox" id="black_holes" name="fears" value="black_holes" tabindex="17">Black Holes</label>
          <label for="wormholes"><input type="checkbox" id="wormholes" name="fears" value="wormholes" tabindex="18">Wormholes</label>
          <br />
          <label for="airlock"><input type="checkbox" id="airlock" name="fears" value="airlock" tabindex="19">Getting accidentally blown out of an airlock by a malicious, self-aware computer</label> <br />
          <label for="interstellar"><input type="checkbox" id="interstellar" name="fears" value="interstellar" tabindex="20">Getting lost in space-time like in <span class="italic">Interstellar</span></label>
              <?php
                  if (isset($errors['fears']))                                   
                      echo "<p class='error'>".$errors['fears']."</p>";
              ?>
          <br /><br />

          <!-- END FEARS CHECKBOXES --> 

          <legend>Insurance</legend>
          <p>Trip insurance is offered in two packages: Deluxe and Regular.<br /><span class="italic finePrint">Insurance does not cover cases of catastrophic malfunction, alien abduction, or discharge from airlock by a malicious, self-aware computer.</span></p>
          <label for="insurance">Purchase Trip Insurance</label>
          <label for="no"><input type="radio" id="no" name="insurance" value="no" checked="checked" tabindex="21">No</label>
          <label for="regular"><input type="radio" id="regular" name="insurance" value="regular" tabindex="22">Regular <span class="italic finePrint">(add $10,000)</span></label>
          <label for="deluxe"><input type="radio" id="deluxe" name="insurance" value="deluxe" tabindex="23">Deluxe <span class="italic finePrint">(add $20,000)</span></label>
          <br /><br />

          <!-- FINAL SUBMIT SECTION -->

          <legend>Terms and Conditions</legend>
          <label for="terms"><input type="checkbox" id="terms" name="terms" value="terms" tabindex="24">I agree to the <a href="#" id='conditions'  title="Terms and Conditions">terms and conditions</a> set by PlanetCo.</label>
              <?php
                  if (isset($errors['terms']))                                   
                      echo "<p class='error'>".$errors['terms']."</p>"; 
              ?>
          <br /><br />

          <div class="buttonDiv">
              <button type="submit" tabindex="25">APPLY</button>
          </div>

      </fieldset>
  </form>

</div>

【问题讨论】:

    标签: php html forms validation


    【解决方案1】:

    您需要将验证码排除在 if 条件之外。在您的 if 条件下,您已经在检查是否设置了所有字段,并且如果设置了所有字段,则不会显示错误。所以在 if 条件开始之前移动你的验证代码。

    【讨论】:

    • 谢谢你,这很有帮助——并没有完全解决我的问题(调整更多代码没有任何收获),但让我走上了正确的轨道。看起来一个很大的因素是如果未选中复选框和收音机则未设置。还没有完全解决问题,但已经解决了。
    【解决方案2】:

    POST 中的复选框只显示它具有价值。

    <?php 
    //DEFINE VARIABLES
    
    $errors = array();
    $success = false;
    $name = $nameErr = $origin = $dob = $sex = $destination = null;
    $destination_options = array("choose" => "--Please Choose Your Destination--", "mercury" => "Mercury", "venus" => "Venus", "moon" => "Moon", "jupiter" => "Jupiter", "saturn" => "Saturn", "uranus" => "Uranus", "neptune" => "Neptune", "pluto" => "Pluto", "ub313" => "2003 UB313");
    $trip = $purpose = $arrest = $arrest_reason = $terrorist = $fears = $insurance = $terms = null;
    
    
    // Check if form was submitted
    
    if (isset($_POST['submitBtn'])) {
    
        //VALIDATE INPUTS
    
        if (empty($_POST['name']))
            $errors['name'] = "Please enter your name.";
        else
            $name = $_POST['name'];
        if (empty($_POST['origin']))
            $errors['origin'] = "Please enter your country of origin.";
        else 
            $origin = $_POST['origin'];
        if (empty($_POST['dob']) && is_numeric($_POST['dob']))
            $errors['dob'] = "Please enter a valid birth date.";
        else 
            $dob = $_POST['dob'];
        if (empty($_POST['sex']) && preg_match("/\b(M)\b/", $_POST['sex']) && preg_match("/\b(F)\b/", $_POST['sex']))
            $errors['sex'] = "Please provide your sex.";
        else
            $sex = $_POST['sex'];
        if (!array_key_exists($_POST['destination'], $destination_options))
            $errors['destination'] = "Please select a destination.";
        else 
            $destination = $_POST['destination'];
        if (empty($_POST['trip']))
            $errors['trip'] = "Please choose One Way or Round Trip travel.";
        else
            $trip = $_POST['trip'];
        if (empty($_POST['purpose']))
            $errors['purpose'] = "Please tell us why you\'re traveling.";
        else
            $purpose = $_POST['purpose'];
        if (empty($_POST['arrest']))
            $errors['arrest'] = "Please tell us if you were ever arrested.";
        else
            $arrest = $_POST['arrest'];
        if (empty($_POST['arrest_reason']) && (isset($arrest) && $arrest=='yes'))
            $errors['arrest_reason'] = "Please tell us why you were arrested.";
        else
            $arrest_reason = $_POST['arrest_reason'];
        if (empty($_POST['terrorist']))
            $errors['terrorist'] = "Come on now, tell us if you're a terrorist. We really need to know!";
        else
            $terrorist = $_POST['terrorist'];
        if (empty($_POST['terms']))
            $errors['terms'] = "You must agree to the terms & conditions before submitting.";
    
        // IF NO ERRORS
    
        if (!$errors) {
            $success = true;
        }
    }
    ?>
    
    <!DOCTYPE HTML>
    <html>
    <head>
    
        <!-- font-family: 'Roboto', sans-serif; -->
        <link href='https://fonts.googleapis.com/css?family=Roboto:400,700,300,500' rel='stylesheet' type='text/css'>
    
        <title>Interplanetary Travel Registration</title>
    
        <style type="text/css">
            html {margin:0; padding:0; background-color:#eeeeee; font-family:'Roboto',Helvetica,Arial,sans-serif;}
            #container {width:98%; min-width:480px; max-width:1000px; margin:0 auto;}
            #intro {text-align:center; text-transform:uppercase;}
            legend {font-weight:700; text-transform:uppercase;}
            input {padding:0.4rem; border:1px solid #cccccc; border-radius:2px;}
            textarea {padding:0.5rem; border:1px solid #cccccc; border-radius:2px;}
            span.italic {font-style:italic;}
            .finePrint {font-size:0.8rem;}
            button {padding:0.7rem;cursor: pointer;}
            .buttonDiv {margin:0 auto; width:60px; text-align:center;}
            .error {color:#be1e2d; font-weight:700}
        </style>
    
    </head>
    
    <body>
    
    <div id="container">
    
        <div id="intro">
            <img src="img/p_logo.svg" alt="logo" />
    
            <?php 
    
                // IF NO ERRORS AND FORM SUBMITS SUCCESSFULLY
    
                if ($success) {
    
                    if ($_POST['arrest']=='no' && $_POST['terrorist']=='no' && $_POST['insurance']=='regular') {
                        echo "<p class='error'>THANK YOU! Your application is being processed.<br />Your estimated trip cost with REGULAR insurance is $40,000. <br />You will hear from a representative shortly to finalize the details. <br />Get ready to go to space!</p>";
    
                    } else if ($_POST['arrest']=='no' && $_POST['terrorist']=='no' && $_POST['insurance']=='deluxe') {
                        echo "<p class='error'>THANK YOU! Your application is being processed.<br />Your estimated trip cost with DELUXE insurance is $50,000. <br />You will hear from a representative shortly to finalize the details. <br />Get ready to go to space!</p>";
    
                    } else if ($_POST['arrest']=='no' && $_POST['terrorist']=='no' && $_POST['insurance']=='no') { 
                        echo "<p class='error'>THANK YOU! Your application is being processed and you will hear from a representative soon.<br />Get ready to go to space!</p>"; 
                    }
    
                    if ($_POST['arrest']=='yes' || $_POST['terrorist']=='yes')
                        echo "<p class='error'>BASED ON YOUR INFORMATION, YOU HAVE BEEN DEEMED A SECURITY RISK AND YOUR APPLICATION IS DENIED.<br />AN AGENT WILL REACH YOU SHORTLY.</p>";
    
                    // CLEAR FIELDS 
                    list($name, $origin, $dob, $sex, $destination, $trip, $purpose, $arrest, $arrest_reason, $terrorist, $fears, $insurance, $terms) = array(null, null, null, null, null, null, null, null, null, null, null, null, null);
    
                }
    
            ?>
    
    
            <h1>Interplanetary Shuttle Registration</h1>
            <p>
                Please complete all fields. <br />Costs will be calculated and applicants accepted or rejected for travel based on input.<br />
                If approved, you will be contacted by a PlanetCo agent to complete the process.
            </p>        
        </div>
    
        <form action="space_trip_registration.php" method="POST">
            <fieldset>
    
                <legend>Basic Info</legend>
                <label for="name">Full Name</label>
                <input type="text" id="name" name="name" tabindex="1" value="<?php echo htmlspecialchars($name, ENT_QUOTES); ?>" />
                    <?php
                        if (isset($errors['name']))                                      
                            echo "<p class='error'>".$errors['name']."</p>";                    
                    ?>
    
    
                <label for="origin">Country of Origin</label>
                <input type="text" id="origin" name="origin" tabindex="2" value="<?php echo htmlspecialchars($origin, ENT_QUOTES); ?>" />
                    <?php
                        if (isset($errors['origin']))                                    
                            echo "<p class='error'>".$errors['origin']."</p>";                      
                    ?>
                <br /><br />
    
                <label for="dob">Date of Birth</label>
                <input type="text" name="dob" maxlength="10" placeholder="MM/DD/YYYY" tabindex="3" value="<?php echo htmlspecialchars($dob, ENT_QUOTES);?>" />
                    <?php
                        if (isset($errors['dob']))                                       
                            echo "<p class='error'>".$errors['dob']."</p>";
                    ?>
                <label for="sex">Sex</label>
                <input type="text" name="sex" maxlength="1" placeholder="M/F" tabindex="4" value="<?php echo htmlspecialchars($sex, ENT_QUOTES); ?>" />
                    <?php
                        if (isset($errors['sex']))                           
                            echo "<p class='error'>".$errors['sex']."</p>";                         
                    ?>
    
                <br /><br />
    
                <legend>Desination</legend>
                <label for="destination">Destination</label>
                <select name="destination" id="destination" tabindex="5">
                    <!-- <option selected="selected"> --Please Choose Your Destination-- </option> -->
                    <?php 
                        foreach($destination_options as $key => $value) 
                            echo "<option value='" .$key. "'".($key == $destination ? " selected='selected'" : " ").">".htmlspecialchars($value, ENT_QUOTES)."</option>"
    
                    ?>
                </select>
                    <?php
                        if (isset($errors['destination']))                                   
                            echo "<p class='error'>".$errors['destination']."</p>";                         
                    ?>
    
                <br /><br />
    
                <label for="trip">Is This A One-Way or Round- Trip?</label>
                <br />
                <input type="radio" id="trip" name="trip" value="one" tabindex="6">One Way <input type="radio" id="trip" name="trip" value="round" tabindex="7">Round Trip
                    <?php
                        if (isset($errors['trip']))                                          
                            echo "<p class='error'>".$errors['trip']."</p>";                            
                    ?>
                <br /><br />
                <label for="purpose">Primary Reason for Traveling</label>
                <br />
                <textarea rows="10" cols="50" id="purpose" name="purpose" tabindex="8" <?php echo htmlspecialchars($purpose, ENT_QUOTES); ?> ></textarea>
                    <?php
                        if (isset($errors['purpose']))                                   
                            echo "<p class='error'>".$errors['purpose']."</p>";                         
                    ?>          
                <br /><br />
    
                <legend>Additional Info</legend>
    
                <label for="arrest">Have You Ever Been Arrested?</label>
                <input type="radio" name="arrest" value="yes">Yes <input type="radio" name="arrest" value="no" tabindex="9" >No
                    <?php
                        if (isset($errors['arrest']))                                        
                            echo "<p class='error'>".$errors['arrest']."</p>";                          
                    ?>
                <br />
                <label for="arrest_reason">If yes, why?</label>
                <input type="text" name="arrest_reason" tabindex="10" value="<?php echo htmlspecialchars($arrest_reason, ENT_QUOTES); ?>" />
                    <?php
                        if (isset($errors['arrest_reason']))                                         
                            echo "<p class='error'>".$errors['arrest_reason']."</p>";                           
                    ?>
                <br /><br />
                <label for="terrorist">Are you a terrorist?</label>
                <input type="radio" name="terrorist" value="yes" tabindex="11">Yes <input type="radio" name="terrorist" value="no" tabindex="12">No
                    <?php
                        if (isset($errors['terrorist']))                                     
                            echo "<p class='error'>".$errors['terrorist']."</p>";                           
                    ?>
                <br /><br />
    
                <!-- FEARS CHECKBOXES -->
    
                <label for="fears">What Do You Fear? <span class="italic finePrint">(Check all that apply)</span></label><br />
                <label for="aliens"><input type="checkbox" id="aliens" name="fears" value="aliens" tabindex="13">Aliens</label>
                <label for="zero_gravity"><input type="checkbox" id="zero_graviy" name="fears" value="zero_gravity" tabindex="14">Zero Gravity</label>
                <label for="solar_flares"><input type="checkbox" id="solar_flares" name="fears" value="solar_flares" tabindex="15">Solar Flares</label>
                <br />
                <label for="vast_space"><input type="checkbox" id="vast_space" name="fears" value="vast_space" tabindex="16">Vast Infinite Space</label>
                <label for="black_holes"><input type="checkbox" id="black_holes" name="fears" value="black_holes" tabindex="17">Black Holes</label>
                <label for="wormholes"><input type="checkbox" id="wormholes" name="fears" value="wormholes" tabindex="18">Wormholes</label>
                <br />
                <label for="airlock"><input type="checkbox" id="airlock" name="fears" value="airlock" tabindex="19">Getting accidentally blown out of an airlock by a malicious, self-aware computer</label> <br />
                <label for="interstellar"><input type="checkbox" id="interstellar" name="fears" value="interstellar" tabindex="20">Getting lost in space-time like in <span class="italic">Interstellar</span></label>
                    <?php
                        if (isset($errors['fears']))                                     
                            echo "<p class='error'>".$errors['fears']."</p>";
                    ?>
                <br /><br />
    
                <!-- END FEARS CHECKBOXES --> 
    
                <legend>Insurance</legend>
                <p>Trip insurance is offered in two packages: Deluxe and Regular.<br /><span class="italic finePrint">Insurance does not cover cases of catastrophic malfunction, alien abduction, or discharge from airlock by a malicious, self-aware computer.</span></p>
                <label for="insurance">Purchase Trip Insurance</label>
                <label for="no"><input type="radio" id="no" name="insurance" value="no" checked="checked" tabindex="21">No</label>
                <label for="regular"><input type="radio" id="regular" name="insurance" value="regular" tabindex="22">Regular <span class="italic finePrint">(add $10,000)</span></label>
                <label for="deluxe"><input type="radio" id="deluxe" name="insurance" value="deluxe" tabindex="23">Deluxe <span class="italic finePrint">(add $20,000)</span></label>
                <br /><br />
    
                <!-- FINAL SUBMIT SECTION -->
    
                <legend>Terms and Conditions</legend>
                <label for="terms"><input type="checkbox" id="terms" name="terms" value="terms" tabindex="24">I agree to the <a href="#" id='conditions'  title="Terms and Conditions">terms and conditions</a> set by PlanetCo.</label>
                    <?php
                        if (isset($errors['terms']))                                     
                            echo "<p class='error'>".$errors['terms']."</p>";   
                    ?>
                <br /><br />
    
                <div class="buttonDiv">
                    <button type="submit" name="submitBtn" tabindex="25">APPLY</button>
                </div>
    
            </fieldset>
        </form>
    
    </div>
    
    <script type="text/javascript">
        document.getElementById('conditions').onclick=function(){
            alert("TERMS & CONDITIONS: It's space, dude. We're gonna do our best, but you travel at your own risk. It's like, how the hell can we do anything about aliens, right?");
        }
    </script>
    
    </body>
    </html>
    

    【讨论】: