Okay, 1st of all, AUTH and sessions are two different methods for authentication.
php $AUTH* variables provides you with a way to hook into HTTP authentication. So say you just wanted to make sure nobody could see anything under a virtual directory with Apache. You throw in a .htaccess file in that directory and each time your browser requests a file from that directory, you get that browser popup window until you supply the correct credentials. Now you have free reign of that directory as the server remembers you via cookie.
Sessions are much more flexible. Sessions weren't neccessarily created for authentication, but work great. Basically the principle is: php stores values for you serverside and remembers you via id from a locally stored cookie. Since this id is HUGE and random, it can provide for pretty decent authentication.
So what you do is (in theory) you use a basic html form to request a username and password with are queried against a database. If you find a match you can register x number of session variables to store just about anything. Then you just have a few lines of code (or header include script) that checks to make sure the session varible(s) is/are set. If not, send a redirect via Header() function.
Good luck