0

I 've tried it on the web , and it runs correctly , but at the time I implementation in android , post data is not running correctly .

this is the code of controllers

.controller('SignupCtrl', function($scope, $http) {

$scope.signup = function () {

        var request = $http({
            method: "post",
            url: "http://myurl.com/signup.php",
            crossDomain : true,
            data: {
                email: $scope.email,
                password: $scope.password,
                username: $scope.username
            },
            headers: { 'Content-Type': 'application/x-www-form-urlencoded' }
        });
        /* Successful HTTP post request or not */
        request.success(function(data) {
            if(data == "1"){
             $scope.responseMessage = "Successfully Created Account";
            }
            if(data == "2"){
             $scope.responseMessage = "Create Account failed";
            }
            else if(data == "0") {
             $scope.responseMessage = "Email Already Exist"
            }  
        });
}
})

this for my html code

  <ion-view title="Signup">

    <ion-nav-buttons side="left">
      <button menu-toggle="left" class="button button-icon icon ion-navicon"></button>
    </ion-nav-buttons>

    <ion-content class="has-header">
      <div class="list list-inset">

       <label class="item item-input">
         <input class="form-control" type="text" ng-model="username" placeholder="Enter Username">
       </label>

       <label class="item item-input">
         <input type="text" ng-model="email" placeholder="Enter Your Email">
       </label>

       <label class="item item-input">
         <input class="form-control" type="password" ng-model="password" placeholder="Enter Your Password">
       </label>

       <button class="button button-block button-positive button-dark" ng-click="signUp()">SignUp</button><br>
       <span>{{responseMessage}}</span>
     </div>
    </ion-content>

  </ion-view>

and this for my php code

<?php  
// check username or password from database
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;
$username = $request->username;

$con = mysql_connect('localhost', 'username', 'password') or die ("Could not connect: " . mysql_error());;
mysql_select_db('database_name', $con);

$qry_em = 'select count(*) as cnt from users where email ="' . $email . '"';
$qry_res = mysql_query($qry_em);
$res = mysql_fetch_assoc($qry_res);

if($res['cnt']==0){
$qry = 'INSERT INTO users (name,pass,email) values ("' . $username . '","' . $password . '","' . $email . '")';
$qry_res = mysql_query($qry);
    if ($qry_res) {
        echo "1";
    } else {
        echo "2";;
    }
}
else
{
    echo "0";
}
?>

thanks before xD

and this my logcat output

11-26 16:52:46.868: I/v8(17709): [17709]    40790 ms:  Mark-sweep 5.3 (16.9) -> 4.8 (16.9) MB, 0 ms (+ 79 ms in 1 steps since start of marking, biggest step 79.320068 ms) [idle notification: finalize incremental] [GC in old space requested].

11-26 16:52:47.802: W/ResourceType(17709): No package identifier when getting name for resource number 0x00000064

11-26 16:52:47.804: I/View(17709): Touch down dispatch to org.apache.cordova.CordovaWebView{41edb478 VFEDH.C. .F...... 0,0-480,762 #64}, event = MotionEvent { action=ACTION_DOWN, id[0]=0, x[0]=160.66528, y[0]=351.51312, toolType[0]=TOOL_TYPE_FINGER, buttonState=0, metaState=0, flags=0x0, edgeFlags=0x0, pointerCount=1, historySize=0, eventTime=16710764, downTime=16710764, deviceId=3, source=0x1002 }
11-26 16:52:47.831: D/AwContents(17709): setContentsSize 320, 508

11-26 16:52:47.832: D/AwContents(17709): setPageScaleFactor 1.0

11-26 16:52:47.900: W/ResourceType(17709): No package identifier when getting name for resource number 0x00000064

11-26 16:52:47.900: I/View(17709): Touch up dispatch to org.apache.cordova.CordovaWebView{41edb478 VFEDH.C. .F...... 0,0-480,762 #64}, event = MotionEvent { action=ACTION_UP, id[0]=0, x[0]=160.66528, y[0]=351.51312, toolType[0]=TOOL_TYPE_FINGER, buttonState=0, metaState=0, flags=0x0, edgeFlags=0x0, pointerCount=1, historySize=0, eventTime=16710863, downTime=16710764, deviceId=3, source=0x1002 }

11-26 16:52:47.912: D/WebViewCallback(17709): shouldInterceptRequest=http://artivist.gallery/cepjuna/login.php

11-26 16:52:47.913: D/WebViewCallback(17709): onLoadResource=http://artivist.gallery/cepjuna/login.php

11-26 16:52:47.927: D/AwContents(17709): setContentsSize 320, 508

11-26 16:52:47.927: D/AwContents(17709): setPageScaleFactor 1.0

11-26 16:52:48.123: D/AwContents(17709): setContentsSize 320, 508

11-26 16:52:48.123: D/AwContents(17709): setPageScaleFactor 1.0

11-26 16:52:55.522: I/v8(17709): [17709]    49445 ms:  Mark-sweep 5.0 (16.9) -> 3.9 (15.9) MB, 1 / 0 ms (+ 95 ms in 1 steps since start of marking, biggest step 95.473877 ms) [idle notification: finalize incremental] [GC in old space requested].

11-26 16:52:58.865: I/v8(17709): [17709]    52788 ms:  Mark-sweep 4.3 (15.9) -> 3.2 (14.9) MB, 0 ms (+ 49 ms in 1 steps since start of marking, biggest step 49.250977 ms) [idle notification: finalize incremental] [GC in old space requested].

11-26 16:53:06.004: I/v8(17709): [17709]    59927 ms:  Mark-sweep 3.2 (14.9) -> 3.2 (14.9) MB, 0 ms (+ 47 ms in 1 steps since start of marking, biggest step 47.226807 ms) [idle notification: finalize incremental] [GC in old space requested].

11-26 16:53:09.873: I/v8(17709): [17709]    63796 ms:  Mark-sweep 3.2 (14.9) -> 2.9 (14.9) MB, 0 ms [idle notification: finalize idle round] [GC in old space requested].

11-26 16:53:13.910: I/v8(17709): [17709]    67833 ms:  Mark-sweep 2.9 (14.9) -> 2.9 (14.9) MB, 0 ms [idle notification: finalize idle round] [GC in old space requested].

11-26 16:53:24.033: D/dalvikvm(17709): threadid=22: exiting

11-26 16:53:24.033: D/dalvikvm(17709): threadid=22: detach (group=0x41917ce0)

11-26 16:53:24.034: D/dalvikvm(17709): threadid=22: removing from list

11-26 16:53:24.035: D/dalvikvm(17709): threadid=22: bye!

11-26 16:53:35.042: D/dalvikvm(17709): threadid=14: exiting

11-26 16:53:35.042: D/dalvikvm(17709): threadid=14: detach (group=0x41917ce0)

11-26 16:53:35.043: D/dalvikvm(17709): threadid=14: removing from list

11-26 16:53:35.043: D/dalvikvm(17709): threadid=14: bye!
6
  • Show your logcat output Commented Nov 26, 2014 at 9:28
  • @shammon you can see my logcat output now. Commented Nov 26, 2014 at 9:58
  • just put an alert on success function like this alert("from server"+data) and show the result Commented Nov 26, 2014 at 10:01
  • @shammon alert showing 0. Commented Nov 26, 2014 at 10:06
  • thats your output ,then why you say it didnt work Commented Nov 26, 2014 at 10:30

2 Answers 2

1

Try this

<ion-nav-buttons side="left">
      <button menu-toggle="left" class="button button-icon icon ion-navicon"></button>
    </ion-nav-buttons>

    <ion-content class="has-header">
      <div class="list list-inset">

       <label class="item item-input">
         <input class="form-control" type="text" ng-model="userdata.username" placeholder="Enter Username">
       </label>

       <label class="item item-input">
         <input type="text" ng-model="userdata.email" placeholder="Enter Your Email">
       </label>

       <label class="item item-input">
         <input class="form-control" type="password" ng-model="userdata.password" placeholder="Enter Your Password">
       </label>

       <button class="button button-block button-positive button-dark" ng-click="signUp(userdata)">SignUp</button><br>
       <span>{{responseMessage}}</span>
     </div>
    </ion-content>

  </ion-view>

In your controller

.controller('SignupCtrl', function($scope, $http) {

$scope.login = function (userdata) {
    $http.post('http://myurl.com/signup.php',userdata).success(function(data){
           alert(data);
     });
   }
})

php

$postdata = file_get_contents("php://input");
$email = $postdata->email;
$password = $postdata->password;
$username = $postdata->username;
//run your query
Sign up to request clarification or add additional context in comments.

2 Comments

output still 0 sir, there is something wrong with my query? or posting data doesn't works in device? because i have tried running on web, it running corectly
add this to your php echo 'data'.$email.$password.$username and show the result.
1

now it's works, i change

  data: {
            email: $scope.email,
            password: $scope.password,
            username: $scope.username
        }

to

 data: {
            'email': $scope.email,
            'password': $scope.password,
            'username': $scope.username
        }

if i don't use '' on data, post data doesn't works.

thanks for your advice @shammon :)

sorry for my bad english. :)

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.