i'm constructing website in mobile version , it's www.example.com/m/
. , got problem can't login website using mobile devices(android, iphone, ipad).
however, works under following situation:
- login website using mobile device on
localhost
- login website using laptop on
localhost
- login website using laptop on
server
that's mean doesn't work when use mobile device login on server.
$dbcon = dbconnect::create(); $login = $_post['login']; $password = $_post['password']; //================= loading member informations==================================== $sql = "select * members (phone = '$login' or email = '$login') , password = '$password' limit 1"; if ($result = mysqli_query($dbcon,$sql)) { $rows_num = 0; //record? while($row = mysqli_fetch_array($result)) { $rows_num++; //================== member data =================================================== $user_id = $row['id']; $display_name = (empty($row['display_name']))? $row['name'] : $row['display_name']; $email = $row['email']; $phone = $row['phone']; $email_confirm = $row['email_confirm']; $member_type = $row['member_type']; if($email==$login){ $loginby = 'email'; }elseif($phone==$login){ $loginby = 'phone'; } //================================================================================== //================ remember me ================================ if($_post['remanber_me']=="on"){ setcookie("user_id",$user_id,time()+60*60*24*30); setcookie("display_name",$display_name,time()+60*60*24*30); setcookie("email",$email,time()+60*60*24*30); setcookie("phone",$phone,time()+60*60*24*30); setcookie("email_confirm",$email_confirm,time()+60*60*24*30); setcookie("loginby",$loginby,time()+60*60*24*30); setcookie("member_type",$member_type,time()+60*60*24*30); } //================================================================ //================= session========== $_session['user_id'] = $user_id; $_session['display_name'] = $display_name; $_session['email'] = $email; $_session['phone'] = $phone; $_session['email_confirm'] = $email_confirm; $_session['loginby'] = $loginby; $_session['member_type'] = $member_type; //=========================================== //======================== update last login time =============================== $sql = "update members set last_login_time = now(), last_login_ip = '$ip' id = $user_id"; $dbcon->query($sql); //====================================================================== }
on abover script, can update user last login information. guess problem on sessions
. however, have no idea how solve problem...
edit: when print_r($_session)
, print_r($row)
within while loop, has record. when script redirect index.php
or other pages, it's still haven't logged in website.
also, when login www.example.com
first, , go www.example.com/m/
, can still keep login status...i can't login directly through www.example.com/m/
..
alright...i found missed $_session
variable..so should be:
$_session['user_id'] = $user_id; $_session['display_name'] = $display_name; $_session['email'] = $email; $_session['phone'] = $phone; $_session['email_confirm'] = $email_confirm; $_session['loginby'] = $loginby; $_session['member_type'] = $member_type; $_session['action_time'] = time(); //the stuff missed
so cause user logout automatically after has logged in system...
it careless mistake...i should remind myself not again...
Comments
Post a Comment