Zurück   Flashforum > Flash > ActionScript > ActionScript 1

Antwort
 
LinkBack Themen-Optionen Ansicht
Alt 14-10-2003, 15:36   #1 (permalink)
Neuer User
 
Registriert seit: Feb 2003
Ort: würzburg
Beiträge: 18
probleme mit if-schleife

hi,
ich versuche gerade eine login-seite zu erstellen, die variablen via einer cfml-datei mit einer sql-datenbank vergleicht.
egal ob die bedingung erfüllt ist oder nicht irgendwie wird immer nur der eine weg eingeschlagen!!
das eine beispiel:

on (release, keyPress "<Enter>")
{
if (f_userName != "" && f_userPw != "")
{
loadVariablesNum("login.cfm", 0, "POST");
play();
}
else
{
error = "Bitte Usernamen und Passwort eingeben!";
}
}


das andere:

if (record == "yes")
{
gotoAndPlay("logged");
}
else if (record == "no")
{
error = "Bitte überprüfen Sie Ihre Eingaben!";
stop();
}


kann mir jemand erklären wieso!?
__________________
das leben is´n ******* spiel, aber die grafik is geil!!
lechuza ist offline   Mit Zitat antworten
Alt 14-10-2003, 15:43   #2 (permalink)
nky
Bontempi Punk
 
Benutzerbild von nky
 
Registriert seit: Dec 2001
Ort: Dtld/Pfalz
Beiträge: 4.185
Hi bei solchen Sachen wärs manchmal ganz nett wenn Du das ganze Highlighten könntest (einfach die as buttons oben klicken) - dann sieht mans schneller
ActionScript:
  1. if( (f_userName !="") && (userPw!="") )

allerdings glaube ich nicht das dies - das Problem war.

Achja es heisst if_anweisung - schleifen sind nur "for" und "while" aber egal..!!!

Kannst Du bitte mal die ganzen Variablen die Du im IF prüfst an der Stelle mal trace - damit ich sehe ob die Werte stimmen ?
also einfach trace(f_username)....usw....

Gruss nky

Geändert von nky (14-10-2003 um 15:46 Uhr)
nky ist offline   Mit Zitat antworten
Alt 14-10-2003, 15:55   #3 (permalink)
Neuer User
 
Registriert seit: Feb 2003
Ort: würzburg
Beiträge: 18
naja es ist so, ich muss des ja im browser laufen lassen weil sonst geht die verbindung zur cfml-datei irgendwie net und im browser funktioniert trace nicht, oder?
auf jeden fall hab ichs dann mit dem debugger versucht und da konnt ich zb sehn, dass
ActionScript:
  1. record ="yes"
zutrifft, diese if-anweisung aber trotzdem net ausgeführt wird.
nur mal nebenbei - hab net allzuviel ahnung von flash und überhaupt vom programmieren, vielleicht is mein fehler stinkeinfach!
__________________
das leben is´n ******* spiel, aber die grafik is geil!!
lechuza ist offline   Mit Zitat antworten
Alt 14-10-2003, 16:04   #4 (permalink)
Coder
 
Benutzerbild von bewerber2
 
Registriert seit: Sep 2002
Ort: München
Beiträge: 657
ActionScript:
  1. if (record == "yes")
  2. {
  3.     gotoAndPlay("logged");
  4. }
  5. else if (record == "no")
  6. {
  7.     error = "Bitte überprüfen Sie Ihre Eingaben!";
  8.     stop();
  9. }


Versuche statt "==", "eq" einzusetzen.

Bei Deiner Schleife brauchgst Du kein else if, sondern nur else. Versuche also Folgendes:

ActionScript:
  1. if (record eq "yes")
  2. {
  3.     gotoAndPlay("logged");
  4. }
  5. else
  6. {
  7.     error = "Bitte überprüfen Sie Ihre Eingaben!";
  8.     stop();
  9. }
bewerber2 ist offline   Mit Zitat antworten
Alt 14-10-2003, 16:08   #5 (permalink)
nky
Bontempi Punk
 
Benutzerbild von nky
 
Registriert seit: Dec 2001
Ort: Dtld/Pfalz
Beiträge: 4.185
was bringt eq ??? Kenne diesen Befehl nicht !

Gruss nky
nky ist offline   Mit Zitat antworten
Alt 14-10-2003, 16:13   #6 (permalink)
HAY
Neuer User
 
Benutzerbild von HAY
 
Registriert seit: Aug 2002
Ort: Faust-Stadt
Beiträge: 2.577
hi
"eq" gleich "=="
ab Flash 5 gilt dieser Operator als veraltet.
__________________
gruß Harry
HAY ist offline   Mit Zitat antworten
Alt 14-10-2003, 16:17   #7 (permalink)
Neuer User
 
Registriert seit: Feb 2003
Ort: würzburg
Beiträge: 18
ja stimmt, lag an "eq", aber das hatt ich vorher und mx hab mich drauf aufmerksam gemacht dass ich des nix mehr verwenden soll!
allerdings hab ich jetzt das nächste problem:

also in bild1 ist der button mit folgendem code:
ActionScript:
  1. on (release, keyPress "<Enter>")
  2. {
  3.     if (f_userName != "" && f_userPw != "")
  4.     {
  5.         loadVariablesNum("login.cfm", 0, "POST");
  6.         play();
  7.     }
  8.     else
  9.     {
  10.         error = "Bitte Usernamen und Passwort eingeben!";
  11.     }
  12. }

wenn ich jetzt die richtigen zugansdaten eingeb müsste er ja durch bild 2:

ActionScript:
  1. if (record eq "yes")
  2.     {
  3.     gotoAndPlay("logged");
  4.     }
  5. else 
  6.     {
  7.     error = "Bitte überprüfen Sie Ihre Eingaben!";
  8.     stop();
  9.     }

zum bild "logged" weitergeleitet werden oder? (record steht auf yes!)

das funktioniert allerdings net, erst nachdem man auf den button mit dem code:
ActionScript:
  1. on (release, keyPress "<Enter>") {
  2.     if ((f_userName != "") and (f_userPw != ""))
  3.     {
  4.         loadVariablesNum("login.cfm", 0, "POST");
  5.         gotoAndPlay(1);
  6.     } else {
  7.         error = "Error: Please enter username and password ";
  8.     }
  9. }

klickt, somit wieder in bild 1 ist und abermals auf den button klickt! erst dann ist man im bild "logged", eigentlich müsste das doch schon beim ersten mal funktionieren oder?
__________________
das leben is´n ******* spiel, aber die grafik is geil!!
lechuza ist offline   Mit Zitat antworten
Alt 14-10-2003, 16:18   #8 (permalink)
HAY
Neuer User
 
Benutzerbild von HAY
 
Registriert seit: Aug 2002
Ort: Faust-Stadt
Beiträge: 2.577
hi
@lechuza an deinen if abfragen ist nichts falsches zuerkennen.
__________________
gruß Harry
HAY ist offline   Mit Zitat antworten
Alt 14-10-2003, 16:19   #9 (permalink)
Neuer User
 
Registriert seit: Feb 2003
Ort: würzburg
Beiträge: 18
ja das denk ich mir ja auch die ganze zeit, aber es funktioniert halt net!
__________________
das leben is´n ******* spiel, aber die grafik is geil!!
lechuza ist offline   Mit Zitat antworten
Alt 14-10-2003, 16:28   #10 (permalink)
HAY
Neuer User
 
Benutzerbild von HAY
 
Registriert seit: Aug 2002
Ort: Faust-Stadt
Beiträge: 2.577
hi
woher hast du die variable record.wird die reingeladen.
__________________
gruß Harry
HAY ist offline   Mit Zitat antworten
Alt 14-10-2003, 16:34   #11 (permalink)
Neuer User
 
Registriert seit: Feb 2003
Ort: würzburg
Beiträge: 18
ja, die wird aus ner cfm-datei geladen in der ne sql-query steht, dann wird je nachdem dem record="yes" bzw record="no" gesetzt.
__________________
das leben is´n ******* spiel, aber die grafik is geil!!
lechuza ist offline   Mit Zitat antworten
Alt 14-10-2003, 16:38   #12 (permalink)
HAY
Neuer User
 
Benutzerbild von HAY
 
Registriert seit: Aug 2002
Ort: Faust-Stadt
Beiträge: 2.577
hi
dann wird die variable einfach noch nicht bei der prüfung
da sein nimm statt loadvariable das loadvars objekt.
__________________
gruß Harry
HAY ist offline   Mit Zitat antworten
Alt 14-10-2003, 16:46   #13 (permalink)
Coder
 
Benutzerbild von bewerber2
 
Registriert seit: Sep 2002
Ort: München
Beiträge: 657
Wir können Dir nur bei prinzipiellen Sachen helfen. Debuggen lernen musst Du schon selbst

trace("...") heisst das magische Wort und fuktioniert besser als jeder Debugger

@NKY: "eq" ist eigentlich die korrekte(re) Schreibweise für den Stringvergleich. "==" sollte eigentlich eine andere Funktionalität haben, genau wie "=" auch etwas Anderes liefern sollte.
=,
== und
eq (oder equals)


sind nicht das Selbe!


In Flash MX haben sich die MM-Entwickler wahrscheinlich gedacht, == braucht man nur für spezielle Zwecke und haben den Operator einfach dem Operator "eq" gleichgesetzt.



Grüße aus München,

r.v.
bewerber2 ist offline   Mit Zitat antworten
Alt 14-10-2003, 16:59   #14 (permalink)
HAY
Neuer User
 
Benutzerbild von HAY
 
Registriert seit: Aug 2002
Ort: Faust-Stadt
Beiträge: 2.577
hi
@bewerber2
@lechuza
probiere das mal laden und abfragen in einem.
hauptfilm auf stop()
ActionScript:
  1. on (release, keyPress "<Enter>"){
  2.         if (f_userName != "" && f_userPw != ""){
  3.             lv = new LoadVars();
  4.             lv.onLoad = function (success){
  5.                 if (success){
  6.                        if (this.record == "yes"){
  7.                         gotoAndPlay("logged");
  8.                         }else   {
  9.                         error = "Bitte überprüfen Sie Ihre Eingaben!";
  10.                         }
  11.                     }else{
  12.                      error ="Datei nicht vorhanden"
  13.                     }
  14.                     }
  15.                 lv.load("login.cfm");
  16.                }else{
  17.                 error = "Bitte Usernamen und Passwort eingeben!";
  18.         }
  19. }
__________________
gruß Harry
HAY ist offline   Mit Zitat antworten
Alt 14-10-2003, 17:06   #15 (permalink)
nky
Bontempi Punk
 
Benutzerbild von nky
 
Registriert seit: Dec 2001
Ort: Dtld/Pfalz
Beiträge: 4.185
@ Hay
@ Bewerber2

also ich warte immer noch auf einen Herrn Bokelberg der uns aufklärt *g

idie Smilies bedeuten das ich mich Hay anschließe

1. soll man eq nicht nehmen
2. kann ich mir nicht vorstellen das es in
Javascript,PHP,C++ uvm. so geht - und ausgerechnet in Flash soll man zum Stringvergelich eq benutzen ???
Abgesehen davon habe ich das Teil noch nie gebraucht - un isch abe schon viele Strings gesehen und verglischen *g

1. Priorität würd ich sagen - Ladeproblem checken !!!
2. Priorität Typ der Variablen mit typeof checken - das es nur mit eq geht IST NICHT NORMAL !

Gruss nky

nky ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an



Alle Zeitangaben in WEZ +1. Es ist jetzt 02:47 Uhr.

Domains, Webhosting & Vserver von Host Europe
Unterstützt das Flashforum!
Adobe User Group


Copyright ©1999 – 2012 Marc Thiele