最近Ionicを使ってアプリケーションを開発し始めました。私がバックエンドソリューションのためにMySQLをよく知っているので、私がしたいのは、フォームから資格を抽出し、MAMPサーバー上のphpファイルにそれらを送信することです。このファイルはアカウントが存在するかどうかをチェックし、応答します。ここでIonic:MAMPサーバーのフォームデータをPHPに送ることができません
は、フォームの:イオンコントローラーで
<form name="loginForm" novalidate> <!-- ng-submit="LogIn(loginForm)" -->
<div class="section-big">
<div id="logo_container">
<img src="img/Logo.png" id="logo">
</div>
<div id="login_container">
<input class="login_item" name="email" type="email" ng-model="userdata.email" placeholder="email" ng-minlength="5" required>
<input class="login_item" name="password" type="password" ng-model="userdata.password" placeholder="password" ng-minlength="5" required>
</div>
</div>
<span> {{responseMessage}} </span>
<div class="section-small">
<button type="button" class="button button-full button-outline button-light login-inactive" ng-show="loginForm.$invalid">LOGIN</button>
</div>
</form>
機能:
$scope.logIn = function(userdata) {
$scope.responseMessage = "in treatement";
console.log($scope.userdata.email)
var request = $http({
method: 'post',
url: 'http://localhost:8888/login.php',
crossDomain: true,
headers: {'Content-Type' : 'application/x-www-form-urlencoded'},
data: {
email: $scope.userdata.email,
password: $scope.userdata.password
},
});
console.log("passed");
request.success(function(data) {
if(data == "1"){
$scope.responseMessage = "Login Successful";
}
else {
$scope.responseMessage = "Wrong credentialsemai";
}
});
console.log("end reached");
}
(StackSkills上の私の調査結果に基づいて)login.phpファイル:
<?php
header("Content-Type: application/json; charset=UTF-8");
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: GET, POST');
$postdata = file_get_contents("php://input");
$request = json_decode($postdata);
$email = $request->email;
$password = $request->password;
include_once 'dbconnect.php';
$request = "SELECT * FROM User WHERE email ='$email' AND password = '$password'";
$result = $conn->query($request);
if($result){
echo "1";
}
else {
echo "0";
}
?>
物事の状態: カレントyでは、logIn関数がトリガされます。 {{ responseMessage }}
は変更されないので、私は情報が送られないと仮定します。/ login.phpから情報を戻さないと思います。
誰かがこれを修正するアイデアを持っていますか、それともIonicをMySQLに使用していますか?
EDIT:
データが取得されているが、私はまだ次のエラーのためにそれを送信することができません: SyntaxError: Unexpected token N
ありがとう! PHPであなたの最初の行は、それがJSONでの応答をエンコードしようとしていますがのみ1
または0
てみPHPで次の文字列を返していることを意味header("Content-Type: application/json; charset=UTF-8");
あるので
うん...空のオブジェクト '$ scope.userdata = {};' – Hackerman
@Hackerman、うん空のオブジェクトは、それがテストの一部です:それはあります場合、i 'は、他の取得 '未定義'定義されていないプロパティの電子メールを読むことができません.. – TanguyH
あなたは空のオブジェクトを右に宣言しています...そして、下の行には存在しないプロパティにアクセスしようとしています...それがあなたがundefined ....今、あなたはあなたのhtmlに 'ng-controller'指令を追加していますか? – Hackerman