Alright, what you are describing appears to be the activation page, which is currently working correctly. However, testing it takes a little additional work.
First, make sure that you correct that simple parse error in functions.php.
If you copy the code that I pasted in my last message and replace your function with that, it will fix the error. You had:
And it should be:
Just a closing parenthesis issue.
Now, when you register successfully, an email is sent out. That is working and I did test it. However, as you may or may not be aware, testing the mail function in PHP will usually not work if you are running code locally. That is because the mail function relies on the locally installed SMTP server. You probably are not running and SMTP server because there is no good reason why an individual would be running an email server. Usually, the mail command will not function until after the code is uploaded and running on an actual web server.
However, there is actually a way to test emails locally. Go here and download the test mail server tool. The entire purpose of this tool is to enable you to test emails.
Install it and run it. Once it is running, do not change any settings, just leave it running.
Then test your registration. When the registration page triggers the email, this test tool will intercept the call to mail and open the email in your default desktop email program (e.g., Outlook, Windows Live Mail).
You will see in the email that you are provide the full link to your school site. If you are running locally, obviously that link will not work. You would want to copy the part that start with activate.php? and go to your local version, making sure that you've copied the entire code. If you are running this from your school site, then you can simply click on the link.
Once the activation page loads and you have passed in the code from email, either by loading the file locally or by actually running all of this on your site, the activation page does currently change the active from 0 to 1 for that user. Until you have followed the link from the email, the user active is set to 0. And yes, the active.php page uses all PDO.
So, you see, the functionality you are describing is already implemented and functional.
Let me know if you have any other questions.