2017-02-14 70 views
-2

我的數據庫有一個名爲utilizatori的表,並有id,username,nume_prenume,parola,locatie,sambata列。未在數據庫中寫入值的jQuery腳本Mysql

通過表單,我試圖在數據庫中添加新條目,但是當我提交表單時,它不會添加任何條目。 演示可以找到HERE。 更新和刪除操作正常。

HTML表單:

<script src="js/jQuery/jquery.min.js"></script> 
<!-- Include AngularJS library --> 
<script src="lib/angular/angular.min.js"></script> 
<!-- Include Bootstrap Javascript --> 
<script src="js/bootstrap.min.js"></script> 
<form class="form-horizontal alert alert-warning" name="empList" id="empForm" ng-submit="insertInfo(empInfo);" hidden> 
    <h3 class="text-center">Insert Employee Details Into Database</h3> 
    <div class="form-group"> 
     <label for="Username">Nume utilizator:</label> 
     <input type="text" name="username" class="form-control" placeholder="Enter Employee Name" ng-model="empInfo.username" value="" autofocus required /> 
    </div> 
    <div class="form-group"> 
     <p class="text-danger" ng-show="empList.username.$invalid && empList.username.$dirty">Name field is Empty!</p> 
    </div> 
    <div class="form-group"> 
     <label for="Nume_prenume">Nume angajat:</label> 
     <input type="text" name="nume_prenume" class="form-control" placeholder="Enter Employee Email Address" ng-model="empInfo.nume_prenume" autofocus required /> 
    </div> 
    <div class="form-group"> 
     <p class="text-danger" ng-show="empList.nume_prenume.$invalid && empList.nume_prenume.$dirty">Invalid Email!</p> 
    </div> 
    <div class="form-group"> 
     <label for="Parola">Parola cont:</label> 
     <input type="text" name="parola" class="form-control" placeholder="Enter Employee Name" ng-model="empInfo.parola" value="" autofocus required /> 
    </div> 
    <div class="form-group"> 
     <p class="text-danger" ng-show="empList.parola.$invalid && empList.parola.$dirty">Name field is Empty!</p> 
    </div> 
    <div class="form-group"> 
     <label for="Rol_user">Rol:</label> 
     <input type="text" name="rol_user" class="form-control" placeholder="Enter Employee Address" ng-model="empInfo.rol_user" autofocus required /> 
    </div> 
    <div class="form-group"> 
     <p class="text-danger" ng-show="empList.rol_user.$invalid && empList.rol_user.$dirty">Address field is Empty!</p> 
    </div> 
    <div class="form-group"> 
     <button class="btn btn-warning" ng-disabled="empList.$invalid">Add Into Database</button> 
    </div> 
</form> 
<script src="js/angular-script.js"></script> 

角JS腳本:

// Application module 
var crudApp = angular.module('crudApp', []); 
crudApp.controller("DbController", ['$scope', '$http', function($scope, $http) { 

    // Function to get employee details from the database 
    getInfo(); 

    function getInfo() { 
     // Sending request to EmpDetails.php files 
     $http.post('databaseFiles/empDetails.php').success(function(data) { 
     // Stored the returned data into scope 
     $scope.details = data; 
     }); 
    } 

    // Setting default value of gender 
    $scope.empInfo = { 
     'rol_user': 'Operator receptie' 
    }; 
    // Enabling show_form variable to enable Add employee button 
    $scope.show_form = true; 
    // Function to add toggle behaviour to form 
    $scope.formToggle = function() { 
     $("#empForm").slideToggle(); 
     $("#editForm").css('display', 'none'); 
    } 
    $scope.insertInfo = function(info) { 
     $http.post('databaseFiles/insertDetails.php', { 
     "username": info.username, 
     "nume_prenume": info.nume_prenume, 
     "parola": info.parola, 
     "rol_user": info.rol_user 
     }).success(function(data) { 
     if (data == true) { 
      getInfo(); 
      $("#empForm").css('display', 'none'); 
     } 
     }); 
    } 
    $scope.deleteInfo = function(info) { 
     $http.post('databaseFiles/deleteDetails.php', { 
     "del_id": info.id 
     }).success(function(data) { 
     if (data == true) { 
      getInfo(); 
     } 
     }); 
    } 
    $scope.currentUser = {}; 
    $scope.editInfo = function(info) { 
     $scope.currentUser = info; 
     $('#empForm').slideUp(); 
     $('#editForm').slideToggle(); 
    } 
    $scope.UpdateInfo = function(info) { 
     $http.post('databaseFiles/updateDetails.php', { 
     "id": info.id, 
     "username": info.username, 
     "nume_prenume": info.nume_prenume, 
     "parola": info.parola, 
     "rol_user": info.rol_user 
     }).success(function(data) { 
     $scope.show_form = true; 
     if (data == true) { 
      getInfo(); 
     } 
     }); 
    } 
    $scope.updateMsg = function(emp_id) { 
     $('#editForm').css('display', 'none'); 
    } 
}]); 

插入信息的PHP腳本:

<?php 
    // Including database connections 
    require_once 'database_connections.php'; 
    // Fetching and decoding the inserted data 
    $data = json_decode(file_get_contents("php://input")); 
    // Escaping special characters from submitting data & storing in new variables. 
    $username = mysqli_real_escape_string($con, $data->username); 
    $nume_prenume = mysqli_real_escape_string($con, $data->nume_prenume); 
    $parola = mysqli_real_escape_string($con, $data->parola); 
    $rol_user = mysqli_real_escape_string($con, $data->rol_user); 

    // mysqli insert query 
    $query = "INSERT into utilizatori (username,nume_prenume,parola,rol_user) VALUES ('$username','$nume_prenume','$parola','$rol_user')"; 
    // Inserting data into database 
    mysqli_query($con, $query); 
    echo true; 
?> 

而且database_connections.php腳本:

<?php 
$con = mysqli_connect("localhost", "user", "pasword", "database"); 
?> 
+0

id是AUTO_INCREMENT PRIMARY鍵我的服務器是WAMP – Bogdan2305

+0

更新和刪除在我的演示中不起作用,而是我可以在控制檯中看到錯誤消息 – Connum

+0

'$ http.post'實際上是否發送JSON ? – CBroe

回答

0

我發現了這個問題。我試圖在4列寫的,但也有6(不包括ID是自動遞增。

如果我重寫此查詢中的所有6編寫或我從數據庫中刪除了其他2列,將工作。

// mysqli insert query 
    $query = "INSERT into utilizatori (username,nume_prenume,parola,rol_user) VALUES ('$username','$nume_prenume','$parola','$rol_user')";