6

私は通常、誰にも迷惑をかけずに何かを見つけることができたので、フォーラムに投稿する人ではありません。とにかく、今回は運が悪かった。

私は自分の Web サイト用に DB-Communications-System をプログラムしました。このシステムでは、Java アプリケーション、Android アプリ、および Web サイト自体から家族全員にメッセージを残すことができます。この Web サイトでは、fe_user ログイン マスクを使用してログインすると、フォームにアクセスできます。ここでは、選択するファミリの名前があるドロップダウン選択「From」とドロップダウン選択「For」があります。私が望むのは、ページが現在ログインしているユーザーを読み取り、このユーザーに従って「From」変数を自動的に設定することです。

私が見つけた多くのページで

$GLOBALS['TSFE']->fe_user->user 

そしてそれのアコーディグのバリエーション、しかし私がそれから何かを得ようとしても、

strleng()は常に 0 で、
print_r($_GLOBALS['TSFE'])常に空
であり、配列全体も空です。
私は何を間違っていますか?これらの変数にアクセスする前に何かする必要がありますか? また、場合によっては、このオブジェクトを認識せず、変数を解釈する代わりに、

"->fe_user->user"

ウェブサイトで。

どうもありがとうございました

4

8 に答える 8

18

print_r($_GLOBALS['TSFE']) は常に空です

あなたは試し$GLOBALS['TSFE']てはいけません $_GLOBALS['TSFE']

$GLOBALS['TSFE']->fe_user->userログインしているユーザーを確認することは絶対に正しいです


補遺 2019-08-15: 何を達成しようとしているのか、または探している正確な情報と、使用している TYPO3 のバージョンに応じて、この変数を使用するさまざまな方法があります。

たとえば、現在のユーザーがTYPO3で認証されていることを確認するには、次の方法でIDを取得できます

$GLOBALS['TSFE']->fe_user->user['uid'];
于 2012-10-23T09:41:54.260 に答える
8

TypoScript からログイン ユーザーを取得する必要がある場合 (およびおそらくマーカーを置き換える必要がある場合)、TS のこのスニペットが役立ちます。

page.10.marks.UNAME = TEXT
page.10.marks.UNAME.data = TSFE:fe_user|user|username
于 2013-07-30T09:10:54.767 に答える
5

これは、現在ログインしているユーザーのIDを返します

$GLOBALS['TSFE']->fe_user->user['uid'];
于 2013-01-18T04:55:20.547 に答える
1

拡張機能のキックスターターをインストールして、独自のフロントエンド プラグインを作成します。簡単なフォームの例が表示されます。そこで $GLOBALS['TSFE'] などを使用できます (フロントエンド プラグインの作成中に、「デフォルトでプラグインはキャッシュ可能な USER cObject として生成されます。このチェックボックスをオンにして、キャッシュされていない USER_INT cObject を生成します。」をチェックしてください!)

これは拡張機能を開始する昔ながらの方法ですが、あなたの場合、問題を解決する最も迅速で簡単な方法だと思います。

于 2012-04-05T13:39:26.050 に答える
1
$GLOBALS['TSFE']->fe_user->user

これにより、fe_user テーブルのすべてのデータが返されます。必要な値を取得できます。

于 2015-04-07T13:05:52.067 に答える
1

@HalestとSQLインジェクションの脆弱性があります

    $ergebnis = mysql_query("select ses_userid from fe_sessions WHERE ses_id='$SessionID'");

ところで、Cookie は絶対に信用しないでください。それらは変更することも、オフにすることもできます。データベースと対話するために、より多くの $GLOBALS['DB'] を使用してみてください。

于 2014-08-29T08:35:42.610 に答える
0

拡張機能powermailを使用してフォームを作成し、データをデータベース テーブルに保存できます (テーブルには少なくともフィールド uid と pid が必要です)。

于 2012-04-10T10:15:13.930 に答える