Avatar billede pyroman Nybegynder
02. august 2002 - 23:25 Der er 47 kommentarer og
2 løsninger

Til og fra php

Et simpelt spørgsmål. Jeg har nogle variabler, og når man klikker på en knap, skal de sendes til et php-script, som gemmer dem i en MySQL-database, hvorefter flashfilmen springer til et andet frame hvor samtlige gemte variabler vises - hentet af php igen.
Hvad skal jeg skrive på knappen i php-scriptet og i det andet frame, hvor variablerne igen indlæses????
Det er da ikke så svært - vel...

/Filip
Avatar billede barklund Nybegynder
03. august 2002 - 11:25 #1
Scriptet på din knap er ret nemt...

Du skla udover din knap have et tomt movieclip til at modtage data. Det kan vi kalde for "dataContainer" (som du skal skrive som instance-navn). På din knap skriver du:

on (release) {
    loadVariables("mit.php?var1="+var1+"&var2="+var2, dataContainer);
}


Du gentager fremgangsmåden for alle de variabler, som du ønsker at sende. Dit php-script modtager dem som GET, sætter ind i tabel og trækker alle records ud og udskriver dem som:

var1=noget&var2=nogetandet&var3=en tekst&var4=mere tekst

I din flash har du på dit dataContainer-clip:

onClipEvent (data) {
    for (i in this)
        _root[i] = this[i];
    _root.gotoAndPlay("someFrame");
}

Så kopierer du alle de indkomne data til hovedscenen og sender den til en anden frame, hvor data (highscore?) skal vises....

PHP-sciptet er noget sværere, men det kan du vel? Ellers så spørg i gen...
Avatar billede Kengun Praktikant
03. august 2002 - 11:51 #2
Undskyld at jeg blander mig inn, men kan ikke Flash(MX?) smide variablerne til et txt dokument og så hente dem inn igen?
Avatar billede Kengun Praktikant
03. august 2002 - 11:52 #3
...eller er man nødt til at bruge php (og andet) for at få det til at fungere?
Avatar billede nikolajdu Nybegynder
03. august 2002 - 11:54 #4
Du kan gøre begge dele - PHP/ASP/CGI/JSP er absolut at fortrække, da du bl.a får mulighed for at kommunikerre med en database :)
Avatar billede pyroman Nybegynder
03. august 2002 - 13:15 #5
og desuden mestrer jeg ikke andet end lidt PHP
Avatar billede pyroman Nybegynder
03. august 2002 - 14:42 #6
Det PHP kan jeg nok ikke klare, men jeg kan få en anden til at lave det, så det burde ikke være noget problem, hvis bare det andet virker - men det varer nok lidt tid før jeg kan afprøve det.
Avatar billede barklund Nybegynder
03. august 2002 - 15:43 #7
Hvis du fortæller, hvilke variabler der er tale om og hvilken PHP- og SQL-version du har, så kan jeg da godt lige digte noget til dig...
Avatar billede fangel Nybegynder
03. august 2002 - 21:30 #8
øhh, jeg "arbejder" sammen med Filip aka PyroMan og det er PHP v. 4.2.2 og jeg mener MySQL er v. 3.23.47-nt...

vi tester det lige...

Dea_PG
Avatar billede fangel Nybegynder
03. august 2002 - 21:47 #9
teksten
"...og udskriver dem som:

var1=noget&var2=nogetandet&var3=en tekst&var4=mere tekst"

hvordan skal jeg gøre det... jeg kan godt tjekke om variablerne findes...

og finde en top 5 af folk med point...

point.php
----

<?php

if(isset($_GET['navn']) && isset($_GET['point'])){ //tjekker om navn og point findes

$db =  mysql_connect("...","...","...");
mysql_select_db("...",$db);
$dato = time();
$navn = $GET['navn'];
$point = $GTE['point'];
mysql_query("INSERT INTO point (navn, point, dato) VALUES ('$navn','$point','$dato')")or die(mysql_error());
$q = mysql_query("SELECT point, navn, dato FROM point ORDER BY point LIMIT 0,5")or die(mysql_error());
while($row = mysql_fetch_array($q)){
  $dato = date("d/m - y \k\l\. H:i:s",$row[2]);
  $til_flash[] = $row[1]." fik ".$row[0].W point d. ".$dato;
}
?>

det array ved navn $til_flash[] skal så sendes til flash... hvordan gøres dette???

Dea_PG
Avatar billede fangel Nybegynder
03. august 2002 - 21:48 #10
hov, det mangler en "}" i bunden... se bort fra det...
Avatar billede nikolajdu Nybegynder
03. august 2002 - 22:03 #11
Jeg plejer at gøre sådan her :

$resultat = mysql_query("select * from news ORDER BY id DESC");

while ($raekke = mysql_fetch_array($resultat)) {

$info.= sprintf("overskrift%d=%s&nyhed%d=%s&nyhedNick%d=%s&nyhedDato%d=%s&", $antal, $raekke['overskrift'],$antal,$raekke['nyhed'],$antal,$raekke['nick'],$antal,$raekke['dato']);

$antal++;

}

    print "&".$info."nyhedAntal=$antal&yepDu=yep&";

?>

Så får du alle nyheder til at hedde "nyhed0", "nyhed1", "nyhed2" osv osv.

Desuden får du en variabel der har optalt dem for dig : "nyhedAntal"

Disse variabler tilgår du i flashen på almindelig vis.

Variablen "yepDu" bliver sat til "yep" når alle data er loadet ind. Det betyder at du looper mellem to (eller xxx antal) frames. I sidste af disse frames skriver du så.

if(yepDu=="yep"){
gotoAndPlay("de_er_laest_ind_saa_vi_skal_videre_til_naest_frame")
}else{
gotoAndPlay("Den_foerste_frame_vi_starter_loopet_i")
}

God fornøjelse.

/Nikolaj

P.s postet herfra : http://www.eksperten.dk/spm/236525
Avatar billede fangel Nybegynder
03. august 2002 - 22:09 #12
hej, jeg er ik' så sej til sprintf()... har du noget mod at ændre det så det bliver variablerne $navn, $point, og $dato den sender?
Avatar billede nikolajdu Nybegynder
03. august 2002 - 22:37 #13
%s == en streng
%d == et tal

$info.= sprintf("navn%d=%s&point%d=%d&dato%d=%s&", $antal, $raekke['navn'],$antal,$raekke['point'],$antal,$raekke['dato']);

evt :

$info.= sprintf("navn%d=%s&point%d=%d&dato%d=%s&", $antal, $raekke['navn'],$antal,$raekke['point'],$antal,$dato = date("d/m - y \k\l\. H:i:s",$row[2]););

:))

/Nikolaj
Avatar billede nikolajdu Nybegynder
03. august 2002 - 22:38 #14
hov skulle være :

$info.= sprintf("navn%d=%s&point%d=%d&dato%d=%s&", $antal, $raekke['navn'],$antal,$raekke['point'],$antal,$dato);
Avatar billede fangel Nybegynder
03. august 2002 - 22:42 #15
så den fulde kode bliver

if(isset($_GET['navn']) && isset($_GET['point'])){ //tjekker om navn og point findes

$db =  mysql_connect("...","...","...");
mysql_select_db("...",$db);
$dato = time();
$navn = $GET['navn'];
$point = $GTE['point'];
mysql_query("INSERT INTO point (navn, point, dato) VALUES ('$navn','$point','$dato')")or die(mysql_error());
$q = mysql_query("SELECT point, navn, dato FROM point ORDER BY point LIMIT 0,5")or die(mysql_error());
while($row = mysql_fetch_array($q)){
  $dato = date("d/m - y \k\l\. H:i:s",$row[2]);
  $info.= sprintf("navn%d=%s&point%d=%d&dato%d=%s&", $antal,    $row['navn'],$antal,$row['point'],$antal,$dato);
}
}
?>

hvor for den variablen $antal skal er væren en $antal++; i wqhile() løkken ?
Avatar billede nikolajdu Nybegynder
03. august 2002 - 22:55 #16
$antal er som navnet antyder i virkeligheden bare en tæller og det er så den der sættes bagefter navnene :

navn$antal=nikolaj&point$antal=mange_POINT_MEN_KUN_I_TAL&dato$antal=13232123;

aka

navn0=nikolaj&point0=mange_POINT_MEN_KUN_I_TAL&dato0=13232123&navn1=nikolaj&point1=mange_POINT_MEN_KUN_I_TAL&dato1=13232123;

osv...


<?

$antal = 0;

if(isset($_GET['navn']) && isset($_GET['point'])){ //tjekker om navn og point findes

$db =  mysql_connect("...","...","...");
mysql_select_db("...",$db);
$dato = time();
$navn = $GET['navn'];
$point = $GTE['point'];
mysql_query("INSERT INTO point (navn, point, dato) VALUES ('$navn','$point','$dato')")or die(mysql_error());
$q = mysql_query("SELECT point, navn, dato FROM point ORDER BY point LIMIT 0,5")or die(mysql_error());
while($row = mysql_fetch_array($q)){
  $dato = date("d/m - y \k\l\. H:i:s",$row[2]);
  $info.= sprintf("navn%d=%s&point%d=%d&dato%d=%s&",$antal,$row['navn'],$antal,$row['point'],$antal,$dato);
$antal++;
    }
}

print "&".$info."nyhedAntal=$antal&yepDu=yep&";

?>


/Nikolaj
Avatar billede fangel Nybegynder
04. august 2002 - 11:05 #17
OK... mange tak... jeg skal nok få PyroMan aka Filip til at acceptere dit svar...
/Morten
Avatar billede barklund Nybegynder
04. august 2002 - 11:32 #18
Kan se, at jeg gik glip af en del... men smider lige et halvt svar alligevel...
Avatar billede nikolajdu Nybegynder
04. august 2002 - 13:11 #19
jeg vil da også med på gallajen :)
Avatar billede fangel Nybegynder
04. august 2002 - 13:28 #20
jeg sender en mail om at PyroMan skal acceptere jeres svar... (han er lige taget på Efterskole, men der må vel være en comp. med internet...)

Morten

lige en gang til...

FRA Flash TIL PHP:
lav en knap der har denne kode:

on (release) {
    loadVariables("point.php?ant_point="+point+"&navn="+navn, dataContainer);
}

så bliver variablerne $_GET['ant_point'] og $_GET['navn'] sendt til PHP...

i point.php skriver jeg

<?

$antal = 0;

if(isset($_GET['navn']) && isset($_GET['point'])){ //tjekker om navn og point findes

$db =  mysql_connect("...","...","...");
mysql_select_db("...",$db);
$dato = time();
$navn = $GET['navn'];
$point = $GTE['point'];
mysql_query("INSERT INTO point (navn, point, dato) VALUES ('$navn','$point','$dato')")or die(mysql_error());
$q = mysql_query("SELECT point, navn, dato FROM point ORDER BY point LIMIT 0,5")or die(mysql_error());
while($row = mysql_fetch_array($q)){
  $dato = date("d/m - y \k\l\. H:i:s",$row[2]);
  $info.= sprintf("navn%d=%s&point%d=%d&dato%d=%s&",$antal,$row['navn'],$antal,$row['point'],$antal,$dato);
$antal++;
    }
}

print "&".$info."Antal=$antal&yepDu=yep&";

?>

HVAD skal jeg så skriv I flash før den registere de variabler... (navn1, point1, dato1,(OSV for navn2, point2 og dato2) antal og yepDu)

Morten
Avatar billede nikolajdu Nybegynder
04. august 2002 - 13:39 #21
Bare for at forvirre, så finder jeg det nemmere at vende det om ;-)

on (release) {
    dataContainer.loadVariables("point.php?ant_point="+point+"&navn="+navn);
}

så får du variablerne :

_root.dataContainer.navn0
_root.dataContainer.navn1

Du har i øvrigt en lille fejl her : $point = $GTE['point'];

Anyway er du i tvivl om PHP´en får udskrevet de rigtige variabler, så åben i stedet et nyt vindue til at tjekke med :))

getURL("point.php?ant_point="+point+"&navn="+navn, _blank, "GET");

Det skal så gerne komme ud med :

&navn0=nikolajdu&point0=9999&dato=...  ....&antal=10&yepDu=yep&

/Nikolaj
Avatar billede nikolajdu Nybegynder
04. august 2002 - 13:42 #22
Om du skal bruge $_GET['ant_point'] i forbindelse med din PHP kommer an på om "register_globals" er on/off og på versionen af din PHP. I PHP 4 gør man sådan her :

Er de "on" kan du nøjes med navnet alene : $navn

Er de off vil jeg foreslå du indsætter denne lille linie :

if($HTTP_GET_VARS){
  foreach($HTTP_GET_VARS as $Key=>$Value)
  {
    $$Key = $Value;
  }
}

Derefter vil du igen kun skulle bruge : $navn

/Nikolaj
Avatar billede pyroman Nybegynder
18. august 2002 - 16:45 #23
Nu har jeg prøvet at lave en simpel test hvor man bare selv skriver navn og point, men det virker ikke helt. Den kan godt modtage forudlavede data, men når man selv skriver navn og point i flash filmen virker det ikke.
Prøv at kigge på det hele:
http://www.desi-dev.dk/Flash/hjælp.zip

På forhånd tak
/Filip
Avatar billede barklund Nybegynder
18. august 2002 - 16:47 #24
(linket virker ikke)
Avatar billede nikolajdu Nybegynder
18. august 2002 - 17:27 #25
man laver da heller ikke filer med æ i...
Avatar billede fangel Nybegynder
18. august 2002 - 19:23 #26
Avatar billede pyroman Nybegynder
19. august 2002 - 14:13 #27
Tak morten, det var en dumme fejl
Avatar billede fangel Nybegynder
19. august 2002 - 14:29 #28
anytime...

-Morten
PS, det var mig der navngav filen... /dummeslag
Avatar billede pyroman Nybegynder
19. august 2002 - 14:31 #29
Er du ikke i skole???
Avatar billede pyroman Nybegynder
19. august 2002 - 14:32 #30
Jeg har sent en mail til dig, men det er som om intet virker på disse Imacs
Avatar billede barklund Nybegynder
19. august 2002 - 14:33 #31
Har du en mail, pyroman?
Avatar billede pyroman Nybegynder
19. august 2002 - 14:37 #32
Ja, men jeg er på efterskole, og der er kun iMacs, og de virker af helvede til, men jeg arbejder på at få det til at virke med at sende mails. du kan skrive til mig på:
filip@desi-dev.dk    eller  pyroman_pg@hotmail.com
Avatar billede pyroman Nybegynder
19. august 2002 - 14:41 #33
=>dea
Jeg prøver at få messenger til at virke, men alt spasser bare.
Foresten hvad hedder desi-dev's mail servere
pop3 : http://mail.cliche.dk
smtp: det samme ikke - eller hvad, det er ret vigtigt for ellers kan jeg ikke sende e-mail fra desi-dev. (jeg kan heller ikke med hotmail, aner ikke hvorfor)
Avatar billede barklund Nybegynder
19. august 2002 - 14:57 #34
Det virker da fint? Hvis du ikke kan forstå, hvor "Morten" med "8388607" altid ligger øverst selvom du sender en større score, så skyldes det nok en mysql-begrænsning på din integer-størrelse (11?)... Lav den om til en almindelig int på 16 eller 32 byte...

Jeg fik det ihvertfald fint til at virke med de to filer i din zip...
Avatar billede fangel Nybegynder
19. august 2002 - 17:47 #35
Filip =>
mail-server : mail.desi-dev.dk (begge to...)
mail-user : HELE din mail ex filip@desi-dev.dk
mail-paswd : den må du selv huske... hæhæ
HUSK at der skal kode til udgående mailserver også...

og jeg fik fri 13:40... ;)

barklund => jep, det er en int(11)... men flash programmeringen viser også nr. 2... der burde være udskiftning der...

- Morten
Avatar billede barklund Nybegynder
19. august 2002 - 18:33 #36
Tjaa... Jeg testede (lavede en ASC istedet for DESC) og satte nogle lave scores ind (som du kan se i din db) og det virkede fint. Jeg rørte udover SQL'en intet i flash eller php... Du skal dog vide, at det ikke virker inden i flash-environment, men kun fra browser...
Avatar billede pyroman Nybegynder
29. august 2002 - 15:33 #37
hov undskyld!!
Avatar billede fangel Nybegynder
29. august 2002 - 16:00 #38
Filip => øhhh, for hvad? acceptere du snart nogle svar Filip?

Morten
Avatar billede barklund Nybegynder
29. august 2002 - 18:39 #39
Tarker for point :o)
Avatar billede fangel Nybegynder
29. august 2002 - 20:06 #40
barklund og nikolajdu => E. brugere "Sukos" og jeg er igang med at stable en side med forskellige script op... og jeg ville lige høre om i havde nogle i godt kunne tænke jeg er få lagt der ud... med 100% ophavsret til jer... siden kommer til at hedde www.showsource.dk oh kommer hovedsagelidt til at være med PHP scripts, men andet er altid godt (dog ikke ASP... "We really dont like MS that much"...)

hvis i er intereseret så send en mail til mig på mfa@desi-dev.dk

Morten Fangel
Avatar billede nikolajdu Nybegynder
30. august 2002 - 05:52 #41
dea_pg - I know - Sukos er min onkel og domænet er købt, betalt og sat op på serveren her - Der er bare ingen indexside.... Endnu

Onkel har ihvertilfald en idé om at min lægge min samling af mere eller mindre geniale javascripts ud - Må vi se om han får lov ;-)

:))
Avatar billede fangel Nybegynder
30. august 2002 - 14:28 #42
Nikolajdu => sejt... sider er ikke lavet endnu... com'on(.dk)... det kunne være sjovt at sige "Vi har samlinger af script fra E. rigtige eksperter..." ;)

Morten
Avatar billede nikolajdu Nybegynder
30. august 2002 - 16:01 #43
Absolut - Skal forsøge at presse onkel lidt. Hans Inet er dog nede for tiden, så han er kun online, når han er forbi her :)
Avatar billede fangel Nybegynder
30. august 2002 - 16:04 #44
hvad med hans mail... ;)
Avatar billede nikolajdu Nybegynder
30. august 2002 - 16:05 #45
Avatar billede fangel Nybegynder
30. august 2002 - 16:10 #46
han her jo også en anden... (har jeg også, til når jeg skal i kontakt med ham...) ;)
Avatar billede nikolajdu Nybegynder
30. august 2002 - 16:12 #47
steffen@uncool.dk

:))
Avatar billede fangel Nybegynder
30. august 2002 - 16:13 #48
jep... lige præcist den... ;)
Avatar billede nikolajdu Nybegynder
30. august 2002 - 16:13 #49
:)
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