Da immer wieder die Frage aufkommt, wie man einen Loginbereich in einer
Swish Seite erstellt möchte ich heute hier ein kleines Tutorial geben.
Zunächst erstellt ihr 2 dynamische Textfelder, die ihr als "Input / Eingabe" einstellt. Somit können in diese beiden Textfelder anschließend Informationen gespeichert werden. Gebt beiden Texten einen Namen. In diesem Fall wählen wir für den 1 Text den Namen "_user" und für den zweiten "_password". Markiert anschließend noch beide Texte als "Ziel / Target" bei den textoptionen.
Nun geben wir beiden Textfeldern noch
Variablen. Für den Text _user wählen wir die Variable "_var_user" und tragen diese auch in den erweiterten Einstellungen des Textes ein. Gleiches machen wir für den zweiten Texte und nehmen die Variable "_var_password".
Wir wechseln nun in den Scriptmodus und erstellen nun unsere Variablen, die den Usernamen und das Passwort bestimmen. Wählt dazu das Ereignis "onLoad und setzt die Variablen wie hier:
Wir haben damit 2 Variablen, die unseren Usernamen und unser Passwot enthalten. Ihr könnt hier natürlich irgendwelche Werte eintragen. An dieser Stelle sei schon erwähnt, dass diese Art der Passwortabfrage in Swish sehr unsicher ist, da sich der Username und das Passwort innerhalb der
swf befinden. Um das ganze etwas sicherer zu machen, sollte man diese Daten über eine php Datei in die Swish swf laden. Dies werde ich in einem späteren Tutorial beschreiben.
Um das ganze noch etwas ansehnlicher zu machen habe ich nun noch Shapes unter die beiden Eingaben gelegt und Hinweise in Form von Texten über die Eingaben gesetzt.
Nun zu der eigentlichen interessanten Abfrage, ob die Eingabe des Benutzers auch richtig ist. Damit der Film nicht direkt zu der Abfrage springt, setzen wir zunächst auf dem 1.
Schlüsselbild ein Stop. Um den Besucher anzuzeigen ob er die richtige Eingabe gemacht hat, habe ich noch 2 weitere statische Texte erstellt mit den Namen "error" und "successfully" belegt und diese auch als Ziel / Target gesetzt. Damit beide Texte am Anfang nicht zu sehen sind, habe ich das Script auf dem Event onLoad noch wie folgt verändert:
Auf dem Frame 5 habe ich nun zunächst einen Namen / Lable gesetzt "check" und auf dem Frame 6 unsere
if Abfrage, die überprüft, ob die Eingaben des User richtig sind.
Mit diesem Script bewirken wir, dass bei Gleicheit der eingegebenen Daten und der vorher definierten eine bestimmte Aktion ausgeführt wird, bzw. ebenfalls eine Aktion, wenn die Bedingung nicht zutrifft (else).
An diese Stelle können natürlich auch noch andere Aktionen gesetzt werden. (gotoAndPlay etc.) Hier nochmal der derzeitige Überblick über unser Sript:
Jetzt brauchen wir nur noch einen Button, der diese Abfrage auslöst. Ich wähle dazu ein einfaches Shape und setze den Text "LOGIN" auf dieses Shape und gruppiere beide Elemente zu einem
Sprite. Dieses Sprite nenne ich "login_btn" und belege es mit der folgenden Aktion:
Quellcode
1
2
3
on (press) {
gotoAndPlay("check");
}
Das Ergebnis könnt ihr hier sehen:
Damit, bei einer falschen Eingabe auch die Fehlermeldung wieder verschwindet, habe ich das Stop auf ein späteres Frame gesetzt und dort wieder den Text Error auf unsichtbar gestellt.
Danke für deinen Beitrag und die file.
Habe mittlerweile auch rausgefunden wir man nach korrektem Login z.B. ne neue swi file aufruft => sep. Bereich.
Hast du evt auch nen Tipp wie man eine externe Seite (Gästebuch bei Websmart) in ein swi file integriert?
Externe Links werden immer als neuer Tab aufgerufen.
Viele sagen I Frame wäre machbar, aber mir fehlt da der Zusammmenhang ...
Gruss und Dank
Linus
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Linus« (01.04.2009, 14:52)
Also der Login funktioniert aber schonmal bei dir ja?
Welche Datei soll sich denn dann öffnen? Und vor allem wie soll sie sich öffnen, im gleichen Fenster oder in einem neuen?
Gruß
Marc
Hallo,
wenn ich es alleine probiere ja, doch habe ich eine komplexe website in swish. und in dieser ist ein loginbutton der nach erfolgreicher anmeldung auf eine externe seite verweisen soll. doch das login funktionier leider nicht. und wie ich dann die externe seite laden soll, davon habe ich keinen plan :-(.
Ich weiss nicht wie du jetzt deine Login Seite aufgebaut hast. Normla muss auf den Button nur eine If Abrfrage, die bei dem Wert "true" dann mittels getURL eine Seite aufruft:
Quellcode
1
2
3
4
5
6
on (press) {
if (login_variable=="richtiges passwort") {
getURL("www.deineDomain.de","_blank");
} else {
}
}
Bei dem else muss du halt schauen was er machen soll, wenn man das flasche Passwort eingibt.