I have seen several instances where a user could not login using the GUI. The system appears to be accepting the user name and password combination but returns to the GUI login screen rather than proceeding to the desktop.
The symptoms I encountered were that I was unable to login as a non-root user through the display manager (DM) login screen. I would select my user account if it was not already, enter my password, and press Enter or click on the login button. After a second or two the display manager login screen would display again.
All users including root could login via SSH or one of the virtual consoles.
The root cause of this problem was the /tmp filesystem (yes, I set up /tmp as a separate filesystem) filling up. Logins to a GUI desktop requires the X Window system to create temporary files in the /tmp filesystem. If these files cannot be created the login fails and the display manager login screen is displayed.
This problem does not affect terminal logins using SSH or a virtual console because those logins to not create temporary files in /tmp.
You should be able to login using one of the virtual terminals because a text mode login does not create files in /tmp. Simply press the key combination Ctrl-Alt-F2( or 3,4,5 or 6) to get to a different virtual terminal login session and you can login from there.
Use the df command which will tell you the status of the filesystems. It will be necessary to delete some files from the full filesystem in order to make room. On a system using Logical Volume Manager, it may be possible to add more space to the /tmp file system to provide additional room.