javascript - AngularJS: login function not working in PHP code -


currently, trying create login function using angularjs framework. tried creating login function executing else statement. can know how solve problem.

this login.php code:

$params = json_decode(file_get_contents('php://input'),true);  if(!isset($_session)){      session_start();  }  include "classes/filmservice.class.php"; $db = pdodb::getconnection(); header("content-type: application/json");  if(isset($params['userid']) && isset($params['password'])){      $userid   = $params['userid'] ;     $password = $params['password'];     $service  = new filmservice();     $result   = $service->loginrob($userid,$password);     echo $result; }else{     echo '{"status": "fail", "message": "please enter email & password la!!."}'; } 

this services.js code:

this.login = function (userid, passwd) {             var defer = $q.defer(),             data = {               //action: 'loginrob',               userid: userid,               password: passwd             };              $http({                 method: 'post',                 url: loginurl,                 params: data,                 cache: true,                 headers: {'content-type': 'application/x-www-form-urlencoded'}              }). // notice dot start chain success()             success(function (response) {                 defer.resolve({                     data: response.status, // create data property value response                     result: response,                     user: response.username                 });                 console.log(response);             }). // dot chain error()             error(function (err) {                 defer.reject(err);             });             // call getcourses returns promise fulfilled              // .get method .success or .failure             return defer.promise;         }; 

this controller.js code:

.controller('logincontroller',             [                 '$scope',                 'dataservice',                 '$location',                 '$window',                 '$rootscope',                 function ($scope, dataservice, $location, $window, $rootscope){                     $scope.check_login = function($event,userid,passwd){                         if(userid && passwd){                             dataservice.login(userid,passwd).then(                                 function (response){                                     if(response.result.status=='ok'){                                         $scope.user = response.user;                                         $rootscope.$broadcast("passuser", $scope.user);                                     }else{                                         $scope.message = response.result.message;                                      }                                 },                                  function (err) {                                     $scope.status = 'unable connect data' + err;                                 }                             );                              $scope.reloadroute = function () {                                 $location.path('/#');                                 //$window.location.reload()                             }//end of reload route fnction                         }                     }//end of function check_login                  }             ]         );//end of login controller 

this recordset code login:

function getloginrecord($sql, $elementname = "resultset", $params = null) {     $stmt     = parent::getrecordset($sql, $params);     $recordset = $stmt->fetchall(pdo::fetch_assoc);     $nrecords = count($recordset);     $loginsuccess = "";     if ($nrecords == 0) {         $status = 'error';         $message = json_encode("invalid username or password");         $result = '[]';         $loginsuccess="{\"status\": \"$status\", \"message\":$message}";     }     else {         $status = 'ok';         $message = json_encode("success");         //$username=json_encode($recordset[0]['username']);         $result = json_encode($recordset);         // $session = session::getinstance();         // $session->setproperty('user', $recordset[0]['username']);         // $session->setproperty('user_email', $recordset[0]['email']);         $loginsuccess="{\"status\": \"$status\", \"message\":$message }";     }    return $loginsuccess; } 

i appreciate if there me on this. in advance.

several issues way $http set up.

you using params in $http config not post. need set data post

you switching contenttype form encoded trying receive json in php. if want send form encoded numerous changes need made


for lets send json data try switching to:

$http.post(loginurl, data). // notice dot start chain success()         success(function (response) {             defer.resolve({                 data: response.status, // create data property value response                 result: response,                 user: response.username             });             console.log(response);         }). // dot chain error()         error(function (err) {             defer.reject(err);         }); 

then in php if still don't proper response need basic debugging see if data being sent.


Comments