Quantcast
Channel: Ionic Forum - Latest topics
Viewing all articles
Browse latest Browse all 70612

Login using ajax

$
0
0

@baiyitao wrote:

Hi All,

I'm using ionic to develop an app, it has login function. I didn't use angularJS, all I used are Html, Js, Php. right now, I have a js functions loginFunction and readState to send user information from index.html to server, and get login state back to index.html.

in my php code i have 3 SESSION variables, and I assign them value when I use loginFunction, and I use readState to get back the SESSION variables

But the problem is that, When I test in browser, it shows me that the SESSION variables are saved. BUT when I use ionic view to emulate on the phone. the SESSION variables are empty! here are the codes.

What is the real problem? should I use angularJS other than ajax?

loginFunction (error function did not work)

function loginFunction(){
var userName = document.getElementById("userName").value;
var password  = document.getElementById("password").value;
//return message when success
var data_string = 'userName=' + userName + '&password=' + password;
if(userName == '' || password ==''){
    alert("Please Fill All Field");
} else {
    alert(data_string);
    // ajax code for submit form
    $.ajax({
        type:   "POST",
        //use full address
        url:    "myurl/login.php",
        data:   data_string,
        cache:  false,
        beforeSend: function(){ alert("before send");},
        success: function(html){
                    alert("success");
                    alert("im in the login function, will print login php print statements: " + html);
                }
        error: function (xhr) {
                alert(xhr.status);
                }
    });
}
return false;

}
my readState function

function readState(){

var xmlhttp;
if (window.XMLHttpRequest){
    //code for the IE7+,Firefox, Chrome, Opera, Safari
    xmlhttp=new XMLHttpRequest();
}
else {
    //code for IE6, IE5
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function(){
    if (xmlhttp.readyState==4 && xmlhttp.status==200){
        //how to get login state???
        var str = xmlhttp.responseText;
        res = str.split(" ");
        // res[0] = login_state + res[1]= user_status + res[2]= username
        alert("res: " + res);
        if (res[0] == "0" ) { //res[0] = 0 not login
            alert("please login"); //delete after publish
        } else if (res[0] == "1") { //res[0] = 1 logged in

            if( res[1] == '1'){ //res[1] = 1 login as employee
                alert("login as admin res[1] = "+ res[1] + "name is res[2]" + res[2]);
                window.location.href = "employee.html";
            } else if(res[1] == '2'){ //res[1] = 2 login as admin
                alert("login as admin res[1] = "+ res[1] + "name is res[2]" + res[2]);
                window.location.href = "admin.html";
            } else if(res[1] == '3'){ //res[1] = 3 login as client
                alert("login as admin res[1] = "+ res[1] + "name is res[2]" + res[2]);
                window.location.href = "client.html";
            }

        }
    }
}
//true/false
xmlhttp.open("GET","myurl/login.php",true);
xmlhttp.send();

}
php, session varialbe, print it so I can use getState function

$_SESSION["loginState"];
$_SESSION["userStatus"];
$_SESSION["userName"];

print $_SESSION["loginState"];
print $_SESSION["userStatus"];
print $_SESSION["userName"];
assign value to them

if ($result) {
    //print "inside if 2 ";
    $dataset = mysqli_fetch_assoc($result);

    if ($dataset["status"] == 1){
        //print "inside of 1 ";
        $_SESSION["loginState"]= "1";
        $_SESSION["userStatus"] = $dataset["status"];
        $_SESSION["userName"] = $dataset["name"];
    } else if ($dataset['status'] == 2){
        //print "inside of 2 ";
        $_SESSION["loginState"]= "1";
        $_SESSION["userStatus"] = $dataset["status"];
        $_SESSION["userName"] = $dataset["name"];
    } else if ($dataset['status'] == 3){
        //print "inside of 3 ";
        $_SESSION["loginState"]= "1";
        $_SESSION["userStatus"] = $dataset["status"];
        $_SESSION["userName"] = $dataset["name"];
    }

Posts: 1

Participants: 1

Read full topic


Viewing all articles
Browse latest Browse all 70612

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>