7 Answers
7

Learn HTML, then Javascript, then a serverside language (PHP, ASP.net or Coldfusion), then learn a database (MySQL or MS SQL). I learned based on the LAMP stack b/c it was the only thing free at the time (Linux, Apache, MySQL, PHP).

I set up installations, built small web sites, then built bigger more complex websites. When you want to learn something, google " tutorial" -like "HTML tutorial". Work through a few tutorials.

Once you get the hang of that, look into frameworks (like say jQuery for Javascript and Zend for PHP). Once you get the hang of that, look into design patterns. Once you get the hang of that, you can answer questions like this. :)

Along the way, you'll learn how to configure webservers (Apache or IIS) and HTTP headers, etc.

The best way is to learn from experience because it will force you to really appreciate and deal with the issues involved.

Pick a few simple test projects and implement them all the way through. For example create blog software from scratch, write a wiki backend, etc. Start small and grow from there.

Then while you are doing this, you will pick up the books, articles, videos, etc about each of the specific technologies involved. For example maybe you choose to implement a blog and keep building on it to learn new technologies. The steps could look like:

Get Google App Engine account to use as a backend

Run through app engine tutorial for setting up a blog framework (this will get the data model in place)

Learn HTML by extending the front end with more templates

Learn CSS by adding some customized styling to the site

Learn JavaScript/AJAX by adding some jQuery components to make the site more dynamic.

Learn a backend language like python by extending the app engine backend application you starting in step 2

Add whatever other capabilities are of interest and keep building

By giving yourself a platform to build on, you can get your interest and motivation up while also giving you a real-world example to make use of the skills you are learning. Best of all, at the end of it you will have examples that show what you know to potential employers.

Yeah, I was wondering too. I have only seen about two websites or so that use cold fusion, probably nothing too fascinating about it :/ .. I would like to know more about MVC, and why you put it as last...
–
Chibueze OpataMar 5 '11 at 19:30

Kinda like learning how to walk first before you can run.
–
mythicalprogrammerMar 6 '11 at 3:42

Sorry wasn't thinking. I guess you can do MVC after SQL.
–
mythicalprogrammerMar 6 '11 at 4:29

I assume you have a basic understanding of HTML/CSS/Programming. If not, it's really easy to google various tutorials that will get you used to the basics. Your next step would be setting up a development environment for PHP.

Once you're there, I'd jump into the Blog tutorial: codeigniter.com/tutorials/

You don't need to build the blog, just watch the video to get a general idea of what's going on. When you're done with that go through the user guide: codeigniter.com/user_guide/

After you've gone through both of those steps, you should be able to figure out anything else you need to create a basic content management system. Add a login system to your blog that requires the user to login to post comments.

Try to keep all of your database logic in the model files.

Then, try integrating something like CKEditor for creating new articles. Then just keep adding to your basic system.

Once you have your basic CMS down, you can start adding some designs for your site. The best solution is just to find a tutorial for each thing you want to do. Google is your best friend and due to how simple basic HTML/CSS is, you should have no troubles figuring anything out.

PHP/CodeIgniter might not be the best options for development, there are better languages and frameworks IMO; however, PHP and CI are very easy to jump into. PHP is easy to setup and you don't need to touch the command line. CodeIgniter doesn't include a lot of the 'magic' of other frameworks, it's also not as complex as Zend, so it's easier to understand and helps you build a solid understanding.

Once you've finished your first project, you can start looking into more advanced techniques, as well as other frameworks and languages. These should all be a lot easier to understand and you should have a strong grasp of what works for you.

As has been the running theme so far you MUST start with HTML and I would recommend CSS at the same time. From there you will likely need either Javascript or PHP/ASP (I recommend PHP as its more versatile) next then the other after that. Once you branch into PHP/ASP you will also want to have database knowledge... I would recommend MySQL. If you want to get really good at this point I would recommend downloading and installing a web server on your own machine and gain experience there. This could be done at the start but might be easier with some prior experience under your belt. Having knowledge of Adobe's Dreamweaver would be a very useful tool. Then start in on more advance things such as AJAX and what I will refer to as CGI programming although this reference is slightly outdated (my reference here covers all server-side programming in languages such as PERL, Python, etc.) Java and Java applets and Flash/Actionscript would also be handy adventures. So in the end it just depends on how involved you want to get. There are a lot of venues to try out so decide what you'd like to accomplish and start learning! :)