Other Answer1

You are mixing up your lighting calculations. In your comments you say you're calculating the specular lighting term. So for your flat surface, the most you would hope to see with your code would be a small white area somewhere on the quad, IF the light was angled just-so. Even so the calculation is wrong as you are not calculating the reflected light vector.

The basic phong lighting model includes two other terms, Diffuse (which varies colour with reference to angle between normal and light vec, i.e. the greater the angle, the darker the colour) and Ambient (which adds uniform light to every fragment to simulate ambient light).