[eluser]gRoberts[/eluser]
This is because should one be true, the other may be false, causing the if statement to return true and redirect to `login`.
I think what your looking at doing is redirecting if both don't exist, meaning you want to change from pipe (||) to ampersand (&&).