So let's say I have a client that's gonna buy a website, we have discussed how its gonna look, and any extra pics, banners, whatever during the process will be for a fee.
And the client pays me 50% of the total amount, in the beginning.. I start designing the website and at the end when it's finnished (It looks like what we've discussed in the beginning) he dosent like it. He totally wanna change the whole layout.
You make sure at each stage you've had him sign an approval form telling you to move on to the next stage. So, after agreeing a graphic design, get him to sign it off. Then go and code the template - get him to sign that off. Finally build the site and get it signed off. If he changes his mind after approving the layout, you tell him 'no problem, but as you did approve this layout I'm going to have to charge you £xx per hour to come up with a new one.
If he didn't sign any approval forms, make sure you at least have written confirmation such as emails to prove he told you the layout was fine.
Clients are free to change their mind, so as long as they are happy to pay for your time to change things, it shouldn't be a problem. Just make sure at each stage you communicate well with the client and ensure they are truly happy with the work so far. This way you can pick up on any potential issues sooner rather than later. Also make sure your contract makes it clear that changes to an approved stage will incur extra costs.
You should have given your client an update of your work each day. Show him what have you done so far. So that if the client is not happy, you will come to know on time & it will be easy for you to amend it. After doing the entire work its hard to bring changes in it. Secondly, clients are little bit unfair in nature but we have to work with dignity as they are paying us. Take confirmation after completion of your work from your client.