PHP variable user (Technics)
Hallo,
ich suche die PHP-Variable, die den momentan eingeloggten User enthält.
Ich brauche die Variable, um einen Link zu einer externen Anwendung (Chat) zu erzeugen.
Danke schon einmal für Hinweise.
by Fritzw , Wednesday, November 29, 2023, 11:09 (150 days ago)
Hallo,
ich suche die PHP-Variable, die den momentan eingeloggten User enthält.
Ich brauche die Variable, um einen Link zu einer externen Anwendung (Chat) zu erzeugen.
Danke schon einmal für Hinweise.
by Auge , Wednesday, November 29, 2023, 14:03 (150 days ago) @ Fritzw
Hallo
ich suche die PHP-Variable, die den momentan eingeloggten User enthält.
In der Anwendung selbst wird primär mit der User-ID gearbeitet, der benutzername ist aber ebenfalls bekannt. In den Session-Daten sind beide Datenpunkte vorhanden, falls und wenn ein eingeloggter Benutzer eine Seite des Forums aufruft. Es handelt sich um die folgenden zwei Array-Elemente der Session.
$_SESSION[$settings['session_prefix'] . 'user_id'] $_SESSION[$settings['session_prefix'] . 'user_name']
Da die Software prinzipbedingt auch mit nicht eingeloggten Besuchern umgehen können muss, musst du den Code so gestalten, dass, was immer du genau tun willst, in einem Block geschieht, der die Bedingung erfüllt, dass beide Session-Werte existieren.
if (isset($_SESSION[$settings['session_prefix'] . 'user_id']) && isset($_SESSION[$settings['session_prefix'] . 'user_name'])) { // Hier könnte Ihr Code stehen! }
Tschö, Auge
--
Trenne niemals Müll, denn er hat nur eine Silbe!
by Fritzw, Saturday, December 02, 2023, 21:49 (146 days ago) @ Auge
Danke.
Ich konnte in der main.tpl den User mit {$user} ausgeben.
Das ist zwar keine PHP-Variable, sondern …? aber es tut seinen Zweck.
by Auge , Monday, December 04, 2023, 07:42 (145 days ago) @ Fritzw
Hallo
Ich konnte in der main.tpl den User mit {$user} ausgeben.
Das ist zwar keine PHP-Variable, sondern …? aber es tut seinen Zweck.
Naja, klar. Wenn du in einem Template etwas ausgibst, wird das mit der template-Engiune getan. Das ist im Falle von MLF2 Smarty u nd dort liegt der Wert als $user
vor, wenn er denn vorliegt. Wie du innerhalb der MLF2-PHP-Codebasis an den Wert kommst, schrieb ich bereits.
Wenn das nicht das ist, was du brauchst, dann erkläre das bitte ausführlicher. Von wo aus (welches System) willst du auf den Wert zugreifen? Ist das eine externe Software? Und so weiter und so fort.
Tschö, Auge
--
Trenne niemals Müll, denn er hat nur eine Silbe!
by Fritz , Monday, December 04, 2023, 11:45 (145 days ago) @ Auge
Hi Auge,
danke, ich hab' alles, was ich brauche.
Falls es jmd. interessieren sollte:
Ich habe in meinem Forum einen Link zu meinem Chat eingefügt. Siehe Screenshot
Mit dem Link wird auch der Username mitgegeben, so dass User sich im Chat nicht erneut Einloggen müssen.
Dazu habe ich in der /themes/default/main.tpl folgenden Code eingefügt:
<form method="post" action="//webdesign.weisshart.de/chat/" name="user_trans"> <input type="hidden" name="username" value={$user} /> <a href="javascript:document.user_trans.submit()">Chat</a> | </form>
by Auge , Monday, December 04, 2023, 13:41 (145 days ago) @ Fritz
Hallo
danke, ich hab' alles, was ich brauche.
Falls es jmd. interessieren sollte:
Ich habe in meinem Forum einen Link zu meinem Chat eingefügt.
Ah ja, an dieser Stelle ist die Smarty-Variable genau das, was du brauchtest.
Mit dem Link wird auch der Username mitgegeben, so dass User sich im Chat nicht erneut Einloggen müssen.
Dazu habe ich in der /themes/default/main.tpl folgenden Code eingefügt:<form method="post" action="//webdesign.weisshart.de/chat/" name="user_trans"> <input type="hidden" name="username" value={$user} /> <a href="javascript:document.user_trans.submit()">Chat</a> | </form>
Was mich ein wenig wundert, ist der Umstand, dass du hinter dem Link eine Pipe (|
) notierst. Die Links, die in dem Menü notiert sind, bekommen ihre Pipe-Trenner über ihre Container, die sie umfassen (<li></li>
), automatisch verpasst. Steht das Formular nicht in einem (<li></li>
)?
Tschö, Auge
--
Trenne niemals Müll, denn er hat nur eine Silbe!
by Fritz , Monday, December 04, 2023, 14:05 (145 days ago) @ Auge
Was mich ein wenig wundert, ist der Umstand, dass du hinter dem Link eine Pipe (
|
) notierst. Die Links, die in dem Menü notiert sind, bekommen ihre Pipe-Trenner über ihre Container, die sie umfassen (<li></li>
), automatisch verpasst. Steht das Formular nicht in einem (<li></li>
)?
Hallo Auge,
WOW, du schaust aber genau hin.
Ich habe tatsächlich <li></li>
rausgenommen, weil das Pipe-Zeichen andernfalls um eine Zeile nach unten gerutscht wäre, und ich zu bequem war, die Ursache im CSS zu suchen. Klar, ein <form></form>
innerhalb einer ul ist nicht valide.
Ich hab' nochmal nachgebessert:
<li> <form style="display:inline;" method="post" action="//webdesign.weisshart.de/chat/" name="user_trans"> <input type="hidden" name="username" value={$user}> <a style="margin-right:0;" href="javascript:document.user_trans.submit()">Chat</a> </form> </li>
Jetzt passt es.
Danke für deine Hilfe.
by Auge , Monday, December 04, 2023, 14:26 (145 days ago) @ Fritz
Hallo
Was mich ein wenig wundert, ist der Umstand, dass du hinter dem Link eine Pipe (
|
) notierst. ...
WOW, du schaust aber genau hin.
Wenn man selbst daran herumgeschraubt hat, fällt einem das auf. 🙂
Ich habe tatsächlich
<li></li>
rausgenommen, weil das Pipe-Zeichen andernfalls um eine Zeile nach unten gerutscht wäre, und ich zu bequem war, die Ursache im CSS zu suchen. Klar, ein<form></form>
innerhalb einer ul ist nicht valide.
Das ist das Spiel mit den CSS-Display-Eigenschaften. Ein Element des Typs form
ist per Vorgabe des Browserstylesheets das, was man früher ein Blockelement genannt hat (heute flow content
). Das erzeugt innerhalb des li
für form
eine Box, was wiederum das li vergrößert, indem es eine neue Zeile erzeugt. An der li
hintendran (mit li::after
) befindet sich auch die Pipe, die aber im durch das form
vergrößerten li
in dessen letzter Zeile angezeigt wird.
Wenn alle Blockelemente im li
auf display: inline;
festgelegt werden, was hier fraglos funktioniert, wird keine neue Zeile erzeugt und die Pipe bleibt da, wo sie sein soll.
Ich hab' nochmal nachgebessert:
<li> <form style="display:inline;" method="post" action="//webdesign.weisshart.de/chat/" name="user_trans"> <input type="hidden" name="username" value={$user}> <a style="margin-right:0;" href="javascript:document.user_trans.submit()">Chat</a> </form> </li>
Genau das (bis auf die Notation im Style-Attribut). 😅
Jetzt passt es.
Danke für deine Hilfe.
Büdde, büdde.
Tschö, Auge
--
Trenne niemals Müll, denn er hat nur eine Silbe!