2

私はプロプライエタリDBMS「4thDimension」で作られたウェブサイトに取り組んでいます。私はまだ初心者であり、クライアントサーバーアプリでのPHPの経験しか持っていないため、これには本当に苦労しています。4Dは、GETおよびPOST要求を処理し、基本的な応答をクライアントに送信できるWebサーバーを提供します。

私の質問は次のとおりです。永続変数を格納 するPHPに相当するものはないようですが$_SESSION、訪問者のセッション中に閲覧履歴を保持する必要があります。これを実現するための良い方法は何ですか。

私は彼の訪問中に一人の訪問者をどのように特定することができるかについての手がかりさえ持っていません。助けていただければ幸いです。よろしく、カフェイン

TL; DR任意の言語でPHPのセッションを模倣するための最良の方法は何ですか?

4

2 に答える 2

2

4Dナレッジベースからこのサミットセッションをチェックしてください:Webセッション管理:Webユーザーの追跡。メモとサンプルの.4DBが付属しています。

また、 KBとiNUGメーリングリストをさらに徹底的に検索することをお勧めします(投稿する前に手動で承認する必要がありますが、アーカイブを閲覧することはできます)。

私が好きなのと同じくらい、iNUGは4D開発者と連絡を取るのに本当に最適な場所です。

于 2011-07-13T15:26:46.820 に答える
0

4dv14にはネイティブセッション管理があります。これをアクティブにするには、データベース設定(cfr 4d Web Session Management)の[Automatic Session Management]オプションを設定するか、コマンドWEB SET OPTION(Web Keep session; true)を使用するだけで十分です。

セッションはCookieを使用して4Dから維持されます。すべてのプロセス変数とレコードの選択が維持されます。

「OnWebConnection」データベースメソッドのコードでは、次のように記述できます。

C_TEXT(www_SessionID)
If(www_SessionID=**WEB Get Current Session ID**)
    // All variables and selection already exist
    ...
Else
    // Compiler_Web has just been executed.
    // This is a new session, no variable or selection exists
    // Keep track of the session that 4D just created
    www_SessionID:=**WEB Get Current Session ID**

    // Initialization of session
    // Set up selections
    // find connected user
    QUERY([User];[User]Login=www_Login)
    QUERY([prefs];[prefs]Login=www_Login)

    // Setup variables
    // Get prefs for this user
    www_UserName:=[User]Name
    www_UserMail:=[User]mail
End if
于 2014-03-04T21:30:24.723 に答える