php mini forum
Jeg er igang med at lave et lille forum til mit site, som tillader brugeren at lave indlæg med titel og tekst. Hvilket fungerer fint. Problemerne opstår dog, når jeg forsøger at lave en funktion, som kan svare på indlæggene.Jeg har oprettet 2 tables i min database:
threads (id, title, message, author, replies, posted)
replies (id, thread, message, author, posted)
På sitet viser jeg en oversigt af indlæggene med denne bid:
<?php
$sql = mysql_query("SELECT * FROM threads ORDER BY posted DESC");
while($r = mysql_fetch_array($sql)) {
$posted = date("jS M Y h:i",$r[posted]);
echo "<h3><a href='msg.php?id=$r[id]'>$r[title]</a> ($r[replies])</h3><h4>Skrevet af $r[author] - $posted</h4>";
}
?>
Ved at klikke på et indlæg smides man hen på msg.php, som viser indlægget og giver mulighed for at udfylde et svar:
<?php
echo "<a href='thread.php'>Tilbage...</a>";
$sql = mysql_query("SELECT * FROM threads WHERE id = '$_GET[id]'");
while($r = mysql_fetch_array($sql)) {
echo "<h2>$r[title]</h2>";
$posted = "tid";
echo "$r[message]<h4>Skrevet af $r[author] - $posted</h4><hr>";
}
echo "<h3>Svar...</h3>";
$sql = mysql_query("SELECT * FROM replies WHERE thread = '$_GET[id]'");
while($r = mysql_fetch_array($sql)) {
$posted = "tid2";
echo "$r[message]<h4>Skrevet af $r[author] - $posted</h4><hr>";
}
?>
<form action="newreply.php" method="POST">
<input type="hidden" value="<?php echo $_GET[id]; ?>" name="thread"><br>
Besked:<br><textarea cols="60" rows="5" name="message"></textarea><br>
<input type="submit" value="Send">
</form>
Og ved submit sendes man videre til newreply.php:
<?php
$time = time();
$mah = $_SESSION['MM_Username'];
mysql_query("INSERT INTO replies VALUES(NULL,'$_POST[thread]','$_POST[message]','$mah','$time')");
mysql_query("UPDATE threads SET replies = replies + 1 WHERE id = '$_POST[thread]'");
echo "Reply Posted.<br><a href='msg.php?id=$_POST[thread]'>Return</a>";
?>
Problemet lader til at være at svaret aldrig bliver oprettet i databasen. Når jeg manuelt indsætter nogle værdier i databasen, har msg.php intet besvær med at vise dem, hvilket må betyde at der går noget galt i newreply.php. Hvor problemet opstår har jeg besvær med at gennemskue.
Jeg har brug for vejledning.