Jump to content

Editing posts in a forum


twsowerby

Recommended Posts

Hi,

 

Trying to create a script for editing posts in a forum via a form. I'm a little new to php and would appreciate some help with it as I can't seem to get it to work. At the moment when i submit the form it doesnt return an error, it just doesnt do anything to the original post.

 

Here is what I have so far:

 

<?php 

// File: edit.php
//

define('IN_FORUM', true);
include_once "sqlconnect.php";
include_once "includes/functions.php";
include "includes/header.php";

echo "<link rel='stylesheet' href='style.css' type='text/css'>";
echo "<table class='maintables'>";
echo "<tr class='headline'><td>Reply</td></tr>";
echo "<tr class='maintables'><td>";

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

{

   $name=$_POST['name'];
   $yourpost=$_POST['yourpost'];
   $title=$_POST['title'];
   $id=$_POST['postid'];
   if(strlen($title)<1)

   {

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

   }

   else if(strlen($yourpost)<1)

   {

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

   }

   else

   {

      $thedate=date("U"); //get unix timestamp
      $displaytime=date("F j, Y, g:i a");
      //we now strip HTML injections
      $subject=strip_tags($subject);
      $title=strip_tags($title);
      $yourpost=strip_tags($yourpost); 
      $updatepost="Update forum_posts set title='$title', post='$yourpost', showtime='$displaytime', lastrepliedto='$thedate' where 				
  postid='$id'";
      mysql_query($updatepost) or die("Could not update post");
      echo "Message edited, go back to <A href='message.php?id=$id'>Message</a>.";

   }

}

else

{
$id=$_GET['postid'];echo "<form action='edit.php' method='post'>";
echo "Title:<br>";
echo "<input type='text' name='title' size='20'><br>";
echo "Your message:<br>";
echo "<textarea name='yourpost' rows='5' cols='40'></textarea><br>";
echo "<input type='submit' name='submit' value='submit'></form>";
}

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

include "includes/footer.php";

?>

 

Thanks!

 

Tom

Link to comment
Share on other sites

I hope that is not how you code with the whole white space frenzy.

 

If you look at your update form down the bottom it looks as though you are assigning $_GET['postid'] to id but not doing anything with it.  Chuck $id into a hidden input on that form and this should be sweet.

 

echo '<input type="hidden" name="postid" value="'.$_GET['postid'].'" />';

Is what you need to put in the form in case your unsure.

 

 

 

 

Link to comment
Share on other sites

I hope that is not how you code with the whole white space frenzy.

There's no right and wrong way to use PHP as such but there are methods to help make things easy to read. Indenting like the OP has used is great when using loops and if statements. Sometimes I add blank lines between code depending on what the function is and how often I'll be maintaining/editing it.

 

twsowerby, instead of having the entire file as PHP code you can use IF statements like this:

<?php
  if ($_POST['submit']) {
    $name=$_POST['name'];
    $yourpost=$_POST['yourpost'];
  } else {
?>
  <form action="" method="post">
  Name <input type="text" name="name" value="<?=$name?>" /><br />
  Post <textarea name="yourpost" cols="60" rows="10"><?=nl2br($yourpost)?></textarea>
<?php } ?>

Just an example piece of code

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.