Shoutbox maken met PHP zonder MySQL-database
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:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?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.";
}
?>
$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
dom of simplexml.
Tekstbestanden werken slecht en onhandig.
Verder moet je naar heredoc, if, trim, isset, empty en operators kijken.
Zie hier ook de kleurtjes.
Gebruik dan tenminste nog XML met Tekstbestanden werken slecht en onhandig.
Verder moet je naar heredoc, if, trim, isset, empty en operators kijken.
Zie hier ook de kleurtjes.
Kijk naar de kleurtjes en je ziet dat je opeens een verkeerd quootje gebruikt.
<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.
Heb nu denk ik een verbeterde code:
Code (php)
1
2
3
4
2
3
4
<?php
$nickname = strip_tags($_POST['nickname']);
$message = strip_tags($_POST['message']);
?>
$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=""><br>
Message: <input type="text" name="message" value="">
<input type="submit" value="Submit">
</form>
<a href="#">Refresh</a>
Code (php)
De fout op de html pagina is weg, ik krijg alleen nu geen dingen genoteerd in chat.txt
Gewijzigd op 13/04/2011 12:49:10 door Wouter Kolk