PDA

Volledige versie bekijken : Refresh van mijn Flash Guestbook


bracke
%Europe/Berlin %376 %2005, 10:02
Hi All,

Mijn 1e forum-post ooit. Lets see if I can get some help from here...


Ik heb een website gemaakt met een guestbook. Deze guestbook gedraagt zich vreemd. Je kan heb alvast bezichtigen op:

www.masada-restaurant.be - meningen

Ik werk met flash, php en een simpel txt-file. Erg gemakkelijk zo lijkt. Als ik de movie run in Macromedia Flash zelf, dan werkt deze PERFECT. Indien ik hem run in de html-file niet.

Probleem: Als ik een post doe, en ik ga weer naar 'bekijken', dan zie ik die post NIET. Sluit ik de explorer, en open hem dan terug, dan zie ik die post WEL. De post wordt dus degelijk verstuurd maar ik kan als het ware niet Refreshen.

Code: ik heb op de 'bekijken'-button een loadVariablesNum geplaats en ik dacht dat daar ergens het probleem zit. Ik vind de oplossing gewoonweg NIET!

on (release) {
lowlimit = 0;
highlimit = 10;
loadVariables("http://www.bracke.uwhost2.net/test/guestbook.php?lowlimit="+lowlimit+"&highlimit="+highlimit, "");
gotoAndStop("bekijken");
}

Aangezien ik al uren mijn hoofd heb zitten kraken, heb ik dus besloten eens een forum te bezoeken. Ik ben echt benieuwd of IEMAND mij kan helpen!!!

Alvast tot ziens!!!!!!!!!!

Jordy
%Europe/Berlin %382 %2005, 10:10
var random:Number = Math.round(Math.random()*1000);
LoadVars("http://www.bracke.uwhost2.net/test/guestbook.php?number="+random);


Zo genereert hij steeds een random cijfer achter de url en laadt hij steeds de allernieuwste pagina. :)
Dus wordt de url bv http://www.bracke.uwhost2.net/test/guestbook.php?number=397
Hij laadt gewoon wel de pagina "guestbook.php" maar hij denkt dat het een andere pagina is dan die hij al een keer geladen heeft. Dus laadt hij de pagina opnieuw. Behalve als het getal in de url het zelfde is als dat hij al een keer geladen heeft. Maar die kans is nihil [^]

Roenes
%Europe/Berlin %577 %2005, 14:51
Jordy, het idee is goed, maar het gebruik van LoadVars niet ;)

var lv = new LoadVars();
lv.onLoad = function(success)
{
if(success)
{
//Invulling
}
else
{
//Doe iets anders, het laden is mislukt
}
}
lv.load("linkzooi");

bracke
%Europe/Berlin %585 %2005, 15:03
Het idee van Jordy werkt perfect, bedankt!!!

Roenes, jou idee werkt niet bij me, omdat ik het niet zo zeer door heb. Als je het hier eens wat verder wil uitleggen, dan zou ik dat fantastisch vinden...

Bedankt voor alle hulp! Ik ben vastberaden om dit forum meer te gebruiken. Hopelijk kan ik ook eens iemand helpen....

Cya all!!!!

Jordy
%Europe/Berlin %589 %2005, 15:09
Jordy, het idee is goed, maar het gebruik van LoadVars niet ;)

var lv = new LoadVars();
lv.onLoad = function(success)
{
if(success)
{
//Invulling
}
else
{
//Doe iets anders, het laden is mislukt
}
}
lv.load("linkzooi");


Hij zegt wel dat mijn methode werkt. Of zou hij stieken nog loadVariables hebben gebruikt..

Iig bedankt voor de verbetering... Als ik die verbetering zo zie denk ik weer: "crap, dat wist ik." :P

Roenes
%Europe/Berlin %593 %2005, 15:14
Het idee wat jordy aandraagt is een cache killer en is op zich genoeg in jouw eigen code als je dat gewoon achter de url plakt (wat je waarschijnlijk gedaan hebt). Aangezien hij LoadVars aanraad (waarin hij gelijk heeft), raad hij het fout aan en daarom mijn reactie. :)

Roenes, jou idee werkt niet bij me, omdat ik het niet zo zeer door heb. Als je het hier eens wat verder wil uitleggen, dan zou ik dat fantastisch vinden...LoadVars, even in een notendop: LoadVars wordt tegenwoordig gebruikt voor het inladen van data buiten flash (en dan geen xml). Waarom LoadVars? Omdat je meer controle hebt over het laad proces. Aangezien LoadVars een onLoad functie heeft die getriggerd wordt als je data binnen is, kun je op dat moment iets met je gegevens doen. loadVariablesNum en loadVariables heeft deze functionaliteit niet en die moet je daarvoor zelf maken.

Alles leuk en aardig, maar hoe gebruik je LoadVars? (wederom in een notendop, uitgebreidde uitleg is te vinden in de help van flash)

Voordat je LoadVars kan gebruiken moet je eerst een instantie van die klasse maken net zoals je van bijna ieder andere klasse doet:
var lv = new LoadVars();That's all. :)

Maar nu heb je alleen een instantie, maar wordt er nog niets geladen. Nou doen we eerst het volgende: voordat je uberhaupt iets gaat inladen schrijven we een functie die uitgevoerd moet worden als de data binnen is. Deze functie koppelen we aan het LoadVars object:

lv.onLoad = function(success)
{
if(success)
{
// Data is goed ingeladen. In deze if kun je de data verwerken
}
else
{
// Data is niet juist ingeladen. Je kunt hier een foutmelding laten zien.
}
}
De onLoad functie accepteerd 1 parameter (die je zelf een naam geeft, ik gebruik success). Deze parameter geeft true of false terug, afhankelijk van het feit of de data geladen is. Dit check je in de if(success). Als die true is, dan kun je je externe vars uitlezen, aanpassen etc etc. Als er false uitkomt, ging er iets fout tijdens het laden en dat kun je de gebruiker melden.

Nu je deze functie gemaakt hebt, kun je beginnen met het inladen van data:
lv.load("http://www.domein.nl/linkje/data.txt");als link geef je uiteraard de juiste link naar het bestand. Dit kan een absolute of een relatieve link zijn. Na de load is het een kwestie van afwachten tot je data binnen is. :)

Ik hoop dat deze uitleg iets duidelijk maakt en anders helpt de help van flash je verder op weg. Heb je nog specifieke vragen, laat het gerust even horen hier op het forum :)

Roenes
%Europe/Berlin %594 %2005, 15:15
Hij zegt wel dat mijn methode werkt. Of zou hij stieken nog loadVariables hebben gebruikt..Daar ga ik voor, ik denk dat ie alleen de cachekiller erin geknald heeft :p

bracke
%Europe/Berlin %303 %2005, 08:17
Bedankt voor de uitleg!! Ik leer hier dus echt bij.... :D

Groetjes!!!