Basically i want my users to not be able to access the next page until they have agreed to the TOS, however even with a script for accepting the TOS, obviously users can still type "example.com/nextpage" to avoid accepting the TOS. So is there a way I can redirect the users to another page after they have accepted the terms without displaying the URL of the page they are being redirected to?
Thanks,
No.
However, you could set a cookie that records their agreement, then simply reload the same page.
If your page finds the cookie with agreement set, it renders the normal page. If not, it renders the ToS form.
This will allow you to enforce ToS agreement without being shortcutted (unless someone manually assigns a cookie to themselves, but that is far beyond the majority of users)