php - Retrieving Database Data during LogIn -
i'm using slim , ajax develop mobile application. in database have column stores session codes logins. need able once logged in, compare username entered database , retrieve sessioncode based on that.
my current php this:
$app->post('/login/', 'login'); function login() { $request = \slim\slim::getinstance()->request(); $q = json_decode($request->getbody()); //$hashedpassword = password_hash($q->password, password_bcrypt); $sql = "select * users username=:username , password=:password"; try { $db = getconnection(); $stmt = $db->prepare($sql); $stmt->bindparam("username", $q->username); $stmt->bindparam("password", $q->password); $stmt->execute(); //$row=$stmt->fetch(pdo::fetch_assoc); $row=$stmt->fetch(pdo::fetch_obj); //$verify = password_verify($q->password, $row['password']); $db = null; echo json_encode($row); } catch (pdoexception $e) { echo $e->getmessage(); } } //php 5.4 login $app->get('/getsessioncode/:username','getsessioncode'); function getsessioncode($username) { $request = \slim\slim::getinstance()->request(); $q = json_decode($request->getbody()); $sql = "select * users username=:username"; try{ $db = getconnection(); $stmt = $db->prepare($sql); $stmt->bindparam("username", $username); $stmt->execute(); $row=$stmt->fetchall(pdo::fetch_obj); $dbh=null; echo json_encode($row); } catch(pdoexception $e){ if(db != null) $db = null; echo $e->getmessage(); } }
ajax code:
$("#checklogin").click(function() { username = $("#enteruser").val(); $.ajax({ type: 'post', contenttype: 'application/json', url: rooturl + '/login/', datatype: "json", data: checklogin(), success: function(data) { if(data != false) { $.ajax({ type: 'get', url: rooturl + "/getsessioncode/" + username, datatype: "json", success: sessiondata }); } else { alert("username and/or password incorrect"); } } }) }); function checklogin(data) { return json.stringify({ "username": $("#enteruser").val(), "password": $("#enterpass").val(), }); } function sessiondata(data){ session = data.sessioncode; alert(username); alert(session); $.mobile.changepage("#mainmenu"); }
when run application , log in. runs though no problem when reaches alert(session) returns undefined. have both session , username set globally variables isn't issue , when reaches alert(username), returns username entered.
i able solve issue adding in loop sessiondata function
function sessiondata(data){ for(var = 0; < 1; i++) { sessionstorage.code = data[i].sessioncode; } $.mobile.changepage("#mainmenu"); }
Comments
Post a Comment