Podrias ver esto...
http://php.net/manual/es/function.uniqid.php pero no comprendo porque usas el session_id habiendo otros métodos más seguros... el UNIQID se crear a partir de lo que te dije anteriormente, solo que no es muy eficiente para cuestiones de seguridad, pero si el fin es solo iniciar sesion, pues, puede funcionar... si no es mucha molestia, y para entender tu punto de vista, podrías explicar porque usas ese método y no COOKIES o directamente $_SESSION creados a partir de los datos de usuarios.??