Bekomme derzeit angemeldet TYPO3-User (fe-user)
Normalerweise bin ich nicht jemand, der Beiträge in einem forum, da war ich immer in der Lage, etwas zu finden, ohne zu stören jemand. Wie auch immer, dieses mal hatte ich kein Glück.
Ich programmiert habe eine DB-Communications-System für meine website, wo Sie können Nachrichten hinterlassen, für den rest der Familie aus einer Java-Anwendung, eine Android-app und die website selbst.
Auf dieser website können Sie sich anmelden durch einen fe_user login-Maske und dann können Sie das Formular aufrufen. Hier habe ich eine dropdown-Auswahl "Von", und eine dropdown-Auswahl "Für", wo es den Namen der Familie zu wählen. Was ich will, ist für die Seite zu Lesen, auf die der aktuell angemeldete Benutzer und das automatische festlegen der 'Aus' - Variable entsprechend zu diesem Benutzer.
Auf vielen Seiten, die ich gefunden habe
$GLOBALS['TSFE']->fe_user->user
und die accordig Variationen davon, aber egal, wie ich versuchte, etwas aus ihm heraus,
strleng()
ist immer 0,
print_r($_GLOBALS['TSFE'])
ist immer leer
und die ganze Array ist auch leer.
Was mache ich falsch? Muss ich etwas tun, bevor ich kann auf diese Variablen zuzugreifen?
Auch in einigen Fällen, es nicht erkennt dieses Objekt und statt der Interpretation der variable, es sagt nur
"->fe_user->user"
auf der website.
Vielen Dank
Wie erstellen Sie Ihre form? Wie Sie Ihr PHP? Ich Denke, es gibt keine Notwendigkeit, zu schreiben, PHP-Code zu archivieren, was Sie tun möchten. Verwenden Sie TYPO3 statt:)
Das Formular ist ein HTML-Formular, das soll die POST-Variablen an die PHP
InformationsquelleAutor Halest | 2012-04-05
Du musst angemeldet sein, um einen Kommentar abzugeben.
sollten Sie versuchen
$GLOBALS['TSFE']
und nicht$_GLOBALS['TSFE']
so
$GLOBALS['TSFE']->fe_user->user
ist absolut richtig, zu überprüfen, ob ein Benutzer eingeloggt ist,$GLOBALS['TSFE']->fe_user->user
können auch speichern session-Daten von nicht eingeloggten FE-Benutzer. Als Mihir Bhatt suggeriert die Verwendung$GLOBALS['TSFE']->fe_user->user['uid'];
zu 100% sicher sein.InformationsquelleAutor Cybot
Wenn Sie brauchen, um angemeldete Benutzer von TypoScript (und vielleicht ersetzen marker) dieses snippet von TS kann nützlich sein:
InformationsquelleAutor ZeKoU
Zurückkehren id des aktuellen angemeldeten Benutzers
InformationsquelleAutor Mihir Bhatt
Installieren Sie die Erweiterung kickstarter und erstellen Sie ein frontend-plugin für Ihre eigene. Sie erhalten ein einfaches Formular Beispiel. Dort können Sie die $GLOBALS['TSFE'] etc. (Check "Von Standard-plugins generiert werden, als cachable USER cObjects. Aktivieren Sie dieses Kontrollkästchen, um generieren eine nicht-Cache-USER_INT cObject." bei der Erstellung von frontend-plugin!)
Es ist die old-school-Weg, um zu starten-Erweiterungen, aber ich denke, in deinem Fall die Schnellste und einfachste Weg, um solv Ihr problem.
installieren Sie die Erweiterung, kickstart neue Erweiterung via extension-manager. Starten Sie mit dem PHP-code dort
Nicht aufhören zu Lesen. Nur drei Punkte da unten ist "Frontend Plugins", die ich meinte mit "erstellen Sie ein frontend-plugin für Ihre eigene".
Dies wird kickstart eine Erweiterung. Erstellen Sie einfach, installieren Sie, und schaut in typo3conf/ext/###Ihre extension key name hier###/
Ich wurde, sagte seine Kategorie "frontend plugins" und unter "Frontend Plugins" sagte ich, "Cache standardmäßig..." und "Add as a totally new Content Element type" und auch versucht, "Fügen Sie einen neuen Header-Typ", aber noch nicht wissen, was zu tun ist. Wieder, dies nicht so kompliziert, um herauszufinden, die dem aktuell angemeldeten Benutzer zu geben, um ein PHP-Skript?! Ich kann mir nicht Vorstellen, es wäre nicht eine Möglichkeit, dies zu tun, ohne zu schreiben, eine neue Erweiterung?!
InformationsquelleAutor maholtz
@Halest und da ist die sql-injection-Schwachstelle
Durch die Art und Weise, Vertrauen Sie nie cookies. Sie kann geändert werden oder sogar abgeschaltet.
Versuchen Sie auch mehr $GLOBALS['DB'], um mit der Datenbank interagieren.
InformationsquelleAutor user3895544
Diese wird alle Daten zurück, der fe_user Tabelle. Sie können, was Wert, den Sie wollen.
InformationsquelleAutor Ashish v
Können Sie die Erweiterung powermail zu erstellen das Formular und speichern der Daten in einer Datenbank-Tabelle (afaik, die Tabelle muss mindestens die Felder uid und pid).
InformationsquelleAutor maholtz