hi everyone,
i am working on forums and i found something very useful to those who develop forums
i attached files and may it will help somebody. i included one style sheet which is in txt format change that into .css
thanku
praveen_dusari 11 Posting Whiz in Training
<?php
$db = mysql_connect("localhost", "root", "1234") or die("Could not connect.");
if(!$db)
die("no db");
if(!mysql_select_db("forums",$db))
die("No database selected.");
?> <?php
include "conn.php"; //mysql db connection here
$goku="SELECT * from tbl_categories where parentid=0";
$goku2=mysql_query($goku) or die("Could not get threads");
$goku3=mysql_fetch_array($goku2);
echo $cat="SELECT * from tbl_categories where parentid=".$goku3['c_id'];
$cat1=mysql_query($cat) or die("Could not get threads");
$cats=mysql_fetch_array($cat1);
?>
<link rel='stylesheet' href='style.css' type='text/css'>
<A href='post.php'>New Topic</a><br>
<table class='maintable'>
<td><?=$goku3['c_name'];?></td>
<tr class='headline'><td width=50%>Topic</td><td width=20%>Topic Starter</td><td>Replies</td><td>Last replied time</td></tr>
<?
$getthreads="SELECT * from forumtutorial_posts where parentid='0' order by lastrepliedto asc";
$getthreads2=mysql_query($getthreads) or die("Could not get threads");
$getthreads3=mysql_fetch_array($getthreads2);
$getthreads3['title']=strip_tags($getthreads3['title']);
$getthreads3['author']=strip_tags($getthreads3['author']);
$cat="SELECT * from tbl_categories where parentid=".$goku3['c_id'];
$cat1=mysql_query($cat) or die("Could not get threads");
while($scat=mysql_fetch_array($cat1))
{
?>
<tr class='mainrow'><td><A href='message.php?id=<?=$scat['c_id']?>'><?=$scat['c_name'];?></a></td><td><?=$getthreads3['author'];?></td><td><?=$getthreads3['numreplies'];?></td><td><?=$getthreads3['showtime'];?><br>Last post by <b><?=$getthreads3['lastposter'];?></b></td></tr>
<?
}
?>
</table> <?php
include "conn.php"; //mysql db connection here
$id=$_GET['id'];
?>
<link rel='stylesheet' href='style.css' type='text/css'>
<A href='index.php'>Back to main forum</a>-<A href='post.php'>New Topic</a>-<A href='reply.php?id=$id'>Reply<br>
<table class='maintable'>
<tr class='headline'><td width=20%>Author</td><td width=80%>Post</td></tr>
<?
echo $gettopic="SELECT * from forumtutorial_posts where cat_id='$id'";
$gettopic2=mysql_query($gettopic) or die("Could not get topic");
while($gettopic3=mysql_fetch_array($gettopic2))
{
?>
<tr class='mainrow'><td valign='top'><?=$gettopic3['author'];?></td>
<td vakign='top'>
<?=$gettopic3['post'];?><br><hr>
Posted Time: <?=$gettopic3['showtime'];?></td></tr>
<tr bgcolor="#003366" >
<td valign='top'></td>
<td vakign='top'></td>
</tr><?
}?>
</table> <?php
include("conn.php"); //connection string
?>
<link rel='stylesheet' href='style.css' type='text/css'>
<table class='maintables'>
<tr class='headline'><td>Post a message</td></tr>
<tr class='maintables'><td>
<?
if(isset($_POST['submit']))
{
echo "hiiiiiiiiiiii";
$title=$_POST['title'];
$yourpost=$_POST['yourpost'];
$selcategory=$_POST['selcategory'];
if(strlen($title)<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 if(strlen($selcategory)<1)
{
print "You did not selected category."; //no subject entered
}
else
{
$thedate=date("U"); //get unix timestamp
$displaytime=date("F j, Y, g:i a");
//we now strip HTML injections
$selcategory=strip_tags($selcategory);
$title=strip_tags($title);
$yourpost=strip_tags($yourpost);
$insertpost="INSERT INTO forumtutorial_posts(cat_id,title,post,showtime,realtime) values('$selcategory','$title','$yourpost','$displaytime','$thedate')";
mysql_query($insertpost) or die("Could not insert post"); //insert post
print "Message posted, go back to <A href='index.php'>Forum</a>.";
}
}
?>
<?
$qry4="SELECT * FROM tbl_categories WHERE parentid=0";
$res3=mysql_query($qry4) or die(mysql_error());
$res4=mysql_fetch_array($res3);
$qry5="SELECT * FROM `tbl_categories` WHERE parentid='".$res4['c_id']."'";
$res5=mysql_query($qry5) or die(mysql_error());
$num5=mysql_num_rows($res5);
?>
<form action='post.php' method='post'>
select sub topic title
:<br>
<input name='title' type='text' id="title" size='20'>
<br>
under topic <br>
<select name="selcategory" class="box2" id="selcategory">
<option value="">------Selectcategory-------</option>
<?
if($num5>0)
{
while($row5=mysql_fetch_array($res5))
{
?>
<option value="<?=$row5['c_id']?>" selected="selected" <? if ((isset($_GET['c_id']))&&($row5['c_id']==$category))?><? {?>selected<? }?>>//
<?=$row5['c_name']?>
</option>
<?
}
}
?>
</select>
<br>
Your message:<br>
<textarea name='yourpost' rows='5' cols='40'></textarea><br>
<input type='submit' name='submit' value='submit'></form>
<?
?>
</td></tr></table> <?php
include "conn.php"; //connection string
?>
<link rel='stylesheet' href='style.css' type='text/css'>
<table class='maintables'>
<tr class='headline'><td>Reply</td></tr>
<tr class='maintables'><td>
<?
if(isset($_POST['submit']))
{
$name=$_POST['name'];
$yourpost=$_POST['yourpost'];
$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
{
$thedate=date("U"); //get unix timestamp
$displaytime=date("F j, Y, g:i a");
//we now strip HTML injections
$name=strip_tags($name);
$yourpost=strip_tags($yourpost);
$insertpost="INSERT INTO forumtutorial_posts(author,post,showtime,realtime,lastposter,parentid) values('$name','$yourpost','$displaytime','$thedate','$name','$id')";
mysql_query($insertpost) or die("Could not insert post"); //insert post
$updatepost="Update forumtutorial_posts set numreplies=numreplies+'1', lastposter='$name',showtime='$displaytime', lastrepliedto='$thedate' where postid='$id'";
mysql_query($updatepost) or die("Could not update post");
print "Message posted, go back to <A href='message.php?id=$id'>Message</a>.";
}
}
else
{
$id=$_GET['id'];
?>
<form action='reply.php' method='post'>
<input type='hidden' name='id' value='$id'>
Your name:<br>
<input type='text' name='name' size='20'><br>
Your message:<br>
<textarea name='yourpost' rows='5' cols='40'></textarea><br>
<input type='submit' name='submit' value='submit'></form>
<?
}
?>
</td></tr></table> <style>
body {
a:link, a:visited, a:active { text-decoration: none}
font-family:Verdana, Sans-serif;
color; #000000;
font-size: 12px
}
input,textarea, select,{
color : #000000;
font: normal 12px;
border-collapse: collapse; border: 1px solid #000000;
}
.maintable {border: 0px ; width: 100%; padding: 0px; background-color: #FFFFFF} /*main table for forum*/
.regrow {font-family: Verdana,Sans-serif; color: #000000; font-weight: bold; background-color: #FFFFFF;font-size: 12px;} /*registration row, mainly here for symetry*/
.headline {font-family: Verdana,Sans-serif;font-weight: bold;color: #FFFFFF;background-color: #003366;font-size: 11px;} /*headline row, the first row that says forum name, topics, posts and such*/
.forumrow {font-family: Verdana,Sans-serif; color: #000000;background-color: #F2F2F2;font-size: 12px;} /*color of the forum rows*/
.mainrow a:link, a:visited, a:active { text-decoration: none;}
.mainrow {font-family: Verdana,Sans-serif; color: #000000;background-color: #F2F2F2;font-size: 12px; a:link, a:visited, a:active { text-decoration: none}} /*color of the forum rows*/
.maintables{background-color: #FFFFFF; width: 95%; padding: 0px; border: 1px solid; cellspacing: no} /*main table for forum*/
</style> Dani AI
Generated
Praveen uploaded forum files and a SQL dump, and other members (notably and ) raised the usual follow‑ups: missing tables, how to wire the dump into the PHP code, and import problems. The attachments will work only after the dump is imported into MySQL and the application’s DB settings match the dump (table names/prefixes, character set, and database name). Before importing, confirm the dump contains all expected CREATE TABLE statements (the missing tbl_categories was the root of one report in this thread).
Quick checklist before import: 1) open the .sql in a text editor and search for CREATE TABLE lines to verify the full schema; 2) note any CREATE DATABASE or USE lines (they determine the target DB name); 3) confirm table prefixes in the dump match what the PHP files expect; 4) make a backup of any existing database you will overwrite; 5) confirm the MySQL user has CREATE/INSERT privileges.
Two practical import options: use phpMyAdmin’s Import tab (select or create the target database, choose the .sql file, pick the appropriate character set, then import) or import from the server shell. A common shell command is:
mysql -u username -p database_name < database_backup.sql If phpMyAdmin hits an upload-size limit, the shell method or splitting/compressing the dump usually solves it.
Troubleshooting and best practices: check import error messages for missing DEFINER/permission problems, fix mismatched charsets (utf8 vs utf8mb4), and recreate any missing lookup tables (like tblcategories) if they weren’t included. Store DB credentials in one central config file placed outside the web root (so all pages use the same settings) and, for long‑term safety, update legacy mysql* code to mysqli or PDO and use prepared statements to prevent injection.
Recommended Answers
Jump to Post— vicky_rawat 11hi everyone,
i am working on forums and i found something very useful to those who develop forums
i attached files and may it will help somebody. i included one style sheet which is in txt format change that into .css
thankuHi Praveen,
Is it possible to provide …
Jump to Post— vicky_rawat 11yeh, sure my friend
Thanks
Jump to Post— mexabet 49Okay, assuming I call this database table file databse_backup.sql, how then can I reference it in those PHP files?
yeh, sure my friend
All 11 Replies
vicky_rawat 11 Junior Poster
hi everyone,
i am working on forums and i found something very useful to those who develop forums
i attached files and may it will help somebody. i included one style sheet which is in txt format change that into .css
thanku
Hi Praveen,
Is it possible to provide the database also.
Thanks in advance.
praveen_dusari 11 Posting Whiz in Training
yeh, sure my friend
Database: `forums`
--
-- --------------------------------------------------------
--
-- Table structure for table `forumtutorial_posts`
--
CREATE TABLE `forumtutorial_posts` (
`postid` bigint(20) NOT NULL auto_increment,
`author` varchar(255) NOT NULL default '',
`title` varchar(255) NOT NULL default '',
`post` mediumtext NOT NULL,
`showtime` varchar(255) NOT NULL default '',
`realtime` bigint(20) NOT NULL default '0',
`lastposter` varchar(255) NOT NULL default '',
`numreplies` bigint(20) NOT NULL default '0',
`parentid` bigint(20) NOT NULL default '0',
`lastrepliedto` bigint(20) NOT NULL default '0',
`cat_id` int(100) NOT NULL default '0',
PRIMARY KEY (`postid`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=26 ;
--
-- Dumping data for table `forumtutorial_posts`
--
INSERT INTO `forumtutorial_posts` (`postid`, `author`, `title`, `post`, `showtime`, `realtime`, `lastposter`, `numreplies`, `parentid`, `lastrepliedto`, `cat_id`) VALUES (24, 'arya', 'forums', 'hi its very good right', 'July 14, 2008, 11:04 am', 1216013593, 'rocky', 1, 0, 1216013645, 0),
(25, 'rocky', '', 'you are right', 'July 14, 2008, 11:04 am', 1216013645, 'rocky', 0, 24, 0, 0); vicky_rawat 11 Junior Poster
yeh, sure my friend
Thanks
mexabet 49 Good Learner
Okay, assuming I call this database table file databse_backup.sql, how then can I reference it in those PHP files?
yeh, sure my friend
praveen_dusari 11 Posting Whiz in Training
hi mexabet,
you need to import that file into your database
mexabet 49 Good Learner
Please, tell me the detailed steps to achieve this. Should the database login be inside conn.php?
hi mexabet,
you need to import that file into your database
praveen_dusari 11 Posting Whiz in Training
hi mexabet,
you will have import option in your database and in conn.php
<?
mysql_connect("localhost","username","password");
mysql_select_db("databasename");
?> and u need to include conn.php in every page where u use sql quieries
tanha -2 Posting Whiz in Training
Hi.
I think you posted one of the dumped table of the MySQL, where are the other tables like tbl_categories.
thanks
praveen_dusari 11 Posting Whiz in Training
yeh my fault sorry, actually i was working on that forums and made some modifications according to my requirements.now, the database file i have attached will work with files i attached now if any doubts u can ask me.
<?php
$db = mysql_connect("localhost", "root", "1234") or die("Could not connect.");
if(!$db)
die("no db");
if(!mysql_select_db("forums",$db))
die("No database selected.");
?> <?php
include "conn.php"; //mysql db connection here
print "<link rel='stylesheet' href='style.css' type='text/css'>";
print "<A href='post.php'>New Topic</a><br>";
print "<table class='maintable'>";
print "<tr class='headline'><td width=50%>Topic</td><td width=20%>Topic Starter</td><td>Replies</td><td>Last replied time</td></tr>";
$getthreads="SELECT * from forumtutorial_posts where parentid='0' order by lastrepliedto asc";
$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='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>";
?> <?php
include "conn.php"; //mysql db connection here
$id=$_GET['id'];
print "<link rel='stylesheet' href='style.css' type='text/css'>";
print "<A href='index.php'>Back to main forum</a>-<A href='post.php'>New Topic</a>-<A href='reply.php?id=$id'>Reply<br>";
print "<table class='maintable'>";
print "<tr class='headline'><td width=20%>Author</td><td width=80%>Post</td></tr>";
$gettopic="SELECT * from forumtutorial_posts where postid='$id'";
$gettopic2=mysql_query($gettopic) or die("Could not get topic");
$gettopic3=mysql_fetch_array($gettopic2);
print "<tr class='mainrow'><td valign='top'>$gettopic3[author]</td><td vakign='top'>Last replied to at $gettopic3[showtime]<br><hr>";
$message=strip_tags($gettopic3['post']);
$message=nl2br($message);
print "$message<hr><br>";
print "</td></tr>";
$getreplies="Select * from forumtutorial_posts where parentid='$id' order by postid asc"; //getting replies
$getreplies2=mysql_query($getreplies) or die("Could not get replies");
while($getreplies3=mysql_fetch_array($getreplies2))
{
print "<tr class='mainrow'><td valign='top'>$getreplies3[author]</td><td vakign='top'>Last replied to at $getreplies3[showtime]<br><hr>";
$message=strip_tags($getreplies3['post']);
$message=nl2br($message);
print "$message<hr><br>";
print "</td></tr>";
}
print "</table>";
?> <?php
include "conn.php"; //connection string
print "<link rel='stylesheet' href='style.css' type='text/css'>";
print "<table class='maintables'>";
print "<tr class='headline'><td>Post a message</td></tr>";
print "<tr class='maintables'><td>";
if(isset($_POST['submit']))
{
$name=$_POST['name'];
$yourpost=$_POST['yourpost'];
$subject=$_POST['subject'];
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 if(strlen($subject)<1)
{
print "You did not enter a subject."; //no subject 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);
$name=strip_tags($name);
$yourpost=strip_tags($yourpost);
$insertpost="INSERT INTO forumtutorial_posts(author,title,post,showtime,realtime,lastposter) values('$name','$subject','$yourpost','$displaytime','$thedate','$name')";
mysql_query($insertpost) or die("Could not insert post"); //insert post
print "Message posted, go back to <A href='index.php'>Forum</a>.";
}
}
else
{
print "<form action='post.php' method='post'>";
print "Your name:<br>";
print "<input type='text' name='name' size='20'><br>";
print "Subject:<br>";
print "<input type='text' name='subject' 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>";
?> <?php
include "conn.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'];
$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
{
$thedate=date("U"); //get unix timestamp
$displaytime=date("F j, Y, g:i a");
//we now strip HTML injections
$name=strip_tags($name);
$yourpost=strip_tags($yourpost);
$insertpost="INSERT INTO forumtutorial_posts(author,post,showtime,realtime,lastposter,parentid) values('$name','$yourpost','$displaytime','$thedate','$name','$id')";
mysql_query($insertpost) or die("Could not insert post"); //insert post
$updatepost="Update forumtutorial_posts set numreplies=numreplies+'1', lastposter='$name',showtime='$displaytime', lastrepliedto='$thedate' where postid='$id'";
mysql_query($updatepost) or die("Could not update post");
print "Message posted, go back to <A href='message.php?id=$id'>Message</a>.";
}
}
else
{
$id=$_GET['id'];
print "<form action='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>";
?> tanha -2 Posting Whiz in Training
Thanks very much, now it is working well
mexabet 49 Good Learner
Thanks praveen_dusari.
hi mexabet,
you will have import option in your database and in conn.php<? mysql_connect("localhost","username","password"); mysql_select_db("databasename"); ?>and u need to include conn.php in every page where u use sql quieries
Be a part of the DaniWeb community
We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.