Well, I always prefered ASP on PHP, since my first "advanced" applications ( such as guestbooks, counters... ) were in ASP...
But i wanted to move on into PHP... so I started learning the basics of every language ( variables, strings, operators, conditionals and loops, arrays, get and post, forms... ), and i guess the best way to learn is to have your notepad open while learning, test everything you learn, always edit the original code... surf the web for "known" web utilities and applications, such as guest books, counters, mailing systems, captcha images, registeration & login system... read the source code, try to "pull" a "general" script from examples...
And finally, think of what do you want, and try to invent your own code ( it started to work with me after what i did the mentioned things in the above paragraph )
now, i've finished php databasing, and started to parse XML with php, and later on, i wanna start learning AJAX with PHP...
Good Luck π