I'm trying to upgrade my code to modern OpenGL, so far I've successfully got a rectangular VBO drawn on the screen and was able to get it textured without shaders. But now I'm having trouble getting the texture displayed when using shaders.

As said before, I have gotten the texture to be drawn on the VBO without using shaders, so texture loading is not the issue here, I have also checked that the shaders are successfully compiled and binded to a program object, so you can rule that out too.

Here is my code, I hope this is all that is needed since I've done the error checking stated above however if you do, just ask.

main.c (slighlty simplified):
Code :
GLuint titleTexture;
loadTexture(binary_title_jpg_start, (size_t)binary_title_jpg_size, &titleTexture, SOIL_FLAG_COMPRESS_TO_DXT);
short titleShader = compileShaders(binary_testVertex_glsl_start, (size_t)binary_testVertex_glsl_size, binary_testFragment_glsl_start, (size_t)binary_testFragment_glsl_size);
while(1) {
	int textureSampler = glGetUniformLocation(titleShader, "textureS");
	glUniform1i(textureSampler, titleTexture);
	glBindTexture(GL_TEXTURE_2D, titleTexture);

Code :
void main() {
	gl_TexCoord[0] = gl_MultiTexCoord0;
	gl_Position = gl_Vertex * gl_ModelViewProjectionMatrix;

Code :
uniform sampler2D textureS;
void main(void) {
	gl_FragColor = texture2D(textureS, gl_TexCoord[0].st);

The VBO rendered is just plain black, what's up with that?