用php处理ajax帖子并在数据库中写入

时间:2015-04-16 09:12:35

标签: php jquery sql-server ajax

我已经使用没有ajax的直接表单提交检查了我的PHP代码 - 在这种情况下,内容会毫无问题地写入数据库。

但是当我尝试用AJAX做它时它不起作用 - 虽然数据似乎已经转移到我的php文件,因为成功:函数gehts被调用。

(我在Windows服务器2012上运行php 5.6)

我的js文件:

$(function (){
    var $allgSubmit = $('#allg_firmendaten_submit');
    $allgSubmit.click(function(){
        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: "#####/logic/add_client_logic.php",
            type: "POST",
            data: 'allgArray='+allgArray,
            success: function(){
                var allgSave = $('#allgSave');
                allgSave.text('Speichern erfolgreich!');
                allgSave.toggle();
            },
            error: function(){
                var allgSave = $('#allgSave');
                allgSave.text('Speichern fehlgeschlagen!');
                allgSave.toggle();
            }
        });
    });
});

我的php处理程序:

<?php 
    require('\class\classKunde.php');


    $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 = (isset($_POST['gehrKundennummer']) ? $_POST['gehrKundennummer'] : $_POST[0]);
    $kundenklasse = (isset($_POST['kundenklasse']) ? $_POST['kundenklasse'] : $_POST[1]);
    $lkw12t = (isset($_POST['lkw12t']) ? $_POST['lkw12t'] : $_POST[2]);
    $lkw3t = (isset($_POST['lkw3t']) ? $_POST['lkw3t'] : $_POST[3]);
    $autobus = (isset($_POST['autobus']) ? $_POST['autobus'] : $_POST[4]);
    $firmenname1 = (isset($_POST['firmenname1']) ? $_POST['firmenname1'] : $_POST[5]);
    $firmenname2 = (isset($_POST['firmenname2']) ? $_POST['firmenname2'] : $_POST[6]);
    $uidnummer = (isset($_POST['uidnummer']) ? $_POST['uidnummer'] : $_POST[7]);
    $peselregon =(isset($_POST['peselregon']) ? $_POST['peselregon'] : $_POST[8]);
    $firmenart = (isset($_POST['firmenart']) ? $_POST['firmenart'] : $_POST[9]);
    $strasse = (isset($_POST['strasse']) ? $_POST['strasse'] : $_POST[10]);
    $ort = (isset($_POST['ort']) ? $_POST['ort'] : $_POST[11]);
    $plz = (isset($_POST['plz']) ? $_POST['plz'] : $_POST[12]);
    $land = (isset($_POST['land']) ? $_POST['land'] : $_POST[13]);
    $data = array($gehrKundennummer, $kundenKlasse, $lkw12t, $lkw3t, $autobus, $firmenname1, $firmenname2, $uidnummer, $peselregon, $firmenart, $strasse, $ort, $plz, $land);
    $insert = new kunde();
    if($insert -> insert_exists($data) == true){
        // Kunde existiert bereits
    }else{
        // Methode zum Einfügen in die DB wird aufgerufen
        $insert -> insert_client($data, 1);
    }
?>

和我班级的片段:

class kunde {
        public function insert_client($data, $case){
            $serverName = "NAME\MSSQLSRV";
            $connectionInfo = array('Database'=>'TEST', "UID"=>"TEST", "PWD"=>"TEST");
            $conn = sqlsrv_connect($serverName, $connectionInfo);
            switch ($case) {
                case 1:
                    echo "Case 1 executed";
                    $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', '$uidnummer','$peselregon', '$lkw12t', '$lkw3t', '$autobus', '$angelegt_am')";
                    break;
                default:
                    # code...
                    break;
            }
            $stmt = sqlsrv_query($conn, $tsql);
            if($stmt){
                echo "Erfolgreich in Datenbank geschrieben";
            }
        }
    // ... rest
    }

1 个答案:

答案 0 :(得分:1)

试试这个:-----------

    //change this  ----------
        var allgArray = { 'gehrKundennummer':gehrKundennummer, 'kundenklasse':kundenklasse,'lkw12t':lkw12t,'lkw3t':lkw3t,'autobus':autobus,'firmenname1':firmenname1,'firmenname2':firmenname2,'uidnummer':uidnummer,'peselregon':peselregon,'firmenart':firmenart,'strasse':strasse,'ort':ort,'plz':plz,'land':land}; //change this
                $.ajax({
                    url: "#####/logic/add_client_logic.php",
                    type: "POST",
                    data:allgArray, //change this
-------------------