简体   繁体   English

初始化类PHP时500服务器错误

[英]500 Server error when initializing a class PHP

I am writing a database to manage our clients a bit better. 我正在编写一个数据库来更好地管理客户。 The logic to show client data works flawlessly. 显示客户数据的逻辑是完美的。

The class which handles my method calls is called "kunde" 处理我的方法调用的类称为“ kunde”

Thats how I initialize the class and call the method to get some result array: 那就是我初始化类并调用方法以获取结果数组的方式:

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

I work with the result array in order to display the content - but thats a bit offtopic to my question. 我使用结果数组来显示内容-但这对我的问题有点偏离主题。

Now I am writing the logic to insert new clients to the database in another php document and I keep getting a 500 Server Error as soon as the class "kunde" is being initialized in the php file. 现在,我正在编写在另一个php文档中将新客户端插入数据库的逻辑,并且在php文件中初始化了“ kunde”类后,我一直收到500服务器错误。

I am currently sending a POST to this document with ajax : 我目前正在使用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);

NOTE The 500 Server error occurs as well when the form is being sent to that php file the classic way. 注意当将表单以经典方式发送到该php文件时,也会发生500服务器错误。

And thats how my class and insert method looks like: 那就是我的类和插入方法的样子:

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
}

When I am trying to initialize the class I get this error in the console: 当我尝试初始化类时,在控制台中出现此错误:

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

I am new to ajax so maybe I am doing something horribly wrong there? 我是ajax的新手,所以也许我在这里做错了什么?

Thats my js file content: 多数民众赞成在我的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');
            }
        });
    });
});

SOLVED 解决了

The issue was simple and I blame myself for bothering you guys. 问题很简单,我要怪自己打扰你们。

Since my logic file lies outside of the scope the class has never been included before initiliazing it == server error. 由于我的逻辑文件不在范围内,因此在初始化它==服务器错误之前,从未包含过该类。

I simply included the class before executing my logic file and it works now. 我只是在执行逻辑文件之前包含了该类,现在它可以工作了。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM