Glsl shader blank screen

this vertex shader renders this
renders fine a square with vertices

float data_vertex[]={


But when gl_position is given vertices multiplied by projection vector.Screen goes blank…what could happen here?
I also see that when in immediate mode a triangle is drawn with vertices multiplied by projection matrix it works fine but when shader is binded then the same problem happens for the immediate mode triangle(it disapppears)…
And also why this happen that when you do is one time its all fine and the second time every thing(i dont know what) but someting goes wron.Why is opengl like this?this thing happens so often.