AngularJS, Codeigniter PHP returns undefined on POST then
up vote
0
down vote
favorite
I'm building an angularjs application and got stuck with the message return while posting login data.
I have my login form HTML as follows
<form name="loginfrm">
<div class="form-group" ng-class="{ 'has-error': (loginfrm.email.$dirty || loginfrm.$submitted) && loginfrm.email.$error.required || loginfrm.email.$error.email, 'has-success' : loginfrm.email.$valid }">
<label>Email</label>
<input type="email" name="email" class="form-control" value="loginData..email" ng-model="email" required placeholder="Enter Email Address">
<p class="help-block" ng-show="(loginfrm.email.$dirty || loginfrm.$submitted) && loginfrm.email.$error.required">
Email Address is required
</p>
<p class="help-block" ng-show="(loginfrm.email.$dirty || loginfrm.$submitted) && loginfrm.email.$error.email">
Invalid Email Address
</p>
</div>
<div class="form-group" ng-class="{ 'has-error': (loginfrm.password.$dirty || loginfrm.$submitted) && loginfrm.password.$error.required || loginfrm.password.$error.minlength || loginfrm.password.$error.maxlength , 'has-success' : loginfrm.password.$valid }">
<label>Password</label>
<input ng-readonly="readflag" type="password" name="password" class="form-control" ng-model="password" value="loginData..password" required placeholder="Enter Password">
<p class="help-block" ng-show="(loginfrm.password.$dirty || loginfrm.$submitted) && loginfrm.password.$error.required">
Password is required
</p>
</div>
<div class="form-group">
<input type="button" ng-click="checkdata()" class="btn btn-danger" ng-disabled="loginfrm.$invalid" value="Login" />
</div>
{{alertMessage}}
</form>
then my angularjs login controller code as follows
app.controller('LoginController', function($scope, $http){
//Function to authenticate
$scope.checkdata = function(){
var request = $http({
method: "post",
url: "/tester.php",
data: {
email: $scope.email,
password: $scope.password
}
});
/* Check whether the HTTP Request is successful or not. */
request.then(function (data) {
$scope.alertMessage = "You have login successfully with email " + data;
});
};
});
then my PHP code as follows
<?php
$postdata = file_get_contents("php://input");
$request = json_decode($postdata);
@$email = $request->email;
@$password = $request->password;
$msg = 'Invalid';
echo $msg;
?>
The problem im facing is that while I click login, the data is posted to the php (I have verified it manually) but the return data shows "[object Object]" instead of displaying the email entered.
Output reference image
php angularjs codeigniter-3
add a comment |
up vote
0
down vote
favorite
I'm building an angularjs application and got stuck with the message return while posting login data.
I have my login form HTML as follows
<form name="loginfrm">
<div class="form-group" ng-class="{ 'has-error': (loginfrm.email.$dirty || loginfrm.$submitted) && loginfrm.email.$error.required || loginfrm.email.$error.email, 'has-success' : loginfrm.email.$valid }">
<label>Email</label>
<input type="email" name="email" class="form-control" value="loginData..email" ng-model="email" required placeholder="Enter Email Address">
<p class="help-block" ng-show="(loginfrm.email.$dirty || loginfrm.$submitted) && loginfrm.email.$error.required">
Email Address is required
</p>
<p class="help-block" ng-show="(loginfrm.email.$dirty || loginfrm.$submitted) && loginfrm.email.$error.email">
Invalid Email Address
</p>
</div>
<div class="form-group" ng-class="{ 'has-error': (loginfrm.password.$dirty || loginfrm.$submitted) && loginfrm.password.$error.required || loginfrm.password.$error.minlength || loginfrm.password.$error.maxlength , 'has-success' : loginfrm.password.$valid }">
<label>Password</label>
<input ng-readonly="readflag" type="password" name="password" class="form-control" ng-model="password" value="loginData..password" required placeholder="Enter Password">
<p class="help-block" ng-show="(loginfrm.password.$dirty || loginfrm.$submitted) && loginfrm.password.$error.required">
Password is required
</p>
</div>
<div class="form-group">
<input type="button" ng-click="checkdata()" class="btn btn-danger" ng-disabled="loginfrm.$invalid" value="Login" />
</div>
{{alertMessage}}
</form>
then my angularjs login controller code as follows
app.controller('LoginController', function($scope, $http){
//Function to authenticate
$scope.checkdata = function(){
var request = $http({
method: "post",
url: "/tester.php",
data: {
email: $scope.email,
password: $scope.password
}
});
/* Check whether the HTTP Request is successful or not. */
request.then(function (data) {
$scope.alertMessage = "You have login successfully with email " + data;
});
};
});
then my PHP code as follows
<?php
$postdata = file_get_contents("php://input");
$request = json_decode($postdata);
@$email = $request->email;
@$password = $request->password;
$msg = 'Invalid';
echo $msg;
?>
The problem im facing is that while I click login, the data is posted to the php (I have verified it manually) but the return data shows "[object Object]" instead of displaying the email entered.
Output reference image
php angularjs codeigniter-3
.then
wraps it in an object with other data in it. You need to extract your response withdata.data
. Also double check if you needecho json_encode($msg);
instead ofecho $msg;
– Aleksey Solovey
Nov 8 at 14:16
Worked!! Perfect.
– Yaseen Hussain
Nov 8 at 14:18
json_encode($msg) was needed for array echoing. I simply echoed "invalid". So it worked without json_encode.
– Yaseen Hussain
Nov 8 at 14:21
add a comment |
up vote
0
down vote
favorite
up vote
0
down vote
favorite
I'm building an angularjs application and got stuck with the message return while posting login data.
I have my login form HTML as follows
<form name="loginfrm">
<div class="form-group" ng-class="{ 'has-error': (loginfrm.email.$dirty || loginfrm.$submitted) && loginfrm.email.$error.required || loginfrm.email.$error.email, 'has-success' : loginfrm.email.$valid }">
<label>Email</label>
<input type="email" name="email" class="form-control" value="loginData..email" ng-model="email" required placeholder="Enter Email Address">
<p class="help-block" ng-show="(loginfrm.email.$dirty || loginfrm.$submitted) && loginfrm.email.$error.required">
Email Address is required
</p>
<p class="help-block" ng-show="(loginfrm.email.$dirty || loginfrm.$submitted) && loginfrm.email.$error.email">
Invalid Email Address
</p>
</div>
<div class="form-group" ng-class="{ 'has-error': (loginfrm.password.$dirty || loginfrm.$submitted) && loginfrm.password.$error.required || loginfrm.password.$error.minlength || loginfrm.password.$error.maxlength , 'has-success' : loginfrm.password.$valid }">
<label>Password</label>
<input ng-readonly="readflag" type="password" name="password" class="form-control" ng-model="password" value="loginData..password" required placeholder="Enter Password">
<p class="help-block" ng-show="(loginfrm.password.$dirty || loginfrm.$submitted) && loginfrm.password.$error.required">
Password is required
</p>
</div>
<div class="form-group">
<input type="button" ng-click="checkdata()" class="btn btn-danger" ng-disabled="loginfrm.$invalid" value="Login" />
</div>
{{alertMessage}}
</form>
then my angularjs login controller code as follows
app.controller('LoginController', function($scope, $http){
//Function to authenticate
$scope.checkdata = function(){
var request = $http({
method: "post",
url: "/tester.php",
data: {
email: $scope.email,
password: $scope.password
}
});
/* Check whether the HTTP Request is successful or not. */
request.then(function (data) {
$scope.alertMessage = "You have login successfully with email " + data;
});
};
});
then my PHP code as follows
<?php
$postdata = file_get_contents("php://input");
$request = json_decode($postdata);
@$email = $request->email;
@$password = $request->password;
$msg = 'Invalid';
echo $msg;
?>
The problem im facing is that while I click login, the data is posted to the php (I have verified it manually) but the return data shows "[object Object]" instead of displaying the email entered.
Output reference image
php angularjs codeigniter-3
I'm building an angularjs application and got stuck with the message return while posting login data.
I have my login form HTML as follows
<form name="loginfrm">
<div class="form-group" ng-class="{ 'has-error': (loginfrm.email.$dirty || loginfrm.$submitted) && loginfrm.email.$error.required || loginfrm.email.$error.email, 'has-success' : loginfrm.email.$valid }">
<label>Email</label>
<input type="email" name="email" class="form-control" value="loginData..email" ng-model="email" required placeholder="Enter Email Address">
<p class="help-block" ng-show="(loginfrm.email.$dirty || loginfrm.$submitted) && loginfrm.email.$error.required">
Email Address is required
</p>
<p class="help-block" ng-show="(loginfrm.email.$dirty || loginfrm.$submitted) && loginfrm.email.$error.email">
Invalid Email Address
</p>
</div>
<div class="form-group" ng-class="{ 'has-error': (loginfrm.password.$dirty || loginfrm.$submitted) && loginfrm.password.$error.required || loginfrm.password.$error.minlength || loginfrm.password.$error.maxlength , 'has-success' : loginfrm.password.$valid }">
<label>Password</label>
<input ng-readonly="readflag" type="password" name="password" class="form-control" ng-model="password" value="loginData..password" required placeholder="Enter Password">
<p class="help-block" ng-show="(loginfrm.password.$dirty || loginfrm.$submitted) && loginfrm.password.$error.required">
Password is required
</p>
</div>
<div class="form-group">
<input type="button" ng-click="checkdata()" class="btn btn-danger" ng-disabled="loginfrm.$invalid" value="Login" />
</div>
{{alertMessage}}
</form>
then my angularjs login controller code as follows
app.controller('LoginController', function($scope, $http){
//Function to authenticate
$scope.checkdata = function(){
var request = $http({
method: "post",
url: "/tester.php",
data: {
email: $scope.email,
password: $scope.password
}
});
/* Check whether the HTTP Request is successful or not. */
request.then(function (data) {
$scope.alertMessage = "You have login successfully with email " + data;
});
};
});
then my PHP code as follows
<?php
$postdata = file_get_contents("php://input");
$request = json_decode($postdata);
@$email = $request->email;
@$password = $request->password;
$msg = 'Invalid';
echo $msg;
?>
The problem im facing is that while I click login, the data is posted to the php (I have verified it manually) but the return data shows "[object Object]" instead of displaying the email entered.
Output reference image
php angularjs codeigniter-3
php angularjs codeigniter-3
asked Nov 8 at 14:13
Yaseen Hussain
114
114
.then
wraps it in an object with other data in it. You need to extract your response withdata.data
. Also double check if you needecho json_encode($msg);
instead ofecho $msg;
– Aleksey Solovey
Nov 8 at 14:16
Worked!! Perfect.
– Yaseen Hussain
Nov 8 at 14:18
json_encode($msg) was needed for array echoing. I simply echoed "invalid". So it worked without json_encode.
– Yaseen Hussain
Nov 8 at 14:21
add a comment |
.then
wraps it in an object with other data in it. You need to extract your response withdata.data
. Also double check if you needecho json_encode($msg);
instead ofecho $msg;
– Aleksey Solovey
Nov 8 at 14:16
Worked!! Perfect.
– Yaseen Hussain
Nov 8 at 14:18
json_encode($msg) was needed for array echoing. I simply echoed "invalid". So it worked without json_encode.
– Yaseen Hussain
Nov 8 at 14:21
.then
wraps it in an object with other data in it. You need to extract your response with data.data
. Also double check if you need echo json_encode($msg);
instead of echo $msg;
– Aleksey Solovey
Nov 8 at 14:16
.then
wraps it in an object with other data in it. You need to extract your response with data.data
. Also double check if you need echo json_encode($msg);
instead of echo $msg;
– Aleksey Solovey
Nov 8 at 14:16
Worked!! Perfect.
– Yaseen Hussain
Nov 8 at 14:18
Worked!! Perfect.
– Yaseen Hussain
Nov 8 at 14:18
json_encode($msg) was needed for array echoing. I simply echoed "invalid". So it worked without json_encode.
– Yaseen Hussain
Nov 8 at 14:21
json_encode($msg) was needed for array echoing. I simply echoed "invalid". So it worked without json_encode.
– Yaseen Hussain
Nov 8 at 14:21
add a comment |
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53209522%2fangularjs-codeigniter-php-returns-undefined-on-post-then%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
.then
wraps it in an object with other data in it. You need to extract your response withdata.data
. Also double check if you needecho json_encode($msg);
instead ofecho $msg;
– Aleksey Solovey
Nov 8 at 14:16
Worked!! Perfect.
– Yaseen Hussain
Nov 8 at 14:18
json_encode($msg) was needed for array echoing. I simply echoed "invalid". So it worked without json_encode.
– Yaseen Hussain
Nov 8 at 14:21