0


0

私は私のフレックスアプリケーションをリフレッシュすると、ページはその状態を保持せずにログインページに戻ります。 なぜこれが起こるのか私にはわかりません。これが私のコード処理セッションです。

パブリック関数doLogin($ユーザー名、$パスワード)\ {

include( "connection.php"); session_start(); session_register( "session");

$ query = "SELECT * FROM users WHERE username = '" .mysql_escape_string($ username)。 "' AND password = '" .mysql_escape_string($ password)。 "'"; $ result = mysql_fetch_array(mysql_query($ query)); if(!$ result){session_unset(); 'no'を返します。 } else {$ session ['id'] = session_id(); $ session ['username'] = $ username; 「はい」を返します。 }}

パブリック関数Logout(){

session_start(); session_register( "session"); session_unset(); session_destroy(); 'ログアウト'を返します。 }

ログインが成功した後にロードするFlexペインで何かをする必要があります。

4 Answer


0


ログインが成功したら、他のページにリダイレクトします。

例えば

if(doLogin($ user、$ pass)== 'yes'){Header( "Location:index.php");出口; }


0


更新とは、ページをリロードすることを意味しますか(F5)。 もしそうなら、それが理由です! リロード/リフレッシュはすべてを再初期化します。 だからあなたがリロード/リフレッシュするときあなたの開始状態(ログイン)は何でも表示されます。

アプリの状態を維持したい場合は、状態が変わるたびに詳細をDBに保存する必要があります。その後、ユーザーが開始ページにアクセスしたときにセッションがリロードされます。

ブラウザが更新または再ロード(またはクラッシュなど)された場合は、アプリからユーザーをログアウトさせる手段がないため、ログインページが表示されたときに最後の既知の状態に戻す必要があります。 ユーザーが適切にログインしなかった場合、これはもちろん大きなセキュリティ上の問題があります。


0


フレックスアプリケーションでセッションIDを管理し、それを新しいリクエストと一緒に送信しますか?

テストできますか

フレックスアプリケーションの外部のCookieにセッションIDを保持していますか? そうでない場合は、ページ更新時にセッションIDを失います。 ローカルストレージまたはcookieに保存し、flexアプリケーションが起動したときにこれにアクセスする必要があります。


0


あなたの問題はここにあります

else {$ session ['id'] = session_id(); $ session ['username'] = $ username; 「はい」を返します。 }}

$ sessionは定義されていません…​ セッション配列に何かを保存したい場合は$ _SESSIONを使用してください。