Zum Inhalt springen

Login-Design

Erstellt am 19. Juli 2005 · 68 Antworten · letzte Antwort am 17. September 2008 · Seite 2 von 4

Tags: Frage

Hille ·

Hallo zusammen,
nach langem suchen hier im Forum habe ich nun eine für mich brauchbare Lösung gefunden.

...
temp.10.dataWrap (
    <form action="{getIndpEnv:TYPO3_REQUEST_URL}" method="post">
        <div><span style="font-size: 10px;">
                ###USERNAME###
             <input class="logout" type="submit" value="Abmelden" />
             <input type="hidden" name="logintype" value="logout" />
        </div>
    </form>
)
...

Wobei <!-- ###USERNAME### --> eingesetzt werden muss. (Geht oben im TS nicht, dann kommt mein username:Hille)

Nun kommt der Username des angemeldeten Users vor dem Logout-Button.
Vielleicht gibts noch ne bessere Lösung?!?
Gruß
Hille

M G ·
Hille schrieb

Wie komme ich an den Usernamen, der ja auf der eigentlichen Login-Seite bei betterLoginBox angezeigt wird?
Ich weiss nicht wie ich im Template den Usernamen abfragen kann.
Ansonsten gehts ja mit:
$username = $GLOBALS['TSFE']->fe_user->user['username'];

Hi, genau vor dem Problem steh ich im Moment auch. Hast du da eine Lösung gefunden?

Marc

pingus ·

Hallo

Entschuldigt, wenn ich altes wieder aufwärme. Mit eurer Hilfe habe ich die
Login Box nun auch hingekriegt.

Wie zeige ich nun den Benutzernamen des angemeldeten Users an?

Danke
Thomas

Scarecrow ·

Hallo Pingus,

hast Du Dein Problem mittlerweile lösen können?

Falls nicht, hilft Dir (oder auch Anderen, die vor dem Prob. stehen) vielleicht folgendes:

Ich musste auf einer Website den Login-Status ausgeben. Wenn niemand eingeloggt ist sollte an einer bestimmten Stelle immer "angemeldet als: Gast" stehen. Nachdem sich ein fe_user angemeldet hat sollte sich der Text ändern in: "angemeldet als: "Benutzername"".

Dazu habe ich in meinem HTML-Template folgendes eingesetzt:

...
<td>angemeldet als: ###LOGIN###</td>
...

Im Setup-Feld meines TS-Templates steht nun:

[loginUser=*]
seite.10.marks.LOGIN = TEXT
seite.10.marks.LOGIN.value = <!--###USERNAME###-->
[else]
seite.10.marks.LOGIN = TEXT
seite.10.marks.LOGIN.value = Gast
[end]

Bei mir hat das prächtig funktioniert.

Vielleicht hilft das ja hier auch jemand Anderem weiter.

Grüße, Scarecrow

Mario H ·

Hallo Forum,
ich greife hier mal diese etwas ältere Diskusion wieder auf. Ich habe mir wie oben beschrieben einen Login Bereich gebaut. An sich funktioniert er auch sehr gut. Es tritt aber das Problem auf das ich nach dem Login auf die Rootpage verwiesen werde, oder besser auf: .../index.php?id=
sieht so aus als hätte ich an einer Stelle die Ziel ID nicht eingegeben aber wo? Was habe ich Falsch gemacht?

Folgendes habe ich in mein TS geschrieben:

# Login-BOX
[usergroup = *]
temp.10 = TEXT
#temp.10.data  = TSFE : id
temp.10.dataWrap (
 
<form action="{getIndpEnv:TYPO3_REQUEST_URL}" method="post"> 
<div>
<span style="font-size: 11px;"><input class="logout" type="submit" value="Logout" />
<div class="bezeichnung">eingelogt als: Mario H</div>
<input type="hidden" name="logintype" value="logout" /> 
</div>
</form>
)
 
#<b>#Ansonsten wird der [else] Zweig angezeigt</b>
[else] 
temp.10 = TEXT
#temp.10.data  = TSFE : id
temp.10.dataWrap (
<form name="form" action="index.php?id=" 4="" method="post">
<input class="login" name="image" type="submit" value="Login" title="Login" /> 
<input type="hidden" name="logintype" value="login" /> 
<input type="hidden" name="pid" value="20" /> 
<div class="bezeichnung"></div>
<input name="pass" class="eingabe" type="password" id="pass" title="Passwort" onfocus="if (this.value==this.defaultValue) this.value=''" value="" size="10" />
<div class="bezeichnung">Passwort</div>
<input name="user" class="eingabe" type="text" id="user" title="Benutzername" value="" onfocus="if (this.value==this.defaultValue) this.value=''" size="10" />
<div class="bezeichnung">Benutzername</div>
</div>         
</form>
)
[global] 
# / Login-BOX

Wäre für Hilfe sehr dankbar

Grüße

Mario

Mario H ·

- hau den Kopf auf Tastertur. #angry#

habe in Zeile 21 nen " zuviel. Sollte mir mal nen besseren Editor anschaffen.

Danke aber trotzdem für diese Diskusion hat mir einiges an Arbeit abgenommen.

Gruß Mario

krizzax ·

hallöchen, ich hoffe einer liest noch diese nachricht und vielleicht bekomme ich ja hilfe...

was genau muss ich mit der registrierungs.html datei machen bzw. wo ist die usw.
und bitte habt nachsicht mit mir, bin ein totaler anfänger :o

lg und danke

krizzax ·

ach ja,mein code

hab eingentlich alles von georg übernommen, ausser die ids auf loginfeld und auf
den sysordner
nochmals sorry, wegen den dummen fragen, aber vielleicht erbarmt sich ja einer #giggle#

      #########################
      # Login
      #########################
      [usergroup = *]
      temp.10 = TEXT
      subparts.LOGIN < temp.10
      #temp.10.data  = TSFE : id
      temp.10.dataWrap (
      <form action="{getIndpEnv:TYPO3_REQUEST_URL}" method="post">
      <div> <span style="font-size: 11px;"><input class="logout" type="submit" value="Logout" /> ·  <a href="registrierung.html?tx_srfeuserregister_pi1%5Bpointer%5D=&tx_srfeuserregister_pi1%5Bmode%5D=&tx_srfeuserregister_pi1%5Bsword%5D=&tx_srfeuserregister_pi1%5Bsort%5D=&tx_srfeuserregister_pi1%5Bcmd%5D=edit">eigene Daten bearbeiten</a>
      <input type="hidden" name="logintype" value="logout" /> </div></form>
      )
      #<b>#Ansonsten wird der [else] Zweig angezeigt</b>
      [else]
      temp.10 = TEXT
      subparts.LOGIN < temp.10
      #temp.10.data  = TSFE : id
      temp.10.dataWrap (
      <form name="form" action="index.php?id=103" method="post">
      <div id="login"><input name="user" class="login" type="text" id="user" title="Benutzername" value="" onfocus="if (this.value==this.defaultValue) this.value=''" size="12" />
      <input name="pass" class="login" type="password" id="pass" title="Passwort" onfocus="if (this.value==this.defaultValue) this.value=''" value="" size="12" />
      <input class="login" name="image" type="submit" value="Login" title="Login" />
      <input type="hidden" name="redirect_url" value="{getIndpEnv:TYPO3_REQUEST_URL}" />     
      <input type="hidden" name="logintype" value="login" /> <input type="hidden" name="pid" value="140" />
      <a href="index.php?id=158&tx_srfeuserregister_pi1[pointer]=&tx_srfeuserregister_pi1[mode]=&tx_srfeuserregister_pi1[sword]=&tx_srfeuserregister_pi1[sort]=&tx_srfeuserregister_pi1[cmd]=create">Neu registrieren</a>
      </div>
      </form>
      )
      [global]
    #  / Login-BOX
Arci ·

joa, die geschichte mit dem login hab ich auch noch nicht ganz gecheckt o.O

Wie funktioniert denn die Validierung des Benutzers?? Ich habe die Loginbox zwar eingebaut, aber nach dem Abschicken passiert halt nix. Was mir auch logisch erscheint, weil auf der Seite mit der ID X (action="index.php?id=X") noch was sein muss was die validierung übernimmt... was muss denn auf dieser Zielseite noch sein damit das funktioniert??

coresystems ·

Hallo zusammen! Ich bin auch schon eine weile am Suchen und googeln, um mir eine Loginbox auf der Seite zu erstellen. Auf der Page habe ich den Marker ###LOGIN### und mein Typo3 sieht folgendermassen aus:

# Loginfeld, Marker ist > LOGIN
#-----------------------------------#

[usergroup = *]
temp.10 = TEXT
seite.10.marks.LOGIN < temp.10
#temp.10.data  = TSFE : id
temp.10.dataWrap (
<form action="{getIndpEnv:TYPO3_REQUEST_URL}" method="post">
<div> <span style="font-size: 11px;"><input class="logout" type="submit" value="Logout" /> •  <a href="index.php?id=226&tx_srfeuserregister_pi1%5Bpointer%5D=&tx_srfeuserregister_pi1%5Bmode%5D=&tx_srfeuserregister_pi1%5Bsword%5D=&tx_srfeuserregister_pi1%5Bsort%5D=&tx_srfeuserregister_pi1%5Bcmd%5D=edit">eigene Daten bearbeiten</a>
<input type="hidden" name="logintype" value="logout" /> </div></form>
)
#<b>#Ansonsten wird der [else] Zweig angezeigt</b>
[else]
temp.10 = TEXT
seite.10.marks.LOGIN < temp.10
#temp.10.data  = TSFE : id
temp.10.dataWrap (
<form name="form" action="index.php?id=223" method="post">
<div id="login"><input name="user" class="login" type="text" id="user" title="Benutzername" value="" onfocus="if (this.value==this.defaultValue) this.value=''" size="12" />
<input name="pass" class="login" type="password" id="pass" title="Passwort" onfocus="if (this.value==this.defaultValue) this.value=''" value="" size="12" />
<input class="login" name="image" type="submit" value="Login" title="Login" />
<input type="hidden" name="redirect_url" value="{getIndpEnv:TYPO3_REQUEST_URL}" />     
<input type="hidden" name="logintype" value="login" /> <input type="hidden" name="pid" value="221" />
<a href="index.php?id=226&tx_srfeuserregister_pi1[pointer]=&tx_srfeuserregister_pi1[mode]=&tx_srfeuserregister_pi1[sword]=&tx_srfeuserregister_pi1[sort]=&tx_srfeuserregister_pi1[cmd]=create">Neu registrieren</a>
</div>
</form>
)
[global]
/ Login-BOX

Zuerst wurde der Marker gar nicht angesprochen, darum fügte ich jeweils "seite.10" hinzu. Wenn ich das die Seite aufrufe, verschwindet der Marker (also wird es richtig angesprochen), aber es lädt gar nichts an diesen Ort. Um diese Funktion zum laufen zu bringen, benötige ich nur das "Front End User Registration", oder? Ich würde mich freuen, wenn mir jemand helfen könnte! Merci vielmal schon im voraus!

coresystems ·

Hallo!
Merci vielmal für deine Antwort. Das Anmeldeformular wird jetzt angezeigt. Jetzt muss ich es nur mit CSS ein wenig anpassen und schauen, dass der Link "Passwort vergessen" auch erscheint!

Jumper ·

Hallo zusammen!

ne kleine Ergänzung zum Thema Login Box - für alle, die wie ich kaskadierte TS-templates verwenden.

[edited]
Ach ja - weil ich das gerade lese - der Nutzername (des angemeldeten Benutzers) taucht hier auch auf. (der ###username## Kommentar)
Bitteschön in ein Zeile, hier trickst mich sonst der Forum Parser aus und schreibt meinen Benutzernamen - ha.
[/edited]

Login-Template in übergeordnete TS Objekt einbinden:

35<temp.LoginForm

Login-Template:

temp.LoginForm=TEMPLATE
temp.LoginForm.template=COA
[usergroup=*]
temp.LoginForm.template{

    8=HTML
## 1 Zeile
    8.value=<table class="logoutTBL"><tr><td class="logoutROW">
    <!-- 
    ###USERNAME### 
    -->
    </td><td class="logoutROW">
## /1 Zeile
    10 = TEXT
    10.dataWrap (
<form action="{getIndpEnv:TYPO3_REQUEST_URL}" method="post">
<div><span style="font-size: 11px;"><input class="logout" type="submit" value="Logout" />
 <input type="hidden" name="logintype" value="logout" /> </div></form>
)
    11=HTML
    11.value=</td></tr></table>
}

[else]
temp.LoginForm.template{
     10 = TEXT
     10.dataWrap (
<form name="form" action="index.php?id=2" method="post">
<div><input name="user" class="login" type="text" id="user" title="Benutzername" value="" onfocus="if (this.value==this.defaultValue) this.value=''" size="12" /><br />
<input name="pass" class="login" type="password" id="pass" title="Passwort" onfocus="if (this.value==this.defaultValue) this.value=''" value="" size="12" /><br />
<input class="login" name="image" type="submit" value="Login" title="Login" />
<input type="hidden" name="redirect_url" value="{getIndpEnv:TYPO3_REQUEST_URL}" />     
<input type="hidden" name="logintype" value="login" /> <input type="hidden" name="pid" value="47" />
</div></form>
)
}
[global]

Tschüß!

J
8-)

PS: @Moderator - vielleicht kann mal jemand das Parsen der TS-Code-Stücken abstellen - es ist recht nerfig wenn der eingestellte Code - der ja eigendlich in Textform erscheinen sollte vom Forum ausgewertet wird.

Leoras ·

Hi Leute!

Habe schon diverse TUTs/HowTos etc. abgeklappert, aber keine adäquate Lösung für mein Problem gefunden. Bin was Typo3 betrifft nicht so erfahren.

Zum Problem: Ich habe im Template einen Link auf eine Seite mit Loginformular platziert. Jetzt soll statt "login/logout" "login" dastehen wenn man nicht angemeldet ist und "logout" wenn mans ist (Bei Klick soll ohne Verweis auf die Loginseite direkt abgemeldet werden). Scheint einfach, aber ich glaube, dass ich mich einfach zu blöd anstelle.

Das Login funktionert (Benutzer erstellt, User-SysFolder ist vorhanden, Verweise korrekt gesetzt etc.). Erstellt wurde das ganze mit dem in Typo3 vorhandenen Logintool. Muss ich, um das oben genannte Vorhaben zu realisieren, ein Plugin verwenden? Wenn ja, welches?

Merci im Voraus!
Gruss, Dave[/img]

d.​walter ·

Hallo Leoras,

Eine Seite mit Login anlegen und die andere mit Logout.
Dann bei der einen einstellen "bei Login anzeigen" und bei der anderen
"bei Login verstecken" auswählen.
Jetzt noch das Plugin auf die Seiten setzen und fertig.

Gruß

Daniel

Leoras ·

wenn du grad einen moment zeit hast, kannst du dir das Macherk ja mel anschauen...
http://www.eahv-iv.ch

Den Link habe ich nicht per Marker gesetzt, sondern, weil ich es nicht besser wusste, per <a href...> im Template.

Merci auch noch!
Gruss, Dave

d.​walter ·

Dann setzt doch an die Stelle einen Marker,

bau dir ein kleines Menü aus den beiden Seiten und weiße Sie dem Marker zu.

Was ich vorhin vergessen habe, schau mal hier im Forum, da gibt es einen Thread, der beschäftigt sich damit, wie man ein Logout als Link realisiert.

Gruß

Daniel

d.​walter ·

Vielleicht kann mir hier jemand zu meinem Problem einen Tip geben.

Habe mein Login das ich auf jeder Seite haben will in ein Ext.-Template gepackt mit folgendem Code

temp.LOGIN = COA
[usergroup = *]
#Wenn eine Anmeldung erfolgt ist, wird der folgende Part angezeigt.
temp.LOGIN{

10 = TEXT
10.dataWrap ( 
        <form action="{getIndpEnv:TYPO3_REQUEST_URL}" method="post" class="login_form">
        <div>        Angemeldet als: <!--###USERNAME###-->
                
                <input type="submit" class="button" value="Abmelden">
                <input type="hidden" name="logintype" value="logout" >
</div>        </form>
        )
}

#Ansonsten wird der [else] Zweig angezeigt
[else]
temp.LOGIN{
10 = TEXT
10.dataWrap (
        <form action="index.php?id=106" method="post" class="login_form">
              <div>  <input name="user" type="text" id="user" title="Benutzername" onfocus="if(this.value==this.defaultValue) this.value=''" value="" class="inputfields">
                <input name="pass" type="password" id="pass" title="Passwort" onfocus="if(this.value==this.defaultValue) this.value=''" value="" class="inputfields">
                <input type="submit" class="button" value="Anmelden"  />
                <input type="hidden" name="logintype" value="login" />
                <input type="hidden" name="pid" value="103" />
                <input type="hidden" name="redirect_url"  value="{getIndpEnv:TYPO3_REQUEST_URL}"  />
</div></form>
<p><a href="index.php?id=106&no_cache=1&tx_newloginbox_pi1[forgot]=1">Passwort vergessen?</a></p>
<p><a href="index.php?id=102&tx_srfeuserregister_pi1[pointer]=&tx_srfeuserregister_pi1[mode]=&tx_srfeuserregister_pi1[sword]=&tx_srfeuserregister_pi1[sort]=&tx_srfeuserregister_pi1[cmd]=create">Neu registrieren</a></p>
)                
}
[global]

Wird auch genauso angezeigt wie ich das möchte, allein der Login funktioniert nicht. wobei nach einem Login (über die Seite mit dem Plugin Login) an der Stelle auch der Teil mit dem Logout angezeigt wird.

Siehe auch hier #471846

Leoras ·

Hey Daniel!
Mir ist grad noch eine Frage in den Sinn gekommen! Wo kann man die Default-Templates z.B. für Formulare ändern? Insbesondere die Standard-Liginfonktion von Typo3?

Gruss, Dave

Leoras ·

Hey zusammen!

Habe mein Konzept so geändert, dass sich nur der Text des Links ändert. So sieht das TypoScript dazu aus:

styles.content.loginform.pid = 45
seite.10.marks.LOGIN = TEXT
seite.10.marks.LOGIN {
   [usergroup = *]
      value =Logout
   [else]
      value =Login
   [end] 
}

pid = 45 stellt dabei den SysFolder dar, der die Benutzer- und Gruppeninfos enthält.

Wieso ändert sich der Text auf dem Link beim Login nicht und zeigt permanent "LOGIN" an? Kann jemand helfen! Ist sehr wichtig und eilig!

Vielen vielen Dank im Voraus!
Viele Grüsse, Dave