2017-03-27 17 views
0

Hさん、私は現在、ログインページと登録ページを持つモバイルアプリケーションを開発中です。私は、ログインと登録ページをセットアップして、それは素晴らしい動作します。 user credentialsを保持しているPHP:ユーザーがログオンしているかどうかを確認するセッション

テーブルには、次のフィールドがあります。それは、ユーザー「のログが」ログオンするために、そのユーザーのステータスを設定する必要があり
username, fname, lname, password, logged_status

。どうすればこれを達成できますか?

**私のアンドロイドアプリケーションは、実行される機能に応じて異なるPHPファイルを実行するWebサーバーに接続します(たとえば、ユーザーがログインしたい場合、login.phpファイルはサーバー*

+0

デフォルトで0と1が0に設定されたenumデータ型を 'logged_status'にすることができます。ユーザーログインが1に更新されると、その1ユーザーがオンラインである場合に簡単に状態を確認できます –

+0

thats what i want toどうすれば、ユーザーがログインしたときにフィールドのステータスを1に設定できますか?フィールドに「1」を送り、ユーザーがログアウトすると「0」を送信するだけですか? –

+0

ユーザー名とパスワードが正しい場合は、セッション変数を設定した直後に、更新ステートメントを作成してステータスを更新し、ユーザーログアウトの更新を元に戻します –

答えて

1

は、0と1のフラグ、0ビーイングのデフォルトとlogged_status状態enumeratedデータ型を作る考えを教えてください。

Aniketあなたは、PHPよりも、この使用してアンドロイドを行う場合は、その優れた示唆しているlogged_status

<?php 

$stmt = $dbh->prepare("SELECT * FROM users WHERE email = ?"); 
$stmt->execute([$_POST['email']]); 
$row = $stmt->fetch(); 

if ($row && password_verify($_POST['password'], $row['pass'])) 
{ 
    //update logged_status status 
    $update = $dbh->prepare("UPDATE users SET logged_status ='1' where email= ?"); 
    if($update->execute([$_POST['email']])){ 
     // set sessions and redirect 

    } 
} else { 
    echo "invalid"; 
} 
?> 

ように、ユーザが正常にログイン更新

1

SharedPreferenceを使用してPHPのサイド・アンドロイド・サイドとストアを使用するのではなく、彼がログアウトしない限り、ユーザーがログインするたびにログインするように表示されます。

0

ブール値を使用してログオン状態を表すことができます。そのため、ユーザーのログイン時に値を1に設定してログアウトし、ログアウトするときはログインしていない場合は0に設定します。

しかし、ユーザーが長期間アクティブでない場合、ステータスがログに記録されないようにサーバー上のphpスクリプトを呼び出し続けるアンドロイド側に関数を書く方がはるかに良いでしょうあなたのテーブルに。

は、私はあなたが

関連する問題