Avatar billede leumas Nybegynder
07. maj 2003 - 10:05 Der er 27 kommentarer og
2 løsninger

Flash, php og Mysql

Har siddet og læst hvad der er skrevet om Flash, php og Mysql men har ikke helt forstået det endnu...

Jeg er ved at lave en side (www.namedropping.dk) hvor man kan skrive nogle ord som 1) bruges i designet 2) sendes gennem php til en Mysql-database 3) i en ny frame hentes en selektion (random) af ord som bruges i designet.

Jeg har fået det til at virke i flash, men skal nu til at få kontakt til/fra databasen gennem php, er der nogle der kan hjælpe med det.

Jeg bruger flash MX
og er ikke den store nørd til hverken php el. Mysql.
Avatar billede barklund Nybegynder
07. maj 2003 - 10:09 #1
Hvis du kan forklare, hvad det er, den skal sende og hvordan det skal behandles, så er der nok lidt større chance for hjælp :)
Avatar billede dagreyman Nybegynder
07. maj 2003 - 10:13 #2
Hop ind på denne side og hent filerne den kan give dig en god forståelse hvordan du skal gribe det an med php og mysql.. http://actionscript-toolbox.com/samplemx_php.php
Avatar billede leumas Nybegynder
07. maj 2003 - 10:30 #3
Man skriver nogle tilfældige ord i en textbox (max 30 tegn) som sendes som en variabel gennem php til Mysql.
Databasen bliver efterhånden fyldt op og flash skal så kunne lave en random selektion i databasen og vise dette i en ny frame.
Variablerne i flah kunne hedde text01, text02 ...
Avatar billede barklund Nybegynder
07. maj 2003 - 10:37 #4
Det gøres ved simpelthen at lave en getURL til den frame og medsende de indtastede ord, som så er et PHP-dokument, der opdaterer databasen og viser nogle tekster. Flash-delen er altså ingenting :)
Avatar billede leumas Nybegynder
07. maj 2003 - 11:24 #5
Jeg tror jeg starter helt fra bunden. Jeg skal have sendt nogle variabler fra flash til min database, min php-fil ser nogenlunde sådan ud;

<?php

$db = mysql_connect("host", "brugernavn", "kode");
mysql_select_db("database",$db);

$sql = "INSERT INTO tabel (drop1, drop2, drop3, drop4, drop5)
VALUES ('$drop1','$drop2','$drop3','$drop4','$drop5')";

$result = mysql_query($sql);

?>

Jeg har fem textfelter i flash som hedder drop1, drop2 osv...
Hvordan sender jeg det, til min database?
Avatar billede barklund Nybegynder
07. maj 2003 - 11:36 #6
send5Vars = new LoadVars();
send5Vars.drop1 = drop1.text;
send5Vars.drop2 = drop2.text;
send5Vars.drop3 = drop3.text;
send5Vars.drop4 = drop4.text;
send5Vars.drop5 = drop5.text;
send5Vars.send("min.php","POST");
Avatar billede leumas Nybegynder
07. maj 2003 - 11:56 #7
skal dette stå som en 'on release' på min knap?
Avatar billede barklund Nybegynder
07. maj 2003 - 12:04 #8
For eksempel. Det skal i hvert fald først eksekveres, når du vil sende informationerne.
Avatar billede leumas Nybegynder
07. maj 2003 - 12:13 #9
eller
on (release) {
    loadVariables("min.php?"drop1="+drop1+"&drop2="+drop2+"
                  &drop3="+drop3+"&drop4="+drop4+"&drop5="+drop5+");
}

Fra et tidligere spørgsmål.
Avatar billede leumas Nybegynder
07. maj 2003 - 12:30 #10
ift. 'send5Vars = new loadVars() ect. loader den min.php men den skriver ikke variablerne ind.

Og det ex. jeg skriver ovenover, virker slet ikke...
Avatar billede barklund Nybegynder
07. maj 2003 - 12:39 #11
$sql = "INSERT INTO tabel (drop1, drop2, drop3, drop4, drop5)
VALUES ('$_POST[drop1]','$_POST[drop2]','$_POST[drop3]','$_POST[drop4]','$_POST[drop5]')";
Avatar billede leumas Nybegynder
07. maj 2003 - 13:52 #12
Dette er hvad jeg skriver i mit php-script;
<?php

$db = mysql_connect("host", "bruger", "login");
mysql_select_db("database",$db);

$sql = "INSERT INTO tabel(drop1, drop2, drop3, drop4, drop5)
VALUES ('$_POST[drop1]','$_POST[drop2]','$_POST[drop3]','$_POST[drop4]','$_POST[drop5]')";

$result = mysql_query($sql);

?>

Og dette er hvad der ligger på min knap;
on (release) {
    send5Vars = new LoadVars();
send5Vars.drop1 = drop1.text;
send5Vars.drop2 = drop2.text;
send5Vars.drop3 = drop3.text;
send5Vars.drop4 = drop4.text;
send5Vars.drop5 = drop5.text;
send5Vars.send("min.php","POST");
   
}

Men der bliver kun tilføjet en tom linie i tabellen.
Avatar billede barklund Nybegynder
07. maj 2003 - 14:00 #13
Har du så fem tekstfelter med instancenavn dropN og ikke bare variabelnavn dropN. For hvis det er variabelnavnet, så skal der ikke stå ".text" efter dem selvfølgelig. :)
Avatar billede leumas Nybegynder
07. maj 2003 - 15:11 #14
er drop1.text instancnavnet?

Jeg er vist lidt forviret om hvad forskellen er på instancenavn og variabelnavn. De må vel ikke være det samme?

Det gør det lidt mere kompliceret at jeg bruger variablerne i nogle animerede dynamiske textfelter i filmen. Som også loader f.eks. drop1 ...
Avatar billede barklund Nybegynder
07. maj 2003 - 15:23 #15
Nej, der gør det nu ikke mere kompliceret. Bare du ved, hvilken variabel du har gemt værdien i. Ligger den direkte i drop1 (som så IKKE er et Textfield-instance men blot en tekst-variabel) så skal du fjerne ".text" fra scriptet alle fem steder.
Avatar billede leumas Nybegynder
07. maj 2003 - 15:46 #16
Det er stadig kun en tom linie der bliver indsat i databasen.

on (release) {
    send5Vars = new LoadVars();
send5Vars.drop1 = drop1;
send5Vars.drop2 = drop2;
send5Vars.drop3 = drop3;
send5Vars.drop4 = drop4;
send5Vars.drop5 = drop5;
send5Vars.send("min.php","POST");
   
}
Avatar billede barklund Nybegynder
07. maj 2003 - 16:03 #17
Ligger knappen i samme movieclip som tekstfelterne?

For ellers skal du selvfølgelig angive den rigtige sti til dine variabler - den kan jeg jo ikke gætte:

on (release) {
    send5Vars = new LoadVars();
send5Vars.drop1 = _root.drop1;
send5Vars.drop2 = _root.drop2;
send5Vars.drop3 = _root.drop3;
send5Vars.drop4 = _root.drop4;
send5Vars.drop5 = _root.drop5;
send5Vars.send("min.php","POST");
   
}
Avatar billede leumas Nybegynder
07. maj 2003 - 16:19 #18
Jeg har lige fået det til at virke ved at ændre i php-scriptet;
<?php

$db = mysql_connect("host", "bruger", "login");
mysql_select_db("namedroppingdkdb",$db);

$sql = "INSERT INTO NameDrop (drop1, drop2, drop3, drop4, drop5)
VALUES ('$HTTP_POST_VARS[drop1]','$HTTP_POST_VARS[drop2]','$HTTP_POST_VARS[drop3]','$HTTP_POST_VARS[drop4]','$HTTP_POST_VARS[drop5]')";

$result = mysql_query($sql);

?>

Er meget stolt af mig selv...

og i mc.
on (release) {
    send5Vars = new LoadVars();
send5Vars.drop1 = drop1;
send5Vars.drop2 = drop2;
send5Vars.drop3 = drop3;
send5Vars.drop4 = drop4;
send5Vars.drop5 = drop5;
send5Vars.send("min.php","mainFrame","POST");
   
}

Åbenbart noget med $HTTP_POST_VARS.

Men kan du ikke ligge et svar barklund, som tak for hjælpen.
Avatar billede barklund Nybegynder
07. maj 2003 - 16:35 #19
Hmm... Troede ikke, at din PHP-version var SÅ gammel... :)
Avatar billede leumas Nybegynder
07. maj 2003 - 16:45 #20
Når jeg klikker på min knap, åbnes .php siden (Jeg har sat den til 'mainframe'), men kan man undgå at den åbner? så man stadig er i flashsiden?
Avatar billede leumas Nybegynder
07. maj 2003 - 17:06 #21
Ang. php-version, er det e-navns php-version
Avatar billede barklund Nybegynder
07. maj 2003 - 17:12 #22
Forstår ikke spørgsmålet. Forklar nærmere mht. .php-siden og frame...
Avatar billede leumas Nybegynder
07. maj 2003 - 17:37 #23
når jeg trykker på min knap i Flash, sender den variablerne til Mysql, men den åbner samtidig .php siden i browseren, som jeg har sat til mainframe.
Kan man undgå at den åbner .php siden?
Avatar billede barklund Nybegynder
07. maj 2003 - 17:43 #24
du skal ikke angive nogen frame...
Avatar billede leumas Nybegynder
07. maj 2003 - 17:52 #25
.php siden åbner stadig, nu i et nyt browser-vindue

Skal jeg gemme filen som andet end .php?
Avatar billede barklund Nybegynder
07. maj 2003 - 18:05 #26
Prøv med:
Avatar billede barklund Nybegynder
07. maj 2003 - 18:05 #27
on (release) {
    send5Vars = new LoadVars();
send5Vars.drop1 = drop1;
send5Vars.drop2 = drop2;
send5Vars.drop3 = drop3;
send5Vars.drop4 = drop4;
send5Vars.drop5 = drop5;
send5Vars.sendAndLoad("min.php",null,"POST");
   
}
Avatar billede leumas Nybegynder
08. maj 2003 - 14:58 #28
Jeg åbner et ny spørgsmål til den anden kategori af mit spørgsmål: Fra php til Flash.
Avatar billede barklund Nybegynder
08. maj 2003 - 15:00 #29
Tark for point.. :)
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