@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 functionfunction 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 themif ($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