The best way to become good at anything, wether it is programming, playing an instrument or a physical activity is to practice. Write lots of code. Try to learn as much as you can along the way. Read other peoples code as well as books and articles about programming. Try out the stuff that you learn. And never think you have learnt it all. There's always more to learn, and another field to master.
In addition to plenty of reading and practice, make friends with others who have the same interest. Becoming part of a community of people all interested in doing the same thing will answer the question you're asking permanently.
But to answer your question more specifically, you should learn something about data persistence (databases, etc.). Try MySQL since you already have some PHP. The two go together like peas in a pod.
This book is what its title promises. It will show you what it takes to become a good programmer, and what are all the different areas, activities and skills involved in producing software. What is IMHO the most important is, it gives you the big picture, and teaches you the mindset to become a successful developer: one who is able to solve his clients' problems efficiently.