Witam,
mam problem z logowaniem poprzez angulara i php.
Właśnie stawiam swoje pierwsze kroki z angularem i mam prośbę. Ktoś mi może mnie naprowadzić jak to zrobić żeby działało mi logowanie.
Oto mój kod:
<div class="container" ng-app="loginApp" ng-controller="loginController">
<form class="login-container" ng-submit="doLogin()" >
<span class="text-danger" ng-show="loginError"></span>
<div class="form-group">
<label for="Email/Login">Email lub Login</label>
<input ng-model="insert.username" type="text" class="form-control" name="login">
</div>
<div class="form-group">
<label for="Password">Hasło</label>
<input ng-model="insert.Password" type="password" class="form-control" name="password">
</div>
<button type="submit" id="login-button" class="btn btn-outline-primary">Zaloguj</button>
</form>
</div>
<script src="{{{URL}}}js/buttons/login-button.js"></script>
<script>
var app = angular.module('loginApp',[]);
app.controller('loginController', function($scope, $http){
$scope.insert = {};
$scope.doLogin = function() {
$http.post({
url: URL+'zaloguj/test',
data: $scope.insert
}).success(function(data){
if (data.error) {
$scope.loginError = data.error.errorLogin;
} else {
window.location.href = URL;
}
});
}
});
</script>
Metoda kontrolera php:
public function test()
{
$dataNg = $this->getJsonFromInput();
$this->model = new \App\Models\Login($dataNg->username,$dataNg->password);
$data = array();
$error = array();
if ($this->model->doLogin()) {
$data['success] = 'Ok';
} else {
$error['errorLogin'] = 'Podaj prawidłowy login i hasło';
$data['error'] = $error;
}
$this->encodeJson($data);
}
Funkcje encodeJson i getJsonFromInput:
public function getJsonFromInput()
{
return json_decode(file_get_contents("php://input"));
}
public function encodeJson($data)
{
echo json_encode($data);
}