Volledige versie bekijken : Berichten laden nadat hij ze geschreven heeft!
nicky86
%Europe/Berlin %613 %2006, 14:42
ik heb weer een ander probleempje.
ik heb een gastenboek gemaakt met php en txt. nu werkt het (gelukkig). maar heb nog een probleempje.
ik wil, dat als ik in het gastenboek geschreven heb, hij de berichten laadt. nu doet hij namelijk dit:
- Je vuld je gegevens in en je bericht
- Drukt op verzend, stuurd de gegevens naar een PHP bestand en gaat direct naar frame 2
- Waar hij vervolgens weer het txt bericht laad waar het PHP bestand net op geschreven zou moeten hebben.
maar een probleem, hij gaat sneller naar het tweede frame, dan het PHP bestand het txt bestandje heeft herschreven. dus wat krijg je dan? dat hij eerst naar frame 2 gaat, het txt bestand laad voordat het PHP bestand klaar is! en het nieuwe berichtje niet laad zien!
hoe los ik dit nu weer op? alvast bedankt.
123GoToAndPlay
%Europe/Berlin %620 %2006, 14:53
weet dit niet meer exact maar sendAndLoad en wellicht een flag-variable (bijv txtData) in je php. Flag-variable set je bijv. op ok als de text is weggeschreven.
In flash
if(txtData == ok ) {
this.gotoAndPlay(2);
}
nicky86
%Europe/Berlin %482 %2006, 11:34
oke, dat zet ik in mijn actionscript... maar wat voer ik dan in in mijn php script?
bedankt!
nicky86
%Europe/Berlin %484 %2006, 11:38
nu heb ik het zo in mijn actionscript...
zend.onRelease = function()
{
sendMessage();
if(txtData == ok ){
this._parent.gotoAndPlay(2);
}
}
var myLV:LoadVars = new LoadVars();
function sendMessage():Void
{
myLV.zendnaam = naam.text;
myLV.zendemail = email.text;
myLV.zendwebsite = website.text;
myLV.zendbericht = bericht.text;
myLV.sendAndLoad("zend.php", myLV, "POST");
}
myLV.onLoad = function()
{
status.text = this.error;
}
nicky86
%Europe/Berlin %785 %2006, 18:51
kan niemand mij helpen of heeft niemand een idee???
please, ik kom er echt nie uit!!!
TheZwier
%Europe/Berlin %788 %2006, 18:55
zend.onRelease = function()
{
sendMessage();
}
var myLV:LoadVars = new LoadVars();
function sendMessage():Void
{
myLV.zendnaam = naam.text;
myLV.zendemail = email.text;
myLV.zendwebsite = website.text;
myLV.zendbericht = bericht.text;
myLV.sendAndLoad("zend.php" + Math.random(), myLV, "POST");
}
myLV.onLoad = function()
{
if(this.txtData == 'ok'){
this._parent.gotoAndPlay(2);
}
status.text = this.error;
}
En in je PHP moet je dan zorgen dat er dit bij je output erbij komt:
&txtDate=ok&
nicky86
%Europe/Berlin %466 %2006, 11:11
hey bedankt voor je reactie!
maar nou weet ik niet hoe ik &txtDate=ok& in mijn php script zet. kijk, omdat ik een gastenboek schrijf, is mijn output alleen een text bestand. nou heb ik wel al
print "&txtDate=ok&" en
echo "&txtDate=ok&"
geprobeert, maar dan schrijft hij niet in het gastenboek, en hij gaat niet naar frame 2
hoe zet ik dat dan in mijn php script? alvast bedankt!
TheZwier
%Europe/Berlin %467 %2006, 11:13
hey bedankt voor je reactie!
maar nou weet ik niet hoe ik &txtDate=ok& in mijn php script zet. kijk, omdat ik een gastenboek schrijf, is mijn output alleen een text bestand. nou heb ik wel al
print "&txtDate=ok&" en
echo "&txtDate=ok&"
geprobeert, maar dan schrijft hij niet in het gastenboek, en hij gaat niet naar frame 2
hoe zet ik dat dan in mijn php script? alvast bedankt!
Dan hebben we wel je .php nodig.. Want in principe is er niks mis met die echo..
nicky86
%Europe/Berlin %468 %2006, 11:14
http://www.cvsg.nl/zend.txt
dit is mijn php script zoals hij ook online staat, maar dan als .php ;)
yrm
%Europe/Berlin %551 %2006, 13:14
heey,
je hebt het bijna goed paar dingetjes:
<?php
$zendnaam= $_POST['zendnaam'];
$zendemail= $_POST['zendemail'];
$zendwebsite= $_POST['zendwebsite'];
$zendbericht= $_POST['zendbericht'];
$filename = "GuestBook.txt";
$fp = fopen( $filename,"r");
$OldData = fread($fp, 80000);
fclose( $fp );
$OldData = eregi_replace('naame=', '',$OldData);
$Today = (date ("l dS of F Y ( h:i:s A )",time()));
$Input = "naame=Naam: <b>$zendnaam</b><br>Email: $zendemail</b><br>Website: <a href='$zendwebsite'>ga naar de website</a></b><br>Berichtje: <b>$zendbericht</b><br><i><font size=\"-1\">Date: $Today</font></i><br><img src='http://www.cvsg.nl/Nicky/krul2.swf'><br><br><br>";
$New = "$Input$OldData";
$fp = fopen( $filename,"w");
if(!$fp) die("&GuestBook=cannot write $filename ......&");
fwrite($fp, $New, 800000);
fclose( $fp );
$filename = "GuestBook.txt";
$fp = fopen( $filename,"r");
$Data = fread($fp, 800000);
fclose( $fp );
echo "&txtDate=ok&"
?>
$filename geef je 2 keer dezelfde waarde en kan je dus weglaten de 2e keer
onder die 2e $filename lees je je txt nog een keer maar doet er niks mee.. waarom?
als je het niet gebruikt kan je hem weghalen en dan nadat er in je txt is geschreven txtDate=ok "echo'en" en dan wordt dit ehm:
<?php
$zendnaam= $_POST['zendnaam'];
$zendemail= $_POST['zendemail'];
$zendwebsite= $_POST['zendwebsite'];
$zendbericht= $_POST['zendbericht'];
$filename = "GuestBook.txt";
$fp = fopen( $filename,"r");
$OldData = fread($fp, 80000);
fclose( $fp );
$OldData = eregi_replace('naame=', '',$OldData);
$Today = (date ("l dS of F Y ( h:i:s A )",time()));
$Input = "naame=Naam: <b>$zendnaam</b><br>Email: $zendemail</b><br>Website: <a href='$zendwebsite'>ga naar de website</a></b><br>Berichtje: <b>$zendbericht</b><br><i><font size=\"-1\">Date: $Today</font></i><br><img src='http://www.cvsg.nl/Nicky/krul2.swf'><br><br><br>";
$New = "$Input$OldData";
$fp = fopen( $filename,"w");
if(!$fp) die("&GuestBook=cannot write $filename ......&");
fwrite($fp, $New, 800000);
if(fwrite) echo "&txtDate=ok&";
fclose( $fp );
?>
ook in je as was nog een foutje, if(this.txtData == ok) ok stond 'ok' haal die ' weg en het werkt:
zend.onRelease = function()
{
sendMessage();
}
var myLV:LoadVars = new LoadVars();
function sendMessage():Void
{
myLV.zendnaam = naam.text;
myLV.zendemail = email.text;
myLV.zendwebsite = website.text;
myLV.zendbericht = bericht.text;
myLV.sendAndLoad("zend.php" + Math.random(), myLV, "POST");
}
myLV.onLoad = function()
{
if(this.txtData == ok){
this._parent.gotoAndPlay(2);
}
status.text = this.error;
}
nicky86
%Europe/Berlin %577 %2006, 13:51
ik zal het even gaan proberen, bedankt in ieder geval...
en die tweede $filename was er omdat ik erna nog een stuk wou gaan schrijven dat hij het aantal berichten moest gaan tellen, zodat ik dat erna nog in zou kunnen zetten. maar aangezien ik ineens hierop stuitte moest ik dat eerst afmaken!
maar ik zal het laten weten of het nu werkt! bedankt!
nicky86
%Europe/Berlin %588 %2006, 14:08
nope, ik snap er echt helemaal niets meer van... hij schrijft niet en hij gaat ook niet naar frame 2...
als je mijn .swf wil zien
http://www.cvsg.nl/Nicky/guestbook.swf
als je mijn .fla wil zien
http://www.cvsg.nl/Nicky/guestbook.rar
ik zie ook echt niet wat ik fout doe.
yrm
%Europe/Berlin %637 %2006, 15:17
snap niet waarom hij het niet doet..
bij mij werkt het dus heb ff de fla en mij php in rar gedaan dan kan je kijken..
ojaik heb de random achter je php ietsje aangepast als je vragen hebt of iets niet snapt hoor ik het wel!
greetz
nicky86
%Europe/Berlin %662 %2006, 15:54
heb je hem ook online getest? en schrijft hij bij jou wel? bij mij nog steeds niet, ik snap echt niet waarom...
de actionscript ziet er nou trouwens wel beter uit zo... maar wat doet die random precies?
yrm
%Europe/Berlin %682 %2006, 16:23
ik zat na te denken en wat ik heb gedaan met die Math.random() is niet echt extra ofso eigenlijk niet nodig :S
maar Math.random() geeft een getal tussen de 0 en 1 en als je dus "zend.php?" + Math.random() neerzet zorg je ervoor dat hij nooit dezelfde php inlaad maar elke keer een "andere" bijv zend.php?0.119184053037316 dit zorgt ervoor dat hij geen oude data laad maar telkens nieuwe(weet niet 100%cker of ik het goed uitleg)
ik heb hem niet online getest maar locaal op mn xampp server.
nicky86
%Europe/Berlin %685 %2006, 16:27
mmm, maar ik heb hem zo precies online gezet en dit komt eruit:
http://www.cvsg.nl/Nicky/gbook/guestbook.swf
nog steeds niets werkends zoals je ziet... ligt het anders aan de browser, als hij het lokaal wel doet?
yrm
%Europe/Berlin %718 %2006, 17:14
ik ben egt niet goed bezig maaja..
in je as.. staat myLV.sendAndLoad("zend.php"+randomint, myLV, "POST");
zet achter die zend.php is een ? dus:
myLV.sendAndLoad("zend.php?"+randomint, myLV, "POST");
als hij het dan nog niet doet weet ik het ook niet meer.
nicky86
%Europe/Berlin %907 %2006, 21:46
jaaah, hij werkt hij werkt hij werkt!!!!!
bedankt!!
vBulletin® v3.8.1, Copyright ©2000-2012, Jelsoft Enterprises Ltd.