11. marts 2004 - 15:15Der er
53 kommentarer og 3 løsninger
Script til flash og php
Hej!
Jeg har en php-fil, randombible.php, som er indstillet til atlæse tekst fra en MySQL-database.
Nu skal jeg havde teksten fra php ind i flash, og det skal ske, når man trykker på en knap.
Teksten skal blive vist i et dynamisk tekstfelt med instancenavnet: ord Knappen ligger i første frame, og teksten skal dukke op i anden frame.
Det er sikkert let at lave sådan et script, men jeg kan ikke finde ud af det, og antallet af point er således ikke nødvendigvis et udtryk for sværhedsgraden, men et udtryk for hvor glad jeg vil blive for at få hjælp ;-)
De fleste virksomheder har efterhånden bevist, at AI virker.
Pilotprojekter leverer resultater. Medarbejdere bruger generative AI-værktøjer. Nye use cases dukker op på tværs af organisationen.
..kom lige i tanke om, at hvis det skal være helt godt, så bør du gøre knappen usynlig eller flytte dens script ind i loadVars funktionen. Så kommer brugeren nemlig ikke galt afsted, hvis han klikker på knappen inden php-teksten er hentet ind:
minKnap._visible = false; minTekst = new LoadVars(); minTekst.onLoad = function() { trace("teksten er hentet"); minKnap._visible = true; } minTekst.load("randombible.php");
Du skal altid tildele din tekst et variabelnavn. Dvs. at du SKAL skrive citat= (eller et andet variabelnavn)i php-filen.
Ud fra et usability-synspunk, er det ikke nogen god ide at hente teksten i samme moment som der trykkes på knappen. Der bliver et lille delay (afhængigt af brugerens opkobling) fra der trykkes til der sker noget. Når det er sagt, kan vi bare lave scriptet en smule om for at det rent faktisk vil virke på den måde: (har ikke selv testet, så kom endelig med feedback hvis det ikke fungerer!)
minTekst = new LoadVars(); minTekst.onLoad = function() { trace("teksten er hentet"); ord.text = citat; }
Øv, det virker stadig ikke. Og nu er citat= ellers blevet tilføjet.
"citat=$source: $content\n";
Kan der være noget galt med scriptet i Flash? Eller er du ret sikker på, at det må være php'en, det er galt med? (Php'en virker, når den åbnes i en browser - så kommer der et tilfældigt vers ind).
... en tilføjelse. I scriptet skriver du blandt andet
minTekst = new LoadVars(); minTekst.onLoad = function() { trace("teksten er hentet"); ord.text = citat; }
Jeg har ikke nogen tekst eller knap med instance-navnet minTekst. Skal jeg have det? Og så skal teksten ikke vises før i anden frame. Er det medtaget i scriptet?
minTekst er et loadVars-objekt, der holder teksten.
Hvis du smider et link til php-filen (altså når den tilgås fra serveren), kan jeg lige tjekke om det ser korrekt ud.
...og når du tester i Flash, skulle ovenstående script gerne udskrive "teksten er hentet", hvis teksten vitterlig er hentet ind. Tjek lige det, inden vi piller mere med scriptet....
Hej igen. Jeg forstår ikke, hvad du mener, når du skal have et link til php-filen når den tilgås fra serveren. Her er et link, så du kan se php i en browser:
include ("/home/user1009/jesusnet.dk/admin/include/setup.php3");
include ("/home/user1009/jesusnet.dk/admin/include/database.php3");
mysql_connect($db_hostname, $db_username, $db_password) or die ("Ooops.");
$date = date("Y-m-d");
$query = "select * from $db_database.bibelord_2 order by rand() limit 1";
$rs = mysql_query($query);
$numrows = mysql_numrows($rs);
if ($numrows>0) {
$content = mysql_result($rs, 0, "content");
$source = mysql_result($rs, 0, "source");
//$dayname = mysql_result($rs, 0, "dayname");
//if ($dayname != "")
// $source = "$source - $dayname";
print "citat=$source: $content\n";
}
?>
Når jeg tester i flash, får jeg besked om, at den ikke kan finde filen randombibleord. Det er klart, for den ligger ikke lokalt. Når jeg oploader og lægger swf-filen i samme mappe som php-en, så får jeg beskeden undefined i det felt, hvor versene skulle dukke op.
Vi nærmer os bestemt en løsning. Jeg kan nu se teksten, når jeg trykker på min knap.
Der er nu kun to problemer tilbage: 1. På min computer (lokalt) får jeg et nyt vers, når jeg trykker igen. Det er meningen. Men når den ligger på serveren, er det det samme vers, der kommer ind. http://jesusnet.dk/budskab/andagtsrum.php (yderst til højre)
2. Det ligger under en mask, og derfor har jeg fortalt den, hvilke characters, den skal kende. incl. øåæ, men det bliver ikke vis på min computer lokalt. (Skal ikke sige, om det gør online, for jeg kun fået et enkelt vers frem, og det var tilfældigvis uden æøå).
... efterhånden er jeg godt tilfreds med, at jeg gav de 100 point, for det er vist alligevel sværere, end jeg troede ...
1: smid en tilfældig variabel med i kaldet til php-siden. Browsere (og servere for den sags skyld har det med at cache dokumenter, så vi skal narre dem til at tro det er en ny side hver gang:
Nu er jeg ikke så troende at det gør noget - (Men mindre folk har send mig et stort pengebeløb) - Greed - ups vidst en af de syv dødssynder.
Anyway sjov og spændende idé og rart at se kirken udvide sine horisonter lidt. Lavede faktisk julekalender for Dansk Bibel selskab for nogle år siden. Arthur.
Husk så i forbindelse med påskequizzen at nævne at skærtorsdag er grunden til at vi spiser oblater - nadverens indførelse og renselses dag - ;-)
Jo, du skal bare lukke din browser og åbne igen. Min havde også først gemt en gammel version af swf'en. (Og jo, ovenstående indeholder også en vis portion ønsketænkning ...)
Det var dog mystisk. Det virker hos mig. Og jeg har lige spurgt en anden, og det virker også hos ham. Jeg lader det ligge lidt ... hvis I begge skriver et svar, så vil jeg forsøge at give jer begge point.
special _k melder sig efter overstået frokost. Kommer med kommentaren: "Wauuw hvor i snakker :o)"
50 point er også fint med mig, det er jo ikke pointene vi er her for....
Forresten virker det heller ikke med danske bogstaver hos mig - og nej, jeg skal ikke spille klog på encodning i php - troede nemlig man kunne nøjes med: urlencore(mysql_result($rs, 0, "source")); - i stedet for: utf8_encode(mysql_result($rs, 0, "source"));
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.