Hey. I'm totally new to commenting scripts, but I'm trying to get one to work and it's giving me a hard time. I'd appreciate any help!
Whenever someone posts a comment on my web-site and puts a line break, instead of inserting a line break the script actually prints <br /> on the site instead. Annoying. Here's the script I'm using:
<?
//connect to your database
require_once($_SERVER['DOCUMENT_ROOT'].'/source/scripts/comments/config.php');
//query comments for this page of this article
$inf = "SELECT * FROM `comments` WHERE `page` = '".STRIPSLASHES($_SERVER['REQUEST_URI'])."' ORDER BY `time` ASC";
$info = mysql_query($inf);
if(!$info) die(mysql_error());
$info_rows = mysql_num_rows($info);
if($info_rows > 0) {
echo '<a name="comments"></a><h3>Comments:</h3>';
echo '<table width="100%">';
while($info2 = mysql_fetch_object($info)) {
echo '<tr>';
echo '<td class="bubbledescription"><b>"'.stripslashes($info2->subject).'" by: <a href="'.$info2->contact.'">'.stripslashes($info2->username).'</a></b> <div align="left" class="smallertext">'.date('h:i:s a', $info2->time).' on '.$info2->date.'</div></td> ';
echo '</tr><tr>';
echo '<td class="bubbledescription"> '.stripslashes($info2->comment).'<br /><br /></td>';
echo '</tr>';
}//end while
echo '</table>';
echo '<hr width="95%" noshade>';
} else echo '<em>No one has commmented yet. Be the first. You know you want to. <br /><br /></em>';
if(isset($_POST['submit'])) {
if(!addslashes($_POST['username'])) die('<u>ERROR:</u> Make sure you entered a username for your comment.');
if(!addslashes($_POST['contact'])) die('<u>ERROR:</u> Make sure that you entered a contact address or web-site.');
if(!addslashes($_POST['subject'])) die('<u>ERROR:</u> Make sure you put a subject on your comment.');
if(!addslashes($_POST['comment'])) die('<u>ERROR:</u> You did not enter a comment.');
//this is for a valid contact
if(substr($_POST['contact'],0,7) != 'mailto:' && !strstr($_POST['contact'],'//')) {
if(strstr($_POST['contact'],'@'))
$_POST['contact'] = "mailto:".$_POST['contact']."";
else
$_POST['contact'] = "http://".$_POST['contact']."";
} //end valid contact
//try to prevent multiple posts and flooding...
$c = "SELECT * from `comments` WHERE ip = '".$_SERVER['REMOTE_ADDR']."'";
$c2 = mysql_query($c);
while($c3 = mysql_fetch_object($c2)) {
$difference = time() - $c3->time;
if($difference < 60) die('<u>ALERT:</u> '.$c3->username.', Please wait one minute between comments. Also, refresh the page if you cannot see the bottom portion of the page.<BR>');
} //end while
//add comment
$q ="INSERT INTO `comments` (article_id, page, date, time, username, ip, contact, subject, comment) VALUES ('".$_GET['id']."', '".$_POST['page']."', '".$_POST['date']."', '".$_POST['time']."', '".addslashes(htmlspecialchars($_POST['username']))."', '".$_SERVER['REMOTE_ADDR']."', '".addslashes(htmlspecialchars($_POST['contact']))."', '".addslashes(htmlspecialchars($_POST['subject']))."', '".addslashes(htmlspecialchars(nl2br($_POST['comment'])))."')";
$q2 = mysql_query($q);
if(!$q2) die(mysql_error());
//refresh page so they can see new comment
header('Location: http://' . $_SERVER['HTTP_HOST'] . $_POST['page'] . "#comments");
} else { //display form
?>
<form name="comments" action="<? $_SERVER['PHP_SELF']; ?>" method="post">
<input type="hidden" name="page" value="<? echo($_SERVER['REQUEST_URI']); ?>">
<input type="hidden" name="date" value="<? echo(date("F j, Y.")); ?>">
<input type="hidden" name="time" value="<? echo(time()); ?>">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="commentformLeftColumn"><div align="right">Name: </div></td>
<td class="commentformRightColumn"><input name="username" type="text" size="30" value="" class="commentformTextField"></td>
</tr>
<tr>
<td class="commentformLeftColumn"><div align="right">Contact: </div></td>
<td class="commentformRightColumn"><input type="text" name="contact" size="30" value="" class="commentformTextField">
<i>(e-mail or web-site) </i></td>
</tr>
<td class="commentformLeftColumn"><div align="right">Subject: </div></td>
<td class="commentformRightColumn"><input type="text" name="subject" size="30" value="" class="commentformTextField"></td>
</tr>
<tr>
<td class="commentformLeftColumn"><div align="right">Comment: </div></td>
<td class="commentformRightColumn"><textarea name="comment" cols="45" rows="5" wrap="VIRTUAL" class="commentformTextArea"></textarea></td>
</tr>
<tr>
<td></td>
<td colspan="2" class="commentformRightColumn"><input type="submit" name="submit" value="Add Comment" class="commentformSubmit"></td>
</tr>
</table>
</form>
<?
} // end else
?>
Here's a link to an example of the problem:
http://www.collegeisamovie.com/movies/jk/
Let me know if there's anything else that you need to help me out. Again, I'd appreciate it very much!