Wolphie Posted November 24, 2007 Share Posted November 24, 2007 Ok, so i'm writing a tutorial system with comments etc... But i'm having trouble getting the comments to work, basically what i want to do is: Someone selects a tutorial, and within that same tutorial page it will list the comments assigned to the tutorials ID. The comment form will be displayed beneath the comments them selves and when a comment is submitted i want that to go back to the tutorial page which the comment was added to. This is what i have so far: <?php $host = 'localhost'; $user = 'root'; $pass = ''; $db = ''; $con = mysql_connect($host, $user, $pass); if($con) { mysql_select_db($db); } else { die('Error: ' . mysql_error()); } $id = $_REQUEST['id']; if(isset($id)) { $view_tut = mysql_query(sprintf("SELECT * FROM `tutorial` WHERE `ID` = '%s'", $id)) or die('Error: ' . mysql_error()); while($row = mysql_fetch_array($view_tut)) { echo ' <table cellpadding="0" cellspacing="0"> <tr> <td><a href="view.php?id=' . $id . '">' . $row['title'] . '</a><span style="padding-left: 15px; font-size: 10px;">- ' . $row['author'] . '</span></td> </tr> <tr> <td style="font-size: 10px; font-style: italic;">Posted on: ' . $row['date'] . '</td> </tr> <tr> <td style="padding-top: 10px;">' . $row['content'] . '</td> </tr> </table> '; } $comments = mysql_query(sprintf("SELECT * FROM `comments` WHERE `tut_id` = '%s' ORDER BY `ID` DESC LIMIT 20", $id)) or die('Error: ' . mysql_error()); echo ' <table cellpadding="0" cellspacing="0" style="margin-top: 50px;" width="200"> <tr> <td style="font-size: 20px; font-style: bold;"><u>Comments</u></td> </tr> </table> '; while($row = mysql_fetch_array($comments)) { echo ' <table cellpadding="0" cellspacing="0" width="200"> <tr> <td style="padding-top: 15px;">' . $row['title'] . '<span style="padding-left: 15px; font-size: 10px;">- ' . $row['author'] . '</span></td> </tr> <tr> <td style="font-size: 10px; font-style: italic;">Posted on: ' . $row['date'] . '</td> </tr> <tr> <td style="padding-top: 10px; padding-bottom: 5px; border-bottom: 1px solid #CCCCCC;" width="100%">' . $row['content'] . '</td> </tr> </table> '; } switch($_GET['do']) { default: echo ' <form action="?do=addcomment" method="post"> <table cellpadding="0" cellspacing="0" style="margin-top: 50px;" width="200"> <tr> <td style="font-size: 20px; font-style: bold;">Add Comment</td> </tr> <tr> <td style="padding-top: 15px;">Title:</td> </tr> <tr> <td><input type="text" name="title" /></td> </tr> <tr> <td>Author:</td> </tr> <tr> <td><input type="text" name="author" /></td> </tr> <tr> <td>Content:</td> </tr> <tr> <td><textarea cols="50" rows="10" name="content"></textarea></td> </tr> <tr> <td><input type="submit" value="Add" /></td> </tr> </table> </form> '; break; case 'addcomment': $title = mysql_escape_string(htmlspecialchars(stripslashes($_POST['title']))); $author = mysql_escape_string(htmlspecialchars(stripslashes($_POST['author']))); $date = mysql_escape_string(date('m-d-Y')); $content = mysql_escape_string(nl2br(htmlspecialchars(stripslashes($_POST['content'])))); $tut_id = mysql_escape_string($id); mysql_query(sprintf("INSERT INTO `comments` ( `title`, `author`, `date`, `content`, `tut_id` ) VALUES ( '%s', '%s', '%s', '%s', '%d' )", $title, $author, $date, $content, $tut_id)) or die('Error: ' . mysql_error()); echo '<head><script type="text/javascript">window.location = "view.php?id=' . $id . '";</script></head>'; break; } } else { $view = mysql_query(sprintf("SELECT * FROM `tutorial` ORDER BY `ID` DESC")) or die('Error: ' . mysql_error()); while($row = mysql_fetch_array($view)) { echo ' <table cellpadding="0" cellspacing="0"> <tr> <td style="padding-top: 15px;"><a href="view.php?id=' . $row['ID'] . '">' . $row['title'] . '</a><span style="padding-left: 15px; font-size: 10px;">- ' . $row['author'] . '</span></td> </tr> <tr> <td style="padding-top: 10px;">' . $row['description'] . '</td> </tr> </table> '; } } ?> Quote Link to comment Share on other sites More sharing options...
0x00 Posted November 24, 2007 Share Posted November 24, 2007 Once the comment has successfully been posted into the database, (you should already have the tutorial id), use the id to display the appropriate page. This can be done by including the tutorial page used to display it, or by redirecting using 'header()', http://uk3.php.net/manual/en/function.header.php Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.