Web application development for Beginners
PHP is a weird beast, on the one hand it is supported pretty much everywhere. On the other hand, the language is quirky and it makes it easy to do the wrong thing. I constantly come across PHP applications that mix business logic with HTML. It is also trivially easy to write insecure applications in PHP. If you are going to go for PHP I would recommend using a framework, however I haven't investigated enough of them to recommend one over any other.
I have no experience with CodeIgniter, but a lot with Rails (for a busy invite-only social network) and Django (for a community based site w/ integrated shop).
Out of these frameworks, I would recommend Django. The approach to Models is more clearly defined, the URL mapping is (imho) much nicer than Rails routes, the form handling is nice too. Off the top of my head, I can't think of anything that Rails does that I wish Django could do the same way.
However, if you are looking for jobs, their usage is pretty much in this order:
PHP has been around for ever, Rails was a bit before Django and got a lot of mindshare, Django is used in quite a few places, but isn't advertised for as often.
Both Python and Ruby are easy to learn, and you can pick them up as you learn the framework. Generally Django and Rails don't require you to know too much of the language to use the framework. I find them a good introduction to the language as a whole.