获取当前登录的TYPO3用户(fe-user)

时间:2012-04-05 11:45:19

标签: php html typo3

我通常不会在论坛上发帖,因为我总能在不打扰任何人的情况下找到一些东西。无论如何,这次我没有运气。

我为我的网站编写了一个DB-Communications-System,您可以从Java应用程序,Android应用程序和网站本身为其他家庭留下消息。 在此网站上,您通过fe_user登录掩码登录,然后您可以访问该表单。在这里,我有一个下拉选择'From'和一个下拉选择'For',其中有可供选择的系列名称。我想要的是页面读取当前登录的用户并根据此用户自动设置“发件人”变量。

在我找到的很多页面上

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

以及它的变体,但无论我怎样尝试从中获取某些东西,

strleng()始终为0,
print_r($_GLOBALS['TSFE'])总是空的 并且整个数组也是空的 我究竟做错了什么?在访问这些变量之前,我是否必须做一些事情? 同样在某些情况下,它不识别这个对象,而不是解释变量,它只是说

"->fe_user->user"

在网站上。

非常感谢

8 个答案:

答案 0 :(得分:15)

  

print_r($ _ GLOBALS ['TSFE'])始终为空

您应该尝试$GLOBALS['TSFE'] $_GLOBALS['TSFE']

所以$GLOBALS['TSFE']->fe_user->user绝对正确检查登录用户

答案 1 :(得分:7)

如果您需要从TypoScript登录用户(也许可以替换标记),这段TS可能很有用:

page.10.marks.UNAME = TEXT
page.10.marks.UNAME.data = TSFE:fe_user|user|username

答案 2 :(得分:4)

这将返回当前登录用户的ID

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

答案 3 :(得分:1)

安装扩展程序kickstarter并为您自己创建一个前端插件。您将获得一个简单的表单示例。在那里你可以使用$ GLOBALS ['TSFE']等。(检查“默认插件生成为可缓存的USER cObjects。选中此复选框以生成未缓存的USER_INT cObject。”同时创建前端插件!)

这是开始扩展的老派方式,但我认为在您的情况下解决问题的最快捷,最简单的方法。

答案 4 :(得分:1)

@Halest以及sql注入漏洞

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

顺便说一句,永远不要相信cookies。它们可以被修改甚至关闭。 尝试使用更多$ GLOBALS [' DB']与数据库进行交互。

答案 5 :(得分:1)

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

这将返回fe_user表的所有数据。你可以得到你想要的任何价值。

答案 6 :(得分:1)

如果您需要在t3中登录的用户:

import time
from PyQt5 import QtCore, QtWidgets
from functools import partial

from worker2 import run
import gui


class MainWindow(QtWidgets.QMainWindow):
    def __init__(self, parent=None):
        super(MainWindow, self).__init__(parent)
        self.ui = gui.Ui_MainWindow()
        self.ui.setupUi(self)
        self.ui.compteur.clicked.connect(self.execute_this_function)

    @run
    @QtCore.pyqtSlot()
    def execute_this_function(self):
        wrapper = partial(self.ui.edit_compteur.setText, "1")
        QtCore.QTimer.singleShot(0, wrapper)
        time.sleep(0.5)
        wrapper = partial(self.ui.edit_compteur.setText, "2")
        QtCore.QTimer.singleShot(0, wrapper)
        time.sleep(0.5)
        wrapper = partial(self.ui.edit_compteur.setText, "3")
        QtCore.QTimer.singleShot(0, wrapper)
        time.sleep(0.5)
        wrapper = partial(self.ui.edit_compteur.setText, "4")
        QtCore.QTimer.singleShot(0, wrapper)
        time.sleep(0.5)
        wrapper = partial(self.ui.edit_compteur.setText, "5")
        QtCore.QTimer.singleShot(0, wrapper)
        time.sleep(0.5)

答案 7 :(得分:0)

您可以使用扩展名powermail来创建表单并将数据保存到数据库表(afaik,表需要至少包含字段uid和pid)。

相关问题