|
|
|
|
![]() ![]() |
Mar 24 2008, 03:18 AM
Post
#11
|
|
|
Super Member ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Group: [HOSTED] Posts: 397 Joined: 9-February 08 Member No.: 57,615 |
A good tutorials. What is about of that advance features?
|
|
|
|
Sep 24 2008, 11:50 PM
Post
#12
|
|
|
Newbie ![]() Group: Members Posts: 4 Joined: 24-September 08 From: Lewisville, TX Member No.: 68,339 |
im trying to allow users to comment only if they are registered. this is what i got for my code but somewhere i went wrong and it doesnt show you must be registered to leave comment, and when logged in it wont show the comment box... i know i went wrong at the if user logged in =1 but i cant find.
CODE <?php require_once ('database_connect.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 '<h5>Comments:</h5>'; echo '<table width="95%">'; while($info2 = mysql_fetch_object($info)) { echo '<tr>'; echo '<td>"'.stripslashes($info2->subject).'" by: <a href="'.$info2->contact.'">'.stripslashes($info2->username).'</a></td> <td><div align="right"> @ '.date('h:i:s a', $info2->time).' on '.$info2->date.'</div></td>'; echo '</tr><tr>'; echo '<td colspan="2"> '.stripslashes($info2->comment).' </td>'; echo '</tr>'; }//end while echo '</table>'; echo '<hr width="95%" noshade>'; } else echo '<br>'; if(isset($_POST['submit'])) { if(!addslashes($_POST['username'])) die('<u>ERROR:</u> you must enter a username to add a comment.'); if(!addslashes($_POST['contact'])) die('<u>ERROR:</u> enter contact method in contact field.'); if(!addslashes($_POST['subject'])) die('<u>ERROR:</u> enter a subject to your comment.'); if(!addslashes($_POST['comment'])) die('<u>ERROR:</u> cannot add comment if you do not enter one!?'); //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 < 300) die('<u>ALERT:</u> '.$c3->username.', You have already commented earlier!<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://link to page' . $_SERVER['HTTP_HOST'] . $_POST['page'] . "#comments"); //user must be logged in if($_SESSION['logged_in'] == 1) { ?> <h3 id="respond">Leave a Reply</h3> <br> <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="90%" border="0" cellspacing="0" cellpadding="0"> <tr> <td><div align="right">Username: </div></td> <td><input name="username" type="text" size="30" value=""></td> </tr> <tr> <td><div align="right">Contact: </div></td> <td><input type="text" name="contact" size="30" value=""> <i>(email or url)</i></td> </tr> <td><div align="right">Subject: </div></td> <td><input type="text" name="subject" size="30" value=""></td> </tr> <tr> <td><div align="right">Comment: </div></td> <td><textarea name="comment" cols="45" rows="5" wrap="VIRTUAL"></textarea></td> </tr> <tr> <td></td> <td colspan="2"><input type="reset" value="Reset" style="background: #2c2c2c; font-family: vrinda; color: white; border: 0; width:80; height= 20;"> <input type="submit" name="submit" value="Add Comment" style="background: #2c2c2c; font-family: vrinda; color: white; border: 0; width:80; height= 20;"></td> </tr> </table> </form> <?php } else { if($_SESSION['logged_in'] == 0) echo ('You must be a registered member to comment'); } } ?> if anyone could help me please. this is the main problem im having with my page. |
|
|
|
Sep 26 2008, 08:52 PM
Post
#13
|
|
|
Newbie ![]() Group: Members Posts: 4 Joined: 24-September 08 From: Lewisville, TX Member No.: 68,339 |
help please
|
|
|
|
Sep 26 2008, 11:30 PM
Post
#14
|
|
|
Premium Member ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Group: [HOSTED] Posts: 183 Joined: 30-August 08 From: United Kingdom Member No.: 67,096 |
help please It'd help alot more if you tell us what exactly you are wanting help with. @ miniK: Brilliant script MiniK. This will be very useful for people and their websites/forums etc! -Sky |
|
|
|
Sep 27 2008, 10:54 AM
Post
#15
|
|
|
Newbie ![]() Group: Members Posts: 4 Joined: 24-September 08 From: Lewisville, TX Member No.: 68,339 |
I have comments on a page and i want them to be viewable by everyone but only registered members are allowed to post. What else i was toing for was when a member posts it inserts the usersname into the post automatically.
I have my member login made and my comments, i'm trying to get the IF and the ELSE right to combine the comments with the member login. I hope what i explained is understanding |
|
|
|
Sep 27 2008, 10:59 AM
Post
#16
|
|
|
Newbie ![]() Group: Members Posts: 4 Joined: 24-September 08 From: Lewisville, TX Member No.: 68,339 |
I could also display my cookies i have at the top of my script as well if it is needed.
|
|
|
|
![]() ![]() |
Similar Topics
| Topics | Topics | |
|---|---|---|
|
|
|
|
Lo-Fi Version | Time is now: 11th October 2008 - 09:09 PM |