The ideal approach from your point of view would be to get a royalty per T-Shirt, with a set minimum fee. This is a very common approach for licensed properties. So for instance, you might say you want £2 per shirt sold, with a minimum commitment from them of £200. This way, if they never sell more than 100 shirts, you've still been payed a reasonable amount, but if they sell a million of them, you get rich too. This would require contracts and some way of verifying their sales figures so you might decide that it's not worth the trouble.
A more basic deal would be to set a fixed price, but get them to sign something saying that they are only buying the rights to put it on T-Shirts for a fixed amount of time or a maximum number of units, but they can't use it for anything else or sell the image on to anyone. This kind of caveat would probably apply in either case.
Which way you go probably depends on who is wanting to use your work. If it's a friend of a friend running a stall at the local market then keep it simple and get the biggest reasonable lump sum that you can, if it's Nike or Adidas or French Connection that are interested, get a decent fee per sale and a large minimum (and a lawyer).