Note you don't need to pay a lot to have a contract that covers calls, texts and data.
I am with T Mobile (now called EE) and I only pay about £9 a month and that covers calls, texts and data.
I did not get a free phone, but I only paid £79 to get a Samsung Galaxy S3 Mini from them that is fine for my needs.
Note that phone companies often offer deals saying things like "£30 a month and a free phone" but over a 2 year life of a phone contract that is going to cost about £720.
It is best to try to get a low priced monthly contract (you can get some monthly contracts at less than £10 a month) and then buy the phone yourself (you can get a Samsung Galaxy S3 mini for about £100).
So a £10 monthly contract, plus say £100 for a phone, is only going to cost you about £340 over 2 years.
So don't always go for the "free phone" offer from these companies as they are often not a good deal, particularly if you are paying for "free" calls and texts and data you are never going to need or use.