douqianbiao4216
douqianbiao4216
2016-09-26 06:41

Ionic Angular将数据传递给PHPfile并插入MySQL数据库

  • php
  • mysql
  • angularjs
  • javascript

Something strange happen, I pass insert data from angular controller to php file. Next, php file is inserting data into MySQL database. All the data is successfully inserted. However once I click on button two record is inserted into MySQL database. One will the empty data is inserted and second is the data I entered from UI. The following is my code:

Javascript controller Code:

.controller('registerController',['$scope', '$stateParams', '$state', '$http', function($scope, $stateParams, $state, $http){
    var userInformation = [];
    $scope.registration = {};
    console.log($stateParams.all);

    $scope.doRegister = function () {
        if( $scope.registration.pasword !== $scope.registration.confirmpassword){
                alert("Password not match");
        }
    $http({
        url: "http://localhost/php/chat.php",
        method: "POST",
        data: {
            'username': $scope.registration.username,
            'email': $scope.registration.emailaddress,
            'password': $scope.registration.pasword
        }
    }).success(function(response) {
        console.log(response);
    }).error(function(response) {
        console.log(response);
    });
        $state.go('login', {userInformation : userInformation});
    };
    $scope.goBack = function() {
        $state.go('login');
  }
}])

PHP Code

<?php
    header("Access-Control-Allow-Origin: *");
    header("Access-Control-Allow-Credentials: true");
    header("Access-Control-Allow-Methods: POST, GET, OPTIONS");
    header("Access-Control-Allow-Headers: Content-Type, Authorization, X-Requested-With");

    $postdata = file_get_contents("php://input");
    $request = json_decode($postdata);
    $user = $request->username;
    $email = $request->email;
    $pass = $request->password;

    $servername = "localhost";
    $username = "jack";
    $password = "1234";
    $dbname = "chat";
    $conn = new mysqli($servername, $username, $password, $dbname);

    if ($conn->connect_error) {
        die("Connection failed: " . $conn->connect_error);
    }

    $sql = "INSERT INTO use_directory VALUES ('', '$user', '$email', '$pass');" ;
    $retval = $conn->multi_query($sql);

    if( $retval === TRUE) {
        echo "Add successfully
";
    }else { 
        die('Could not edit data');
    }
?>

Here is my database outcome

enter image description here

  • 点赞
  • 回答
  • 收藏
  • 复制链接分享

1条回答

为你推荐