The best way to learn is by being tutored by someone. Programming is more than just learning the language. It entails:
1) Setting up a development environment
2) Learning about security, performance, testing, good programming techniques, designing for usability, designing for maintainability.
3) Learning how to integrate the program with backend file or database systems (e.g. MySQL)
4) Learning about all of the tools, scripts and programming modules that are already available that you can leverage.
This is a lot of work!!!
If you try to learn this all on your own it would be like trying to learn how to build a skyscraper all by yourself. So you have to understand your limitations and the limitations of your environment.
If you can learn some php and design small, simple scripts, it would be a great start. If you are trying to build a forum with all of the necessary aspects that I discussed yourself, you might want to step back and try to understand better what you are attempting to undertake. Learn slowly and surely.
Right now, I have investigated many simple scripts which are so poorly designed and fundamentally flawed that they are unusable - and developers don't even realize this or understand where they went wrong. They simply don't know any better because of their incomplete training. My recommendation would be to build something small or better yet work on some projects with other developers and learn your trade step-by-step.
I'm in need of a simple PHP RSS Reader similar to this:
http://www.phprssreader.com/
This is an example of a nice simple project to start off with. The developer used SimplePie.