>if (dta_file == NULL);
This has an extra semi-colon on it. Therefore the code that follows this statement will be executed regardless of the result of this test. Remove the semi-colon.

>dta_file = fopen("client.dat");
You forgot the second parameter to this function, telling it what mode to open the file with. If you reading the file, do this
>dta_file = fopen("client.dat", "r");
But, you must check that dta_file is not NULL before using it, else your app will probably crash.
This line of code also needs to be moved, as you are not allowed to have function calls in the middle of declarations. Move it to after
>struct fclient *valid;

I'm still curious what you're trying to achieve here
Code:
dta_file = fopen("client.dat", "wb");
fclose(dta_file);
I presume you're going to add code later to do something inbetween opening and closing the file?