lynda.com and vtc.com have a bunch of videos for php and other languages. the book that i started on i really cant remember the name. but the real best way to learn is
watch the videos or read a few books and follow its projects and make it yourself. once you are done doing that
come up with a few projects to make yourself from scratch if you need help on ideas here you go.
-ability to upload an image
-ability to view all images uploaded and ability to delete them
- ability to label each image uploaded
- for more ideas take a look around and incorporate whats out there into your project.
- an application that checks to see if a username exists or that if the password entered is correct or not. remember when storeing passwords in a database never store it as plain text use an encryption method like md5, sha1, etc. i dont recomment md5 but its good learning practice.
if your not motivated enough to create your own projects either ask your friends if they want a site that you can build them or trow yourself into the freelance world and make projects for people to make money. if you end up messing up or the customer gets pissed off because your delaying or errors are popping up. dont worry keep trying at it and eventually you'll get better. without those happening to you, 99% chance you wont be a good developer.
but in my opinion, the world of programming is dead if i were you and you are young join the medical world become something related to medical that is where the real money is at. when websites working as a freelancer you'll end up spending months on a project and only make 1k to 1,500 and after a few months its lower than minimum wage. i wish i can switch but right now i cant since i have to make money whatever way possible to pay bills since companies are too ****en picky when hiring.