PDA

Volledige versie bekijken : Gastenboek kent geen enter...


thebeatman
%Europe/Berlin %626 %2005, 15:02
Beste mensen.

Ik heb een gastenboek in mijn flash site die loopt via php. Alles werkt maar er zijn een paar probleempjes. Hij kent geen enters. Als je dus bijv:

Bla Bla

Groeten,
Henk

Zou doen. Dan krijg je in het gastenboek:

BlaBlaGroeten,Henk

En hij stuurt geen mail als er iemand in het gastenboek geschreven heeft. Weet iemand misschien waar dit aan kan liggen? Hieronder mijn php script.


?
if (!isset($name) || !isset($email) || !isset($message) || empty($name) || empty($email) || empty($message)) {
print "&result=Fail";
print "&errorMsg=" . urlencode("Input required for all fields.");
exit;
}

$email = strtolower($email);

addentry($name, $email, $message);

function addentry($name, $email, $message) {

$posted = strftime("%D %I:%M %p");

$message = stripslashes($message);

$file = fopen('entry.txt', 'a+');

if (!$file) {
print "&result=Fail";
print "&errorMsg=" . urlencode("Could not open entry.txt file. Change CHMOD levels to 766.");
exit;
}

fputs($file, "<font color=\"#000000\">Naam:</font> $name\n<font color=\"#000000\">E-mail:</font> <font color=\"#CCCCCC\"><u><A href=\"mailto:$email\">$email</A></u></font><br>\n<font color=\"#000000\">Geplaatst:</font> $posted\n<font color=\"#000000\">Bericht:</font> $message\n\n");
fclose($file);

// Send admin an email when new entry occurs
// mailAdmin($name, $email);
}

function mailAdmin($name, $email) {
$mailTo = "Naam <naam@provider.nl>";
$mailFrom = "From: Guestbook <noreply@email.com>";
$mailSubject = "Nieuw bericht in het gastenboek";
$mailBody = "$name ($email) heeft een bericht geplaatst in je gastenboek\n\nbekijk het op http://www.<adres>";
mail($mailTo, $mailSubject, $mailBody, $mailFrom);
}

print "&result=okay";
exit;

?>

Groeten,
Ronald

EDIT: Voor een voorbeeld kun je kijken op:

www.djendiscoverhuur.nl/thebeatman/index3.php

Cowerd
%Europe/Berlin %643 %2005, 15:26
Hij kent wel degelijk een enter;)
maar html herkent die enter niet..

het is de \n of de \r!
misschien moet je even bij F1 zoeken hoe je die kan veranderen in een <br>;)

Ea.Z
%Europe/Berlin %691 %2005, 16:35
hoezo? post je van flash naar php, en geef je vanuit php je txt in flash weer? want dan moet je volledig niets replacen...
als je in php weergeeft moet je char(10) vervangen door <br />
hoe dat juist in php gaat weet ik niet...
ik hoop dat je hier iets meer mee weet..;)

thebeatman
%Europe/Berlin %692 %2005, 16:36
Maar het loopt niet via html. Hij slaat alles op in een .txt bestand. Of is dit een domme opmerking?

thebeatman
%Europe/Berlin %693 %2005, 16:39
Je vult alles in in flash en via php word het opgeslagen in een .txt bestand. En zover ik weet word dan de text uit het .txt bestand geladen in flash.

Ea.Z
%Europe/Berlin %700 %2005, 16:49
de char(10) staat er dan normaal ook in..
heb je een voorbeeld online staan voord de txt, en de postswf, en de showswf? (post versturen vanuit flash, en posts weergeven in flash) mss dat we daar iets kunnen zien?

thebeatman
%Europe/Berlin %704 %2005, 16:55
Ik zal wel ff de .fla en .swf maken zet ik hem zo online

thebeatman
%Europe/Berlin %707 %2005, 16:58
Hier staat alles in:

http://www.djendiscoverhuur.nl/flashfocus/

Cowerd
%Europe/Berlin %711 %2005, 17:04
enter
enter\n
enter\r
enter<br>
enter

Heb ik in gevoerd, en alleen de <br> doet het.. had ik wel verwacht..

thebeatman
%Europe/Berlin %712 %2005, 17:06
en wat moet ik nou doen dan?

Cowerd
%Europe/Berlin %717 %2005, 17:13
ja ik denk iets van:
this.createTextField("my_txt", this.getNextHighestDepth(), 10, 10, 320, 22);
my_txt.autoSize = true;
my_txt.text = "dog@house.net";

var symbol:String = "@";
var symbolPos:Number = my_txt.text.indexOf(symbol);
if (symbolPos>-1) {
my_txt.replaceText(0, symbolPos, "bird");
} else {
trace("symbol '"+symbol+"' not found.");
}
Dit komt uit de F1, dat even snappen:)

en doen dat flash \n en \r in <br> veranderd..
ik denk dat het zo werkt, want een soort gelijk gastenboek dat ik in php had gemaakt loste het probleem op

thebeatman
%Europe/Berlin %721 %2005, 17:19
En dit moet ik dan zetten bij het actionscript van de view?

Cowerd
%Europe/Berlin %725 %2005, 17:24
je moet de variabele van de tekst die je inlaad op het laatst op die manier veranderen denk ik..

thebeatman
%Europe/Berlin %766 %2005, 18:24
En dat moet ik in flash doen toch? Misschien een domme vraag maar zo goed snap ik flash ook nog niet. Ik wil anders wel ff de actionscripts posten.

Cowerd
%Europe/Berlin %811 %2005, 19:27
Dat lijkt me wel een goed plan ja:)

Voetsjoeba
%Europe/Berlin %825 %2005, 19:48
Begin eens met het bericht niet aan te passen in PHP met bv stripslashes, en het rauw op te slaan zoals je het gekregen hebt. Die mail wordt niet verstuurd omdat je mailAdmin uitgecomment hebt. En voor zover ik kan zien uit je PHP sla je wel degelijk HTML op. Misschien moet je eens kijken naar de functie nl2br.

josko
%Europe/Berlin %696 %2005, 16:43
voor de enterrs kan je ook doen.


nl2br($tekst);

zet ie br tags neer *-)

Koen!
%Europe/Berlin %705 %2005, 16:55
Ik gebruik in mijn gastenboek dit:

<?php
$geenenters="blablablabla
blabla";

$welenters = str_replace(Chr(13), "<br />", $welenters);
echo $welenters;
?>