初始化PHP类时出现500 Server错误

时间:2015-04-15 08:34:53

标签: php jquery sql-server ajax

我正在编写一个数据库来更好地管理我们的客户。 显示客户数据的逻辑完美无瑕。

处理我的方法调用的类称为“kunde”

这是我如何初始化类并调用方法来获取一些结果数组:

$showAllgemeineKundendaten = new kunde();
$result_array = $showAllgemeineKundendaten -> show_client_kundendaten($_SESSION['id'], 1);

我使用结果数组来显示内容 - 但这对我的问题有点偏离。

现在我正在编写在另一个php文档中将新客户端插入数据库的逻辑,并且只要在php文件中初始化类“kunde”,我就会一直收到500 Server Error。

我目前正在使用ajax发送POST到此文档:

    $gehrKundennummer = 0;
    $kundenklasse = 0;
    $lkw12t = 0;
    $lkw3t = 0;
    $autobus = 0;
    $firmenname1 = 0;
    $firmenname2 = 0;
    $uidnummer = 0;
    $peselregon = 0;
    $firmenart = 0;
    $strasse = 0;
    $ort = 0;
    $plz = 0;
    $land = 0;

    $gehrKundennummer = $_POST[0];
    $kundenklasse = $_POST[1];
    $lkw12t = $_POST[2];
    $lkw3t = $_POST[3];
    $autobus = $_POST[4];
    $firmenname1 = $_POST[5];
    $firmenname2 = $_POST[6];
    $uidnummer = $_POST[7];
    $peselregon = $_POST[8];
    $firmenart = $_POST[9];
    $strasse = $_POST[10];
    $ort = $_POST[11];
    $plz = $_POST[12];
    $land = $_POST[13];
    $data = array($gehrKundennummer, $kundenKlasse, $lkw12t, $lkw3t, $autobus, $firmenname1, $firmenname2, $uidnummer, $peselregon, $firmenart, $strasse, $ort, $plz, $land);
    $insert = new kunde();
    $insert -> insert_client($data, 1);

注意当表单以经典方式发送到该php文件时,也会发生500 Server错误。

这就是我的类和插入方法的样子:

class kunde {
        public function insert_client($data, $case){
            $serverName = "SERVERNAME\MSSQLSRV";
            $connectionInfo = array('Database'=>'TEST', "UID"=>"TEST", "PWD"=>"TEST");
            $conn = sqlsrv_connect($serverName, $connectionInfo);
            switch ($case) {
                case 1:
                    $gehrKundennummer = $data[0];
                    $kundenklasse = $data[1];
                    $lkw12t = $data[2];
                    $lkw3t = $data[3];
                    $autobus = $data[4];
                    $firmenname1 = $data[5];
                    $firmenname2 = $data[6];
                    $uidnummer = $data[7];
                    $peselregon = $data[8];
                    $firmenart = $data[9];
                    $strasse = $data[10];
                    $ort = $data[11];
                    $plz = $data[12];
                    $land = $data[13];
                    $angelegt_am = date();
                    $tsql = "INSERT INTO Kundendaten$ (gehr_kundennummer, kundenklasse_ID, firmenname1, firmenname2, firmenart, strasse, land, plz, ort, pesel_regon, uid, lkw12t, lkw3t, autobus, angelegt_am)
                            VALUES ('$gehrKundennummer', '$kundenklasse', '$firmenname1', '$firmenname2', '$firmenart', '$strasse', '$land', '$plz', '$ort', '$peselregon', '$lkw12t', '$lkw3t', '$autobus', '$angelegt_am')";
                    break;
                default:
                    # code...
                    break;
            }
            $stmt = sqlsrv_query($conn, $tsql);
            echo "done";
        }
// REST OF THE CLASS
}

当我尝试初始化类时,我在控制台中收到此错误:

POST http://#########/logic/add_client_logic.php 500 (Internal Server Error)jquery-1.11.2.min.js:4 m.ajaxTransport.sendjquery-1.11.2.min.js:4 m.extend.ajaxadd_client.js:21 (anonymous function)jquery-1.11.2.min.js:3 m.event.dispatchjquery-1.11.2.min.js:3 m.event.add.r.handle

我是ajax的新手,所以也许我在那里做了一些可怕的错误?

这就是我的js文件内容:

$(function (){
    var $allgSubmit = $('#allg_firmendaten_submit');
    $allgSubmit.click(function(){
        alert('clicked');
        event.preventDefault();
        var gehrKundennummer = $('#gehrKundennummer').val();
        var kundenklasse = $("input[type='radio'][name='kundenklasse']:checked").val();
        var lkw12t = $('#lkw12t').val();
        var lkw3t = $('#lkw3t').val();
        var autobus = $('#autobus').val();
        var firmenname1 = $('#firmenname1').val();
        var firmenname2 = $('#firmenname2').val();
        var uidnummer = $('#uidnummer').val();
        var peselregon = $('#peselregon').val();
        var firmenart = $('#firmenart option:selected').val();
        var strasse = $('#strasse').val();
        var ort = $('#ort').val();
        var plz = $('#plz').val();
        var land = $('#land').val();
        var allgArray = [ gehrKundennummer, kundenklasse, lkw12t, lkw3t, autobus, firmenname1, firmenname2, uidnummer, peselregon, firmenart, strasse, ort, plz, land ];
        $.ajax({
            url: "http://########/logic/add_client_logic.php",
            type: "POST",
            data: $allgArray,
            success: function(){
                var $allgSave = $('#allgSave');
                $allgSave.toggle();
            },
            error: function(){
                alert('fail');
            }
        });
    });
});

1 个答案:

答案 0 :(得分:0)

<强>解决

问题很简单,我责备自己打扰你们。

由于我的逻辑文件位于范围之外,因此在初始化之前从未包含该类==服务器错误。

我在执行逻辑文件之前只是包含了这个类,它现在可以正常工作。