27. juni 2004 - 16:01
Der er
4 kommentarer og
1 løsning
Hvordan laver man en tagwall/gæstebog?
Jeg kunne nemt tage den nemme løsning og tage en eller anden hjælpegæstebog. Men jeg vil hellere lave min egen. Så hvordan gør man det? Hvordan programmerer man en gæstebog i flash?
Håber du kan hjælpe mig!
- Morten
_k
Nybegynder
27. juni 2004 - 19:38
#1
Du bruger LoadVars objektet til at hente dine indførsler ind med, og LoadVars.sendAndLoad til at sende/skrive nye indførsler og opdatere "væggen" med. I princippet relativt lige til i Flash.
Det er serverside alt det lidt sværere sker. Her skal du vælge om du vil have dine poster i en database i et tekst, eller måske i et xml-dokument? Princippet er, at du bruger en asp/php/cfs/cgi/whatever-side til at hente alle dine poster og formatere dem til forståelig Flash-syntaks som. En anden side bruger du så til at skrive nye indførsler ned i din database/tekstdokument. Altså en side som opfanger det du kyler ud af Flash igen, og bearbejder det til noget din webserver kan stå inde for.
...that's it.
Hvis du bruger php som serverside, så kan du måske bruge følgende vejledning:
1. lav en textfil med navnet 'guestbook.txt'
2. lav en phpfil med navnet 'guestbook.php' og læg følgende kode i den:
<?php
$newpost = $_REQUEST["newpost"];
$filename = "guestbook.txt";
$handle = fopen ($filename, "r");
$contents = fread ($handle, filesize ($filename));
fclose ($handle);
if($newpost!=""){
$handle = fopen ($filename, "w");
fwrite($handle, urldecode($newpost).$contents);
fclose ($handle);
}
echo "newcontent=".urlencode($newpost.$contents);
?>
Måske skal stien til 'guestbook,txt' defineres til fx:
$filename = "C:\minmappe\guestbook.txt";
3. lav en flashfil med navnet guestbook.fla / .swf / .html og læg følgende kode i den i det første frame:
function hentgem(content){
loadtext = new LoadVars();
loadtext.newpost=content;
loadtext.sendAndLoad("guestbook.php?random="+random(1000000), loadtext, "POST");
loadtext.onLoad=function(success){
if(success) { guesttf.htmlText=unescape(loadtext.newcontent); }
}
}
this.createTextField("guesttf",1,0,0,200,200);guesttf.html=true;guesttf.border=true;
this.createTextField("inputtf",2,0,225,200,25);inputtf.border=true;inputtf.type = "input";
this.createEmptyMovieClip("knap",3);knap._x=225;knap._y=225;knap.beginFill("0xff0000",100);knap.lineTo(25,0);knap.lineTo(25,25);knap.lineTo(0,25);knap.lineTo(0,0);
knap.onRelease = function(){
hentgem(escape(inputtf.text+"<br><br>"));
}
hentgem("");