Avatar billede morano Nybegynder
07. august 2006 - 12:24 Der er 9 kommentarer og
1 løsning

flash og database

hej,
jeg har aldrig før arbejde med noget hvor flash gerne skulle kontakte, læse, og indsætte ting i en slags database. Så nu vil jeg gerne have nogen gode råd, til hvad der kan bruges, er godt, ikke mega svært og bare.. ja godt:P
Jeg ved ingen ting om det, så mit aller første bud var faktisk at bruge en rå tekstfil. Så var problemet bare, jeg ikke ved hvordan man gør, og om man kan gøre det. Men nu ville jeg lige spørger her først om der er noget bedre og sådan.
Avatar billede tribalroots Nybegynder
07. august 2006 - 13:30 #1
Well, det nemmeste er nok at bruge php/asp som bindeled mellem flash og databasen. Hvor meget erfaring har du med programmering i;
Flash ActionScript?
PHP eller ASP?
Avatar billede morano Nybegynder
07. august 2006 - 19:15 #2
php har jeg arbejdet i, i snart 4 år. Actionscript, lige så længe som flash og det er et stykke tid. Men det jeg faktisk mangler er et sted jeg kan læse om det, eller en der kan fortælle hvordan det hænger sammen, og noget eksempel og sådan:)
Avatar billede morano Nybegynder
07. august 2006 - 19:16 #3
jeg har kigget lidt på det med at få flash til at læse data fra url. Men jeg synes slet ikke det ser godt ud!
Avatar billede tribalroots Nybegynder
07. august 2006 - 19:54 #4
Ok, følgende eksempel er fra en flash login jeg lavede med noget PHP og mySQL:

===========AS som ligger i framen: =======================
==========================================================

lvOut = new LoadVars();
lvIn = new LoadVars();
loginBtn.onRelease = function() {
    lvOut.bruger = bruger.text;
    lvOut.kode = kode.text;
    tellTarget ("_root.loadercircle") {
        gotoAndPlay(2);
    }
    myIdentifier = Math.round(Math.random()*10000);
    lvOut.sendAndLoad("login.php?uniq"+myIdentifier, lvIn, "POST");
};
lvIn.onLoad = function(success) {
    if (success) {
        if (lvIn.Login == 1) {
            _root.bruger = lvIn.bruger;
            tellTarget ("_root.loadercircle") {
                gotoAndStop(1);
            }
            gotoAndPlay("loginframe");
        }
        if (lvIn.Login == 2) {
            tellTarget ("_root.loadercircle") {
                gotoAndStop(1);
            }
            gotoAndPlay("non_verified");
        }
        if (lvIn.Login == 0) {
            tellTarget ("_root.loadercircle") {
                gotoAndStop(1);
            }
            gotoAndPlay("access_denied");
        }
    } else {
        tellTarget ("_root.loadercircle") {
            gotoAndStop(1);
        }
        gotoAndPlay("database_fejl");
    }
};

==========================================================
Som du kan se foroven bruger jeg loadvars med Sendandload.
lvOut samler de værdier jeg ønsker at sende til mit PHP script, mens lvIn er den variabel som samler de værdier som kommer retur.
I Dette tilfælde sender jeg brugerens indtastet brugernavn "bruger, samt det indtastet kodeord "kode".
Jeg bruger POST, hvis jeg kun ville hente info kunne jeg lige så vel bruge GET.
I Linie 3 kan du se at jeg aktivere loginfunktionen ved min "loginBtn" knap.
myIdentifier i linie 9 bruger jeg så IE ikke bare reloader PHP filen fra cachen og laver ged i login'en. (Dette behøves ikke hvis dit site kun er til Firefox).
I linie 14 kan du se "lvIn.Login", dette er en variabel som er hentet retur fra PHP scriptet, den er lagret i lvIn og hedder "Login".
Ok, videre til PHP scriptet:

===========Mit PHP loginscript: ==========================
==========================================================

<?php
    //Først starter vi vores seesion
    session_start();
    //inkluderer vores user og pass til vores DB
    include("DBaccess.php");
    // vi henter vores variabler fra Flash
    $brugernavn = $_POST['bruger'];
    $kodeord = $_POST['kode'];

    //Skaber forbindelse til vores database
    $connection = mysql_connect('localhost', $db_user, $db_pass);
    mysql_select_db('din_database', $connection);

    //Etablere et query
    $query = "SELECT * FROM users WHERE brugernavn='$brugernavn' AND kodeord='$kodeord'";

    //Løber vores query igennem og registrere antal påvirket rows
    $result = mysql_query($query, $connection);
    $affected_rows = mysql_num_rows($result);

    //Hvis der er præcis 1 row påvirket, er brugeren logget ind, ellers er han nægtet adgang
    //Som det kan ses registrere vi dette i variablen Login, som på denne mådes sendes til Flash
    if($affected_rows == 1) {
    //Nu læser vi data ind fra databasen
    while($dbstuff=mysql_fetch_array($result)){
    $nummer = $dbstuff['id'];
    $bruger = $dbstuff['brugernavn'];
    $mail = $dbstuff['email'];
    $verf = $dbstuff['verf'];   
    }
}
    else {
    echo "&Login=0&";
}
    if($verf == 1){
    //Her sender vi værdierne til Flash i form af nye variabler
    echo "&spillernummer=$nummer&";
    echo "&email=$mail&";
    echo "&bruger=$bruger&";
    echo "&Login=1&";
}
    else {
    echo "&Login=2&";
}
    mysql_close();
?>
Avatar billede morano Nybegynder
08. august 2006 - 03:27 #5
Det ser rigtig godt ud, og jeg fik da også lavet noget der så henter information. Men jeg har problemet. Det kun når jeg kører det via macromedia flash det virker. Når jeg exportere filen og kører den kan den ikke finde information.
Nogen der ved, hvad der måske kunne være galt?
Avatar billede tribalroots Nybegynder
08. august 2006 - 11:09 #6
Wierd! Dine stier er korrekte? Eks: lvOut.sendAndLoad("login.php?uniq"+myIdentifier, lvIn, "POST");
Her skal din php ligge i samme rod som Swf'en, medmindre du self ændrer stien!
Avatar billede morano Nybegynder
08. august 2006 - 11:20 #7
jeg har skrevet http://... osv. Hele adressen. Kan det være noget med den måde jeg exporterer det på?
Avatar billede tribalroots Nybegynder
08. august 2006 - 16:31 #8
Det bør det ikke have noget med exporten af gøre!

Prøv med en relativ sti istedet!
Avatar billede morano Nybegynder
08. august 2006 - 17:07 #9
jeg prøvede at ændre navnet på filen og så tilbage. Og nu virker det:) mange tak for det!
Avatar billede tribalroots Nybegynder
08. august 2006 - 18:39 #10
np! =)
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