2016-09-21 18 views
1

私は3-4フィールドを含む連絡先フォームを持っています。私はAngular-jsを使って最初のフィールドだけをデータベースに送りようとしています。しかし、私はデータベースで空白の価値を得ています。 あなたは実際にどこが間違っているのか確認してもらえますか?角度jsを使用してデータベースの空白値を取得

のContactForm

<div ng-app="contactApp" ng-controller="contactController"> 
<div class="contact-grids"> 
<div class="col-md-12 contact-para"> 
<form name="userForm" ng-submit="submitForm()" novalidate> 
<div class="grid-contact"> 
<div class="col-md-6 contact-grid" ng-class="{'has-error':userForm.firstName.$invalid && !userForm.firstName.$pristine}"> 

<p>First Name</p>  
    <input type="text" name="firstName" ng-model="user.firstName" required> 
    <p ng-show="userForm.firstName.$invalid && !userForm.firstName.$pristine" class="help-block">You name is required.</p> 
</div> 

<div class="send"> 
<input class="btn btn-danger" type="submit" value="Send" ng-disabled="userForm.$invalid"> 
</div> 
</form> 


<script> 
    var myApp = angular.module('contactApp',[]); 
    myApp.controller('contactController',function($scope,$http){ 

     $scope.submitForm = function() 
     { 
      if($scope.userForm.$valid) 
      { 

        $http.post(
          "contactFormProcess.php", 
        {'firstName':$scope.firstName} 
         ).success(function(data){ 
           alert(data); 
           $scope.firstName = null; 
          }); 

      } 
     }; 

    }); 

</script>  

contactFormProcess.phpは

$data = json_decode(file_get_contents("php://input")); 
if(count($data) > 0) 
{ 

    $first_name = mysqli_real_escape_string($conn, isset($data>firstName));  
     $query = "INSERT INTO contactform(firstName) VALUES ('$first_name')"; 
     if(mysqli_query($conn, $query)) 
     { 
      echo "Data Inserted..."; 
     } 
     else 
     { 
      echo 'Error'; 
     } 
} 
+0

'$ http.post(..)'の直前で '$ scope.firstName'の値をチェックしましたか?空かどうか?また、フォームコードを提供できますか? –

+0

@JakubJankowski 更新されたコードを参照してください –

答えて

1

あなたは$scope.userForm.firstNameに機能して$scope.firstNameを変更する必要があります。今のところ、$scopeにはfirstNameというメンバーがいません。そのため、あなたの機能では空です。

EDIT:は実際に、あなたが$scope.user.firstNameを必要とし、$scope.userForm.firstNameが、それはこの文脈で必要とされるものではない角度モデルオブジェクトです。

+0

ねえ! 文字列名ではなくデータベースに整数1がありますか? –

+0

それはあなたのPHPコードに関連している可能性があります。私はPHPについて考えていません。 '$ data'変数に正しい値があるかどうか確認できますか? (JavaScriptから送信されたもの) –

+0

実際には、この$ scope.userForm.firstNameのようなPHPに値を送ると、PHPスクリプトに整数値を送信するので、PHPスクリプトはエラーを出しますそこでは整数値を受け入れません。 ...... 私はこの$ scope.firstNameを書くだけで、今はPHPスクリプトが実行されますが、空白の値を入力します –

関連する問題