Проблема с PHP, HTML, Ajax Form - 500 Внутренняя ошибка сервера

0

Кто-нибудь знает, что здесь не так?

Продолжайте получать 500 внутренних ошибок сервера. -

"NetworkError: 500 Internal Server Error - http://sitename/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
    отсутствует ; that $vinst = "Ingen vinst vald"
Теги:
forms
ajaxform

2 ответа

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
    Спасибо .. Черт, такая нубская ошибка. Работает сейчас
  • 0
    Добро пожаловать
0

Вы сделали typo error. Пропустили semicolon с semicolon.

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню