Uhmmm... vi los archivos, y hay algunas cosas que me confundieron
Por ejemplo...
Cuando compruebas si se recibe el formulario, haces algo como esto :
Pero luego, haces esto :
( Haces algo similar con la password )
Siendo que en el formulario, el campo
userid no existe

:.
Lo otro, es la variable
$initial, la cual comienza con un valor por defecto de
etc, pero luego, cambia a la letra inicial del nombre de usuario.
Bueno, no le cambié muchas cosas, pero me funcionó. Lo que debes tener en cuenta, es que tu código requiere muchos directorios para crear el archivo, y si no existen estos directorios, el archivo no será creado, y debería causarte error porque no los encuentra, así que me imagino que en tu computador tienes estos directorios creados.
A mi, por ejemplo, cuando probé tu código, tuve que crear un directorio que comenzara con la letra inicial del nombre que puse en el formulario, para el caso fue un directorio llamado
E, y el archivo me lo creó correctamente.
Algunos trozos los comenté, porque no me servían y no tenía como probarlos ( código sql ). Pero todo lo demás me funcionó sin problema. Te dejo el archivo .rar.
Archivo
Espero que ya no hayan problemas

. Debería funcionar bien. Nos vemos.
PD : Creo que dejé la ruta al directorio sin cambiar, así que tendrás que cambiarla a tu directorio nuevamente