Board index   FAQ   Search  
Register  Login
Board index PHP PHP Scripts

Last replied date and time not same

Links for php scripts

Moderators: macek, egami, gesf

Last replied date and time not same

Postby IamNew » Wed Mar 07, 2012 7:36 pm

Hi there,

I am currently doing a simple forum board but encountering a problem.
The 'Last replied time and date' in my forum index page is not updated to the last replied message time and date inside that particular topic.

Here's the code for the post reply
Code: Select all
<?php

include "connect.php"; //connection string

print "<link rel='stylesheet' href='style.css' type='text/css'>";

print "<table class='maintables'>";

print "<tr class='headline'><td>Reply</td></tr>";

print "<tr class='maintables'><td>";

if(isset($_POST['submit']))

{

   $name=$_POST['name'];

   $yourpost=$_POST['yourpost'];

   $subject=(isset($_POST['subject']))?$_POST['subject']:null;;

   
   $id=$_POST['id'];

   if(strlen($name)<1)

   {

      print "You did not type in a name."; //no name entered

   }

   else if(strlen($yourpost)<1)

   {

      print "You did not type in a post."; //no post entered

   }

   else

   {
      date_default_timezone_set('Asia/Brunei');
      $thedate=date("U"); //get unix timestamp

      $displaytime=date("F j, Y, h:i a");

      //we now strip HTML injections

      $subject=strip_tags($subject);

      $name=strip_tags($name);

      $yourpost=strip_tags($yourpost); 

      $insertpost="INSERT INTO elec_forum(author,title,post,showtime,realtime,lastposter, parentid) values('$name','$subject','$yourpost','$displaytime','$thedate','$name','$id')";

      mysql_query($insertpost) or die("Could not insert post"); //insert post

      $updatepost="Update elec_forum set numreplies=numreplies+'1', lastposter='$name', lastrepliedto='$thedate' where postid='$id'";

      mysql_query($updatepost) or die("Could not update post");
      print "Message updated, go back to <A href='elec_message.php?id=$id'>Message</a>.";

   }



}

else

{

   $id=$_GET['id'];

   print "<form action='elec_reply.php' method='post'>";

   print "<input type='hidden' name='id' value='$id'>";

   print "Your name:<br>";

   print "<input type='text' name='name' size='20'><br>";

   print "Your message:<br>";

   print "<textarea name='yourpost' rows='5' cols='40'></textarea><br>";

   print "<input type='submit' name='submit' value='submit'></form>";



}

print "</td></tr></table>";

?>


Code for index page:
Code: Select all
<p ><h3 align="center">Department of Electronic Engineering</h3>
<?php 

include "connect.php"; //mysql db connection here

print "<link rel='stylesheet' href='style.css' type='text/css'>";

print "<A href='elec_post.php'>New Topic</a><br>";

print "<table class='maintable'>";

print "<tr class='headline'><td width=50%>Discussion Topic</td><td width=20%>Author</td><td>Replies</td><td>Last replied time</td></tr>";

$getthreads="SELECT * from elec_forum where parentid='0' order by lastrepliedto DESC";

$getthreads2=mysql_query($getthreads) or die("Could not get threads");


while($getthreads3=mysql_fetch_array($getthreads2))

{

  $getthreads3['title']=strip_tags($getthreads3['title']);

  $getthreads3['author']=strip_tags($getthreads3['author']);
 
  print "<tr class='mainrow'><td><a href='elec_message.php?id=$getthreads3[postid]'>$getthreads3[title]</a></td><td>$getthreads3[author]</td><td>$getthreads3[numreplies]</td><td>
$getthreads3[showtime]<br>Last post by <b>$getthreads3[lastposter]</b></td></tr>";

}

print "</table>";



?>   

<a href="forum.php?"><img src="image/button_back1.gif" border="0" align="right"/></a>


The line of code in 'post reply' code
Code: Select all
$updatepost="Update elec_forum set numreplies=numreplies+'1', lastposter='$name', lastrepliedto='$thedate' where postid='$id'"; 

give the correct 'last replied time and date.

Line of code in index page-line 28
Code: Select all
$getthreads3[showtime] 

give the time and date of the topic author. How to correct this so that I can know the last poster replied time and date in the index page?
IamNew
New php-forum User
New php-forum User
 
Posts: 28
Joined: Fri Nov 04, 2011 6:29 am

Re: Last replied date and time not same

Postby FishBird » Thu Apr 12, 2012 10:08 am

You should also update the forum-board itself. But first thing is some proper sql-injection prevention:

$subject=strip_tags($subject);
$name=strip_tags($name);
$yourpost=strip_tags($yourpost);

is not enough,

$subject=mysql_real_escape_string( strip_tags($subject));

$name=mysql_real_escape_string(strip_tags($name));

$yourpost=mysql_real_escape_string(strip_tags($yourpost));

is a lot better.
FishBird
New php-forum User
New php-forum User
 
Posts: 21
Joined: Thu Apr 12, 2012 8:05 am


Return to PHP Scripts

Who is online

Users browsing this forum: No registered users and 2 guests

Sponsored by Sitebuilder Web hosting and Traduzioni Italiano Rumeno and antispam for cPanel.