I would suggest something along these lines:
if (( !empty( $fields['12']['value'] ) && '13-18 Years Old (Monthly) - £2' == $fields['12']['value'] ) && $fields['19']['value'] == 'Direct Debit') { $url = 'http://members.link.com';
When building logic constructs like this, it helps to break them down before trying to code them. Start with the smallest and work your way backwards:
Field 19 = 'Direct Debit'
AND...
Field 12 isn't blank AND equals '13-18 Years Old (Monthly) - £2'
Then build it in reverse order.
That might help. (Not 100% on the syntax, it's been a while since I've done PHP.)