2016-04-30 22 views
0

私は、フォームを記入しようとしている、角度コントローラを介して、PHPファイルにデータを渡す....していないようです。時々私はMysqliに空白のエントリーを賭けるが、私はもっと周りにいるが、私はそれを働かせるように思わない。角度、PHPとMysqli

私はフォームとは何かがあることを知っています。私はそれを理解することができません。もっと単純なテキストボックスの例を入れれば、それは機能します。

<!DOCTYPE html> 
<html> 
<title>Login</title> 
<link rel="stylesheet" type="text/css" href="final.css"> 
<script type="text/javascript" src="calendar.js"></script> 
<script type="text/javascript">function init() {calendar.set("date");}</script> 
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script> 
<link href='http://cdnjs.cloudflare.com/ajax/libs/foundicons/3.0.0/foundation-icons.css' rel='stylesheet' type='text/css'> 
<body> 
<header> 
<div class="row"> 
<img src="Final.png" alt="company logo"> 
</div> 
</div> 
<div class="top-bar" id="main-menu"> 
<ul class="menu vertical medium-horizontal expanded medium-text-center"> 
<li><a href="Home.php">Login</a></li> 
<li><a href="Dad.php">Dad</a></li> 
<li><a href="Mom.php">Mom</a></li> 
<li><a href="Son.php">Son</a></li> 
<li><a href="Daughter.php">Daughter</a></li> 
</ul> 
</div> 
header> 
<body onload="init()"> 
<div align="center" ng-app="myapp" ng-controller="studentcontroller"> 
    <form id ="" action="" method="post" > 
     <h2>Enter New Chore</h2> 
     <table> 
     <tr> 
     <td>Name :</td> <td> 
     <select name="user" style="Color: Black" required ng-model="DName"> 
      <option disabled="disabled" selected="selected">Select Person.</option> 
      <option value="Mom">Mom</option> 
      <option value="Dad">Dad</option> 
      <option value="Son">Son</option> 
      <option value="Daughter">Daughter</option> 
      </select> 
     </tr> 
     <tr> 
     <td>Chore Title :</td><td><input type = "text" name = "choretitle" class = "box" style="width: 300px;"required ng-model="DTitle"></td><br> 
     </tr> 
     <tr> 
     <td>Due Date :</td><td><input type="text" name="date" id="date"style="width: 300px;"required ng-model="DDate"></td><br> 
     </tr> 
     <tr> 
     <td>Chore Description :</td><td><textarea name="desc" rows="4" cols="50" maxlength="256" style="width: 300px;" ng-model="DDesc"></textarea><br> 
     </tr> 
     <tr> 
     <td><button type="submit" name="btn-add" ng-click="insertdata()">Add Chore</button></td> 
     </tr> 
     </table> 
     </form> 
     </div> 

<script> 
var app = angular.module("myapp",[]); 
app.controller("studentcontroller",function($scope,$http){ 
    $scope.insertdata = function() { 
     $http.post("insert.php",{'DName':$scope.DName,'DTitle':$scope.DTitle,'DDate':$scope.DDate,'DDesc':$scope.DDesc}) 
     .success(function(data,status,headers,config){ 
      console.log("Inserted Successfully!");   
     }); 
    } 
}); 
</script> 

</body> 
<footer id="footer"> 
<div class="row expanded"> 
<div class="medium-8 columns"> 
<ul class="menu"> 
<li><a href="#">Legal</a></li> 
<li><a href="#">Partner</a></li> 
<li><a href="#">Explore</a></li> 
</ul> 
</div> 
<div class="medium-6 columns"> 
<ul class="menu align-right"> 
</ul> 
</div> 
</div> 
</footer> 

////PHP 
<?php 
$data = json_decode(file_get_contents("php://input")); 
$assingedTo = $data->DName; 
$choreName = $data->DTitle; 
$choreDesc = $data->DDesc; 
$dueDate = $data->DDate; 
$status = "Open"; 
$DBConnect = mysqli_connect("localhost", "root", "qwerty", "chores"); 
$sql = "insert statement" 
$result = mysqli_query($DBConnect, $sql); 
?> 
+0

'insert.php'で送信されたデータをチェックしましたか?たとえば、 'print_r($ _ POST)'を使用します。 – chrki

+0

はい、何も表示されません –

+0

ええ、これはあなたのために機能しますか? http://stackoverflow.com/a/15485690/1781026私は似たような問題を一度抱いていたことを覚えています。 – chrki

答えて

0

これは、角度PHPを使用しているときのフォームのコードです。 1つのJavascriptオブジェクトとしてコントローラにデータを取得してみてください。コントローラ

app.controller("studentcontroller",function($scope,$http){ 
$scope.submitChores = function(data){ 
     var $data = angular.toJson(data); 
$http.post("insert.php",$data) 
    .success(function(data,status,headers,config){ 
     console.log("Inserted Successfully!");   
    }); 
} 

}); 

フォームが私のために働くと私はPHPファイル内のデータをフェッチすることができませんでした単一のインスタンスがありませんでしたどのようにこの

<form ng-submit="submitChores(chores)" > 
    <h2>Enter New Chore</h2> 
    <table> 
    <tr> 
    <td>Name :</td> <td> 
    <select name="user" style="Color: Black" required ng-model="chores.DName"> 
     <option disabled="disabled" selected="selected">Select Person.</option> 
     <option value="Mom">Mom</option> 
     <option value="Dad">Dad</option> 
     <option value="Son">Son</option> 
     <option value="Daughter">Daughter</option> 
     </select> 
    </tr> 
    <tr> 
    <td>Chore Title :</td><td><input type = "text" name = "choretitle" class = "box" style="width: 300px;"required ng-model="chores.DTitle"></td><br> 
    </tr> 
    <tr> 
    <td>Due Date :</td><td><input type="text" name="date" id="date"style="width: 300px;"required ng-model="chores.DDate"></td><br> 
    </tr> 
    <tr> 
    <td>Chore Description :</td><td><textarea name="desc" rows="4" cols="50" maxlength="256" style="width: 300px;" ng-model="chores.DDesc"></textarea><br> 
    </tr> 
    <tr> 
    <td><button type="submit" name="btn-add">Add Chore</button></td> 
    </tr> 
    </table> 
    </form> 

。ハッピーコーディング