Summary
To take an idea from inception through to fruition, you should follow a design process. This process essentially says, "Think before you act." Discuss rules, requirements, and objectives; then create the final version of your normalized tables.
In this chapter, you saw how forums are hierarchical in nature—forums contain topics; topics contain posts. You can’t have a topic without a post, and posts don’t exist in forums without belonging to a topic. You applied this knowledge to the creation of tables to hold forum topics and posts, and used PHP scripts to create the input and display pages for these items.
Q&A
Workshop
The workshop is designed to help you anticipate possible questions, review what you’ve learned, and begin putting your knowledge into practice.
Quiz
How is the topic ID value passed to the showtopic.php script?
What else, besides telling the user that the topic was successfully added, could we do at the end of the do_addtopic.php script?
Answers
Through the $_GET superglobal, named as the the value of $_GET["topic_id"].
Just as with the replytopost.php script, we could eliminate the message display and simply redirect the user to the topic she just created, showing the new topic and post in all its glory.
Activity
You’ll notice that none of these pages are really tied together with any sort of navigation. Take these basic framework scripts and apply some navigational flow to them. Make sure that users can always add a topic or return to the topic list from any given page, for example.
If you’re feeling really ambitious, use the information provided in the Q&A section to integrate and display multiple forums into your tidy little discussion board.