diff -Naur sphpforum/add_answer.php new/add_answer.php
--- sphpforum/add_answer.php	2006-07-29 21:15:14.000000000 -0400
+++ new/add_answer.php	2006-07-29 21:23:51.000000000 -0400
@@ -6,15 +6,33 @@
 
 if ($_SESSION['username']) {
 
-$tbl_name="forum_answer"; // Table name
-
 // Connect to server and select databse.
 mysql_connect("$host", "$username", "$password")or die("cannot connect"); 
 mysql_select_db("$db_name")or die("cannot select DB");
 
+// Fetch user info
+$tbl_name="forum_user"; // Table name
+$username = $_SESSION['username'];
+$u = "SELECT * from $tbl_name WHERE username='$username'";
+$result = mysql_query($u);
+$u_info = mysql_fetch_array($result);
+
 // Get value of id that sent from hidden field 
 $id=$_POST['id'];
 
+// Verify that question exists
+$tbl_name="forum_question"; // Table name
+$i = "SELECT * from $tbl_name WHERE id='$id'";
+$result = mysql_query($i);
+$question_info = mysql_fetch_array($result);
+
+if (!$question_info)
+  die("Thread does not exist.");
+if ($question_info['locked'] == 1)
+  die("Can not post to locked threads.");
+
+$tbl_name="forum_answer"; // Table name
+
 // Find highest answer number. 
 $sql="SELECT MAX(a_id) AS Maxa_id FROM $tbl_name WHERE question_id='$id'";
 $result=mysql_query($sql);
@@ -29,10 +47,13 @@
 }
 
 // get values that sent from form 
-$a_name=$_POST['a_name'];
-$a_email=$_POST['a_email'];
+$a_name=$_SESSION['username'];
+$a_email=$u_info['email'];
 $a_answer=$_POST['a_answer']; 
 
+if (!$a_answer)
+  die("Empty comments have no purpose.");
+
 $datetime=date("d/m/y H:i:s"); // create date and time
 
 // Insert answer 
diff -Naur sphpforum/add_topic.php new/add_topic.php
--- sphpforum/add_topic.php	2006-07-29 21:15:14.000000000 -0400
+++ new/add_topic.php	2006-07-29 21:07:00.000000000 -0400
@@ -6,22 +6,34 @@
 
 if ($_SESSION['username']) {
 
-$tbl_name="forum_question"; // Table name
-
 // Connect to server and select database.
 mysql_connect("$host", "$username", "$password")or die("cannot connect"); 
 mysql_select_db("$db_name")or die("cannot select DB");
 
+// Fetch user info
+$tbl_name="forum_user"; // Table name
+$username = $_SESSION['username'];
+$u = "SELECT * from $tbl_name WHERE username='$username'";
+$result = mysql_query($u);
+$u_info = mysql_fetch_array($result);
+
+$tbl_name="forum_question"; // Table name
+
 // get data that sent from form 
 $topic=$_POST['topic'];
 $detail=$_POST['detail'];
-$name=$_POST['name'];
-$email=$_POST['email'];
+$name=$_SESSION['username'];
+$email=$u_info['email'];
 $sticky=$_POST['sticky'];
 $locked=$_POST['locked'];
 
-if ($locked == "on") { $locked="1"; } else { $locked="0"; }
-if ($sticky == "on") { $sticky="1"; } else { $sticky="0"; }
+if (!$topic)
+  die("Topic missing.");
+if (!$detail)
+  die("Thread body missing.");
+
+if ($locked == "on" && $name == $admin_user) { $locked="1"; } else { $locked="0"; }
+if ($sticky == "on" && $name == $admin_user) { $sticky="1"; } else { $sticky="0"; }
 
 $datetime=date("d/m/y h:i:s"); //create date time
 
diff -Naur sphpforum/create_topic.php new/create_topic.php
--- sphpforum/create_topic.php	2006-07-29 21:15:14.000000000 -0400
+++ new/create_topic.php	2006-07-29 20:44:49.000000000 -0400
@@ -32,7 +32,6 @@
 <tr><td>Detail</td><td><textarea name="detail" cols="50" rows="10" id="detail"></textarea></td></tr>
 </table>
 
-<input name="name" type="hidden" id="name" value="<?php echo $_SESSION['username']; ?>" />
 
 <?
 if ($_SESSION['username'] == $admin_user) {
diff -Naur sphpforum/edit_profile.php new/edit_profile.php
--- sphpforum/edit_profile.php	2006-07-29 21:15:14.000000000 -0400
+++ new/edit_profile.php	2006-07-29 21:01:29.000000000 -0400
@@ -32,7 +32,6 @@
 <form method="post" action="update_profile.php">
 
 <table>
-<input name="username" type="hidden" value="<?php echo $rows['username']; ?>" />
 <tr><td>Password:</td><td><input name="password" type="password" /><br />Leave blank to keep current password</td></tr>
 <tr><td>E-mail:</td><td><input name="email" type="text" value="<?php echo $rows['email']; ?>" /></td></tr>
 <tr><td>Real Name:</td><td><input name="realname" type="text" value="<?php echo $rows['realname']; ?>" /></td></tr>
diff -Naur sphpforum/update_profile.php new/update_profile.php
--- sphpforum/update_profile.php	2006-07-29 21:15:14.000000000 -0400
+++ new/update_profile.php	2006-07-29 21:04:23.000000000 -0400
@@ -2,6 +2,11 @@
 
 require('config.php');
 
+session_start();
+
+if (!$_SESSION['username'])
+  die ("Not logged in.");
+
 $tbl_name="forum_user"; // Table name
 
 // Connect to server and select database.
@@ -9,7 +14,7 @@
 mysql_select_db("$db_name")or die("cannot select DB");
 
 // get data that sent from form 
-$username=$_POST['username'];
+$username=$_SESSION['username'];
 $email=$_POST['email'];
 $realname=$_POST['realname'];
 $password=$_POST['password'];
diff -Naur sphpforum/view_topic.php new/view_topic.php
--- sphpforum/view_topic.php	2006-07-29 21:15:14.000000000 -0400
+++ new/view_topic.php	2006-07-29 21:20:51.000000000 -0400
@@ -20,6 +20,9 @@
 
 $rows=mysql_fetch_array($result);
 
+if (!$rows)
+  die("Thread does not exist.");
+
 $sticky=$rows['sticky'];
 
 ?>
@@ -98,15 +101,14 @@
 <?php } else { ?>
 
 <form name="form1" method="post" action="add_answer.php" id="postComment">
-<input name="a_name" type="hidden" id="a_name" value="<?php echo $_SESSION['username']; ?>"></td>
+</td>
 <input name="id" type="hidden" value="<? echo $id; ?>"><br />
 <em>Please note that all HTML tags are stripped.</em>
 <table>
 <tr><td>Reply</td><td><textarea name="a_answer" cols="45" rows="10" id="a_answer"></textarea></td>
 </table>
 <br />
-<input type="submit" name="Submit" value="Submit" class="button"> <input type="reset" name="Submit2" value="Reset" 
-class="button"
+<input type="submit" name="Submit" value="Submit" class="button"> <input type="reset" name="Submit2" value="Reset" class="button">
 </form>
 
 <?
