Football legend Sir Kenny Dalglish has revealed he has cancer.