Thanks to Jochem Mass for helping earlier to the string splitting. Works great (so far). Now on to my next problem, which has to do with ldap_bind(). I have the following code: $ldapconn = @ldap_connect($adServer); $ldapbind = ldap_bind($ldapconn, $ldapuser, $ldappass); if ($ldapbind) { /** Successful authentication **/ $_SESSION['username'] = $username; $_SESSION['password'] = $password; } else { /** Authentication failure **/ $form->setError($field, "« Invalid username or password »"); } ldap_unbind($ldapconn); The problem with this is that if the ldap_bind() fails in the second line, it instantly spits text out to the browser: Warning: ldap_bind() [function.ldap-bind <http://www.smartroute.org/contest/include/function.ldap-bind> ]: Unable to bind to server: Invalid credentials in /home/contest/include/session.php on line 351 And because it does that, it never reaches the if routine right below it and everything just bombs. If I call it with @ldap_bind($ldapconn .) nothing happens. The error message gets suppressed but it also doesn't do anything with the if routine afterwards. It's almost like $ldapbind isn't getting set at all. What am I missing here?