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
Post a Comment