Avatar billede grafikeren Nybegynder
20. april 2003 - 20:06 Der er 16 kommentarer og
1 løsning

Log in

Hej!

Jeg er ved at lave en login til en side. Jeg har et stort medlemskartotek i en database, som den skal fungere sammen med.

Jeg bruger flash 5. Hvordan får jeg min flash fil til at søge på databasen, og se om brugeren er der?

Og hvordan laver jeg en auto-login?
Avatar billede barklund Nybegynder
20. april 2003 - 20:27 #1
Login gør du ved at sende dine variabler til en serverside script (PHP/ASP/JSP...) som:

login = new LoadVars();
login.pass = kodeord.text;
login.name = navn.text;
login.onLoad = function (success) {
    if (!success) {
        resultat.text = "Der skete en fejl";
    } else if (this.result == "ok") {
        resultat.text = "Du er nu logget ind";
    } else if (this.result == "error") {
        resultat.text = "Navn og kodeord er forkert";
    }
}
login.sendAndLoad("login.php",login,"POST");

Så POST'es variablerne "pass" og "name" til scriptet, der returnerer "result=ok" eller "result=error" alt efter om det passer.

Du kan så i dette PHP-script sætte en cookie og samtidig inden dette have en loadVars, der loader, om man cookie'n allerede var sat - og dermed give auto-login.

/Barklund
Avatar billede grafikeren Nybegynder
20. april 2003 - 21:12 #2
tak for dit svar...

er bange for, at du bliver nød til at skære det mere ud i pap! Jeg fatter det ikke helt.

Altså alt det du skrev ("login = ...") det skal stå i fla filen - oder was? Hvad mener du med navn.text (er det et text field, der hedder det?)
Avatar billede barklund Nybegynder
20. april 2003 - 21:50 #3
ja, koden er actionscript til flash...

"navn" og "kodeord" er selvfølgelig din to tekstfelter - ligesom "resultat" er til at vise resultatet i.
Avatar billede thulstrup Nybegynder
21. april 2003 - 12:10 #4
Lige en detalje. Grafikeren skriver at det skal være til flash 5, så det går ikke at bruge LoadVars()
Avatar billede barklund Nybegynder
21. april 2003 - 12:48 #5
Havde jeg ikke set... Men ideen er den samme - load proceduren er bare lidt mere omstændig :)
Avatar billede grafikeren Nybegynder
27. april 2003 - 13:20 #6
Har du skrevet det til MX?

Hvordan skal jeg så gøre i flash 5??
Avatar billede barklund Nybegynder
28. april 2003 - 00:14 #7
Du skal bruge samme ide. Har du brug for et færdigt script, så skal du selvfølgelig fortælle, hvilken serverfil der skal modtage hvilke variabler for at tjekke, om login er rigtigt - og hvilket output den returnerer...
Avatar billede grafikeren Nybegynder
28. april 2003 - 12:40 #8
databasen er MySQL:
server=localhost
database=cdguiden_dk

Tabbelen hedder: tblMedlemmer
Felter deri    : Brugernavn, Password

Kan du ikke strikke den sammen Barklund??
Avatar billede barklund Nybegynder
28. april 2003 - 13:13 #9
Dette er primært flash. Jeg vil gerne hjælpe dig til at lave dit flash-script, men jeg vil ikke lave et færdigt script og tilhørende PHP-script... Det har jeg ikke ressourcer til at bruge på et tilfældigt exp-spm...
Avatar billede grafikeren Nybegynder
28. april 2003 - 13:18 #10
Nej, jeg prøver som også bare, at få dig til at oversætte noget af det du skrev tidligere... Jeg skal som sagt bruge det i flash 5.

Kan du så ikke fortælle, hvad jeg skal gøre???

Hvis:
login = new LoadVars();
login.pass = kodeord.text;
login.name = navn.text;
login.onLoad = function (success) {
    if (!success) {
        resultat.text = "Der skete en fejl";
    } else if (this.result == "ok") {
        resultat.text = "Du er nu logget ind";
    } else if (this.result == "error") {
        resultat.text = "Navn og kodeord er forkert";
    }
}
login.sendAndLoad("login.php",login,"POST");

...ikke kan bruges, så må jeg jo ha' omskrevet det til Flash 5... Søger rundt på flash kit for at finde ud af noget. Troede bare du kunne oversætte det?
Avatar billede barklund Nybegynder
28. april 2003 - 13:46 #11
Der skal bare lidt mere til... Ovenstående er jo fuldstændigt uden nogen referencer til databasen. Alt tjek i databasen sker jo i filen "login.php" og det har jeg ikke lavet - eller planer om at lave for dig.

Men scriptet i flash er blot:

on (release) {
  pass = kodeord; // et tekstfelt
  name = navn; // et andet tekstfelt
  loadVariables("login.php",this,"POST");
  gotoAndPlay("waiting");
}

Og i framen "waiting" har du så:

stop();
if (result == "ok") {
    resultat = "Du er inde";
} else if (result == "error") {
    resultat = "Forkert login";
} else {
    gotoAndPlay(_currentFrame-1);
}
Avatar billede grafikeren Nybegynder
29. april 2003 - 15:41 #12
tak for det barklund!

Men har du så nogen ide om hvor siden bare bliver i waitingframen. Jeg kan se at de bare kører mellem det frame og det forrige - hele tiden. Så den får vel ikke noget signal tilbage...

Nu hedder scriptet:

on (release) {
    Password = password;
    // et tekstfelt
    Brugernavn = brugernavn;
    // et andet tekstfelt
    loadVariables ("login.asp", this, "POST");
    gotoAndPlay ("waiting");
}


Og waiting framen (frame 12):
stop ();
if (result == "ok") {
    gotoAndPlay ("good");
} else if (result == "error") {
    gotoAndPlay ("bad");
} else {
    gotoAndPlay (10);
}


Og login.asp
<!---#include file="forbind.asp"--->
<%

' LOGIN.ASP

Brugernavn = request.form("Brugernavn")
Kodeord    = request.form("Password")

sql = "select count(*) as Total from tblMedlemmer where Brugernavn = '"&Brugernavn&"' and Password = '"&Kodeord&"'"
set rs = forbind.execute(sql)

if rs("Total") = 1 then
response.write("ok")
else
response.write("error")
end if
%>

og forbind.asp er rigtig... og filerne ligger i samme mappe på serveren... og ja, jeg har to frames som hedder "good" og "bad"



HVAD ER FORKER?
Avatar billede barklund Nybegynder
29. april 2003 - 18:51 #13
Det skal jo ikke bare skrive "ok" men derimod "result=ok" så du får defineret en variabel i flash.
Avatar billede grafikeren Nybegynder
29. april 2003 - 19:24 #14
Tusind tak barklund!! Læg et svar og du får dine point - selvom du burde ha' lidt mere. Tak!
Avatar billede barklund Nybegynder
29. april 2003 - 19:35 #15
Man kan nu godt lave pointene om (ved at du trykker på dem oppe i hjørnet) men 60 er fint nok... :)
Avatar billede grafikeren Nybegynder
29. april 2003 - 19:40 #16
Du får 100! Så kan jeg sikkert få hjælp en anden gang - og det har jeg rimelig meget brug for!'

Tak for nu.
Avatar billede barklund Nybegynder
29. april 2003 - 20:07 #17
Tark for det :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester