Hi,

Ben een week geleden begonnen met het bouwen van een website. Tot nu toe gaat alles (zeer) goed, ik ben alleen tegen een probleempje aangelopen.

Aangezien ik m'n MySQL database niet goed aan de praat kreeg, ben ik van plan om geen php scipt te gebruiken. Ik heb deze code op internet gevonen:
<?php
$nickname = strip_tags($_POST['nickname']);
$message = strip_tags($_POST['message']);
echo <<<HERE<b><h3><center>Shout Box</center></h3></b>
<iframe src="shoutbox.txt" width="700" height="250"></iframe>
<form method="post" name="form">Nickname: <input type="text' name="nickname" value="$nickname"><br>
Message: <input type="text" name="message"><input type="submit" value="Submit">
</form>
<a href="shoutbox.php">Refresh</a>
HERE;

if ($_POST['nickname'] && $_POST['message']){
$fp = fopen("chat.txt", "a");
$stuff = $nickname . ": " . $message . "n";
fputs($fp, $stuff);
} else {
echo "Please enter nickname and message.";
}
?>


Nou krijg ik als ik dit in Dreamweaver invoer niet het gewenste resultaat (er komt onder refresh te staan: HERE; if ($_POST['nickname'] && $_POST['message']){ $fp = fopen("chat.txt", "a"); $stuff = $nickname . ": " . $message . "n"; fputs($fp, $stuff); } else { echo "Please enter nickname and message."; } ?>)

Is het mogelijk om in plaats van de naam en tekst-box deze code te gebruiken:
<p>
<textarea id="message" cols="50" rows="5"></textarea>
<br/>Naam:<input type="text" id="name"/><input type="button" value="Verstuur" onclick="send();"/>
</p>


Of raden jullie aan om toch voor een chatbox met MySQL-database te gaan? Ik heb deze 'tutorial' nagelopen, maar kwam in problemen door het hele create-table-gebeuren. M'n myPHP MySQL setup (ik gebruik WAMP) kreeg het niet voor elkaar om de vereiste waarden goed te gebruiken (resulteerde in foutmeldingen met rode driehoeken in de pagina)

Graag hoor ik of jullie tips en suggesties hebben hoe ik dit php-vraagstuk kan oplossen.

Groet,

Wouter
Gebruik dan tenminste nog XML met [php]dom[/php] of [php]simplexml[/php].
Tekstbestanden werken slecht en onhandig.
Verder moet je naar [php]heredoc[/php], [php]if[/php], [php]trim[/php], [php]isset[/php], [php]empty[/php] en [php]operators[/php] kijken.
Zie hier ook de kleurtjes.
Kijk naar de kleurtjes en je ziet dat je opeens een verkeerd quootje gebruikt.
Dus ik kan het beste ook niet dit gebruiken voor een agenda waar iedereen (door in te loggen op de server en het tekstbestandje te openen) de agenda kan aanpassen?
<iframe src="bestanden/agenda.txt" width="100%" height="200"></iframe>
Dit bestandje: bestanden/agenda.txt is gewoon door iedereen te lezen. Daar hoef je niet voor ingelogd te zijn.
Dat begrijp ik, maar mijn plan is om eerst een mededelingenbord/chatbox/chatroom te maken. Aangezien de server die we in het netwerk hebben toch al weinig doet, denk ik dat het opslaan in een tekstbestandje wel moet gaan. (Ik kan dan nog altijd later overstappen naar SimpleXML. Ik twijfel nog of ik hier SimpleCalendar van Fabrizio Albonico voor ga gebruiken.

Heb nu denk ik een verbeterde code:
<?php
$nickname = strip_tags($_POST['nickname']);
$message = strip_tags($_POST['message']);
?>
<<<HERE<b><h3><center>Shout Box</center></h3></b>
<iframe src="chat.txt" width="700" height="250"></iframe>
<form method="post" name="form">
Nickname: <input type="text" name="nickname" value="<?php echo $nickname;?>"><br>
Message: <input type="text" name="message" value="<?php echo $message;?>">
<input type="submit" value="Submit">
</form>
<a href="#">Refresh</a>
<?php
if ($_POST['nickname'] && $_POST['message']){
$fp = fopen("chat.txt", "a");
$stuff = $nickname . ": " . $message . "n";
fputs($fp, $stuff);
} else {
echo "Please enter nickname and message.";
}
?>

De fout op de html pagina is weg, ik krijg alleen nu geen dingen genoteerd in chat.txt

Reageren