2014-04-17 89 views
0

任何人都知道這裏出了什麼問題?PHP,HTML,Ajax表單問題 - 500內部服務器錯誤

繼續收到500內部服務器錯誤。 -

「NetworkError:500內部服務器錯誤 - HTTP://網站名稱/validationengine.php」

不知怎的,我想這是一些錯誤的PHP代碼。所有與驗證工作,直到發送的時間。

HTML

 <form id="competition_form" accept-charset="UTF-8" enctype="multipart/form-data" method="post" name="val_form" action="validationengine.php"> 
      <fieldset> 
       <div id="page1_form" class="pages_form"> 
        <p>Line1</p><br> 
        <input type="checkbox" name="quest" class="quest_group" value="1"><span class="nr_checkboxes">1. </span> 
        <label for="quest">labeltext 1</label><br> 
        <input type="checkbox" name="quest" class="quest_group" value="x"><span class="nr_checkboxes">X. </span> 
        <label for="quest">labeltext X</label><br> 
        <input type="checkbox" name="quest" class="quest_group" value="2"><span class="nr_checkboxes">2. </span> 
        <label for="quest">labeltext 2</label><br> 
        <p>Text</p> 
        <textarea name="motivering" rows="4" cols="66" maxlength="100"></textarea> 
       </div> 
       <div id="page2_form" class="pages_form"> 
        <input type="checkbox" name="prize_check" value="win 1"> 
        <label for="prize_check">Win 1</label><br> 
        <input type="checkbox" name="prize_check" value="win 2"> 
        <label for="prize_check">Win 2</label><br> 

        <div class="full_input input_blocks"> 
         <label for="namn">Namn:</label> 
         <input type="text" name="namn" maxlength="100" value="" /> 
         <span id="namn_error" class="error">Du måste skriva in ditt namn.</span> 
        </div> 

        <div class="full_input input_blocks"> 
         <label for="adress">Adress:</label> 
         <input type="text" name="adress" maxlength="100" value="" /> 
         <span id="adress_error" class="error">Du måste skriva in din adress.</span> 
        </div> 

        <div class="half_input input_blocks"> 
         <label for="postnr">Postnr:</label> 
         <input type="text" name="postnr" maxlength="50" value="" /> 
         <span id="postnr_error" class="error">Du måste skriva in ditt postnummer.</span> 
        </div> 

        <div class="half_input input_blocks"> 
         <label for="ort">Ort:</label> 
         <input type="text" name="ort" maxlength="50" value="" /> 
         <span id="ort_error" class="error">Du måste skriva in din bostadsort.</span> 
        </div> 

        <div class="half_input input_blocks"> 
         <label for="email">Mejl:</label> 
         <input type="text" name="email" maxlength="50" value="" /> 
         <span id="email_error" class="error">Du måste skriva in din mejl-adress.</span> 
        </div> 

        <div class="half_input input_blocks"> 
         <label for="mobil">Mobil:</label> 
         <input type="text" name="mobil" maxlength="50" value="" /> 
         <span id="mobil_error" class="error">Du måste skriva in ditt telefonnummer</span> 
        </div> 

        <div id="rules_box"> 
         <input type="checkbox" name="rules_check" value="Tävlingsvillkor godkända"> 
         <label for="rules_check">Jag har läst och godkänner <b>tävlingsvillkoren</b></label><br> 
         <span id="rules_error" class="error">Du måste godkänna tävlingsvillkoren för att tävla.</span> 
        </div> 

        <input type="submit" name="submit" value="" class="submit-button" id="submit_btn" /> 
       </div> 
      </fieldset> 
     </form> 

JS

$(function() { 
     $('.error').hide(); 

     $("input[name='email']").onchange=function(){$('.error').hide();}; 

     $("input[name='email']").click(function() { 
     $('.error').hide(); 
     }); 

     $(".submit-button").click(function() { 

      var form = $('#competition_form'); 
      var name = $("input[name='namn']").val(); 
      var adress = $("input[name='adress']").val(); 
      var postnr = $("input[name='postnr']").val(); 
      var ort = $("input[name='ort']").val(); 
      var email = $("input[name='email']").val(); 
      var mobil = $("input[name='mobil']").val(); 
      var rules = $("input[name='rules_check']").is(':checked'); 

      $('.error').hide(); 

      if (name == "") { 
      $("#namn_error").show(); 
      return false; 
      } 

      if (adress == "") { 
      $("#adress_error").show(); 
      return false; 
      } 

      if (postnr == "") { 
      $("#postnr_error").show(); 
      return false; 
      } 

      if (ort == "") { 
      $("#ort_error").show(); 
      return false; 
      } 

      if (email == "" || !isValidEmailAddress(email)) { 
      $("#email_error").show(); 
      return false; 
      } 

      if (mobil == "") { 
      $("#mobil_error").show(); 
      return false; 
      } 

      console.log(rules); 
      if (!rules) { 
      $("#rules_error").show(); 
      return false; 
      } 

     $.ajax({ 
      type: form.attr('method'), 
      url: form.attr('action'), 
      data: form.serialize(), 
      dataType:'html', 
      success: function(data) { 
      $('#thankyou_pop').fadeIn(500); 
      }, 
      error: function(data) { 
      //AJAX request not completed 

      } 
     }); 
     return false; 

     }); 
    }); 

function isValidEmailAddress(emailAddress) { 
    var pattern = new RegExp(/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i); 
    return pattern.test(emailAddress); 
}; 

PHP

<?php 
if(isset($_POST)){ 

    // validation 
    $validationOK=true; 


    $ipaddress = $_SERVER['REMOTE_ADDR']; 

    $date = date('d/m/Y'); 

    $time = date('H:i:s'); 

    $EmailTo = "[email protected]"; 
    $Subject = "Nytt Tävlingsbidrag"; 
    $quest = ""; 
    if (isset($_POST['quest'])) { 
     $answer = Trim(stripslashes($_POST['quest'])); 
     if($answer == 1) { 
      $quest = "Rätt svar"; 
     } else { 
      $quest = "Fel svar"; 
     } 
    } 

    if($quest == "") { 
     $quest = "Inget svar"; 
    } 

    $motivering = Trim(stripslashes($_POST['motivering'])); 
    if ($motivering == "") { 
     $motivering = "Ingen motivering"; 
    } 

    $vinst = ""; 
    if (isset($_POST['prize_check'])) { 
     $win_answer = Trim(stripslashes($_POST['prize_check'])); 
     if ($win_answer == "") { 
      $vinst = "Ingen vinst vald" 
     } else { 
      $vinst = $win_answer; 
     } 
    } 

    $namn = Trim(stripslashes($_POST['namn'])); 
    $adress = Trim(stripslashes($_POST['adress'])); 
    $postnr = Trim(stripslashes($_POST['postnr'])); 
    $ort = Trim(stripslashes($_POST['ort'])); 
    $Email = Trim(stripslashes($_POST['email'])); 
    $mobil = Trim(stripslashes($_POST['mobil'])); 
    $villkor = Trim(stripslashes($_POST['rules_check'])); 

    if (!$validationOK) { 
     print "<meta http-equiv=\"refresh\" content=\"0;URL=error.htm\">"; 
     exit; 
    } else { 

    // prepare email body text 

     $headers = "Berocca Boost Tävlingsbidrag" . "\r\n"; 

     $headers .= 'Content-type: text/html; charset=utf-8' . "\r\n"; 

     $Body = "<h3>Nytt Tävlingsbidrag</h3> 
     <p><strong>Fråga: </strong> {$quest} </p> 
     <p><strong>Motivering: </strong> {$motivering} </p> 
     <p><strong>Föredragen vinst: </strong> {$vinst} </p> 
     <p><strong>Namn: </strong> {$namn} </p> 
     <p><strong>Adress: </strong> {$adress} </p> 
     <p><strong>Postnr: </strong> {$postnr} </p> 
     <p><strong>Ort: </strong> {$ort} </p> 
     <p><strong>E-mail: </strong> {$Email} </p> 
     <p><strong>Mobil: </strong> {$mobil} </p> 
     <p><strong>Villkor accepterade: </strong> {$villkor} </p> 
     <br> 
     <p>IP address: {$ipaddress} Date: {$date} Time: {$time}</p>"; 


// send email 
     mail($EmailTo, $Subject, $Body, $headers); 
    } 
} 
?> 
+0

缺少',''在$ vinst = 「不收vinst VALD」' –

回答

0
$vinst = ""; 
if (isset($_POST['prize_check'])) { 
    $win_answer = Trim(stripslashes($_POST['prize_check'])); 
    if ($win_answer == "") { 
     $vinst = "Ingen vinst vald" //<====== (Missing semi-colon ";") 
    } else { 
     $vinst = $win_answer; 
    } 
} 
+0

感謝名單.. Geezz,這樣的小白錯誤。現在工作! – Rhyder

+0

不客氣 –

0

你已經做出了typo error。錯過了semicolon

if ($win_answer == "") 
{ 
    $vinst = "Ingen vinst vald" 
           ^^^ // Missing semicolon 
} 
else 
{ 
    $vinst = $win_answer; 
}