Your problem is, that you forgot that OpenGL is a state machine. I.e. it keeps the state of what it does last and applies it to the rest of it. You're drawing a textured quad, but that also incorporates all the other state you defined. Including the color you've set to draw your menu entries (which you shouldn't draw using glutBitmapString in the long term).
So you've to bring OpenGL into a state that is apropriate for drawing a textured quad. Now you should really use shaders and vertex arrays (in VBOs), because in modern OpenGL all the drawing details are controlled by the used shader, which is switched with a single line.
`glUseProgram(…);`
In your case however, using immediate mode in fixed function pipeline you've to set a number of things:
glClear (GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glDisable(GL_DEPTH_TEST);
glDisable(GL_LIGHTING);
glColor3f(1.,1.,1.);
/* and probably a few more depending on what you're setting elsewhere */
glBindTexture(GL_TEXTURE_2D,texture);
glEnable (GL_TEXTURE_2D);
glBegin(GL_QUADS);
…