I am not fully experienced web developer.I am more likely stand alone application guy experienced lots of languages like c,c++,java,c#.I have lots of ideas for web projects wtih knowladge of php and mysql but when i start to develop i give up when i come to design stage.ıt really frustrating , do you have any suggestion for that?
get css design templates, or just web templates i guess would be a good start, programming is logical rather than creative, and like myself there is many programmers that cant design for sh*t, but i work in a design agency where i do the code and they do the image sprites.
Start small, very small. Projects that take a single day are the best to get started.
Don't start with the design of a page, instead just get the data on the screen. After the data is on the screen take a pieces of paper and draw out your design. Make a few designs even if you think you found the perfect one draw a few more.
Use a template system so you can make several templates and select the best features between them.
Look at websites that sell or propose css templates and try to understand how they have done them and why they look like pro.
Web sites are REALLY complex.
Start smaller.
Every web application has a number of tiers.
1) The underlying, persistent data. The files or databases. There is nothing web-specific about this. You can write this first. This is database or file design. Not much to do, but do it first.
2) A "model" that encapsulates what the site does. This is based on the persistent data. There is nothing web-specific about this. Write this second. Get it to work as a text-based Unix-style program that does simple reads, writes and prints to the console. This is where the real work is getting done. Leave off the HTML/CSS and all that stuff.
3) A "view" of the model. This is where a web framework (like PHP) interacts with your model. This is HTTP-based, but not terribly complex. It involves URL's, GET and POST to interact with the model.
4) A "presentation". This is your final, good-looking HTML with proper CSS. Since everything else already works, you are free to mess about here without wondering what you broke when you change something.
Start with a design. The design defines how well your users interact with, and use your website - in modern websites, this is paramount. They won't be bothered with how well it is implemented from a backend perspective - if it works, it works, but if it isn't useable, people won't use it.
To do this, start out by wireframing each page of the site you propose to build. This means drawing the layout and content of the website without applying any actual design. This can be implemented as simple hand sketches on a pad, or creating interactive wireframes in an application such as Axure.
In a way this will produce a specification for the site, and will help you work out what pages are actually require to produce it.
You can then purchase a pre-built template from as site such as Theme Forest, and then use it to implement the wireframes you have created. Then make it work - wire it up to the scripts you have no problem creating.
A moderately contrary thought: Ignore design, by which I mean ignore CSS, ignore colours, ignore typefaces, ignore positioning. Start with plain jane default HTML and make your application look good to you with that.
I emphatically do not mean start putting css information into a style attribute of the tags, or using font tags or color attributes of the tags. I mean just ignore that and learn how to mark a page up. Cleanly written HTML is going to present moderately well all by itself and before you can write great CSS you need to write great HTML anyway.
Most designers will tell you that logos and layouts and such need to look great in black and white before worrying about colour, and this is a moderately absurd extension of that. Explore the HTML 4.2 strict tags that are available to you and figure out how to present your data.
Once you nail that, you can be comfortable moving on to typographic elements. Typography is a great thing for programmers to learn because it's all logical rules based largely on mathematics. Read the Elements of Typographical Style, then read The Elements of Typographical Style Applied to the Web (or vice versa, the latter is at http://www.webtypography.net/).
"If you want to build a ship, don't drum up the men to gather wood, divide the work and give orders. Instead, teach them to yearn for the vast and endless sea."
you don't have to read my ramblings; just watch The Last Lecture to get the point I'm trying to make.
For programming, I fully believe that Creativity is that "endless sea". Creativity is not only healthy (research), but it can be what makes you alive! To be able to see a world in your head, and then to persevere until you have made it is quite a glorious feeling. And by "world" I don't mean a MMORPG world or something (though it could be that), I mean whatever it is that you dream that you want done.
Also, all pain is subjective to hope/meaning/purpose. Programming will be a pain in the ass sometimes (in fact, so will life), but for those who fixate on a deeper satisfaction/joy/etc, there will actually be a reason for enduring the pain of learning and the pain of sheer grit and willpower to keep coding/debugging/etc
I know beyond any shadow of a doubt that the reason I am whatever good I am at programming, it is because very specific friends and professors believed in me, and tried to impart the same yearning for the vast and endless sea.
Perhaps, this is not applicable to your situation. If not, then no biggy; I can afford the cost it will be to my site's reputation. But everything I said is still true. :)
btw, the quote is from Antoine_de_Saint_Exupéry: http://en.wikiquote.org/wiki/Antoine_de_Saint_Exup%C3%A9ry