title: LDAP bind using POST variable for UID?
body: <p>I am working on a login form that uses LDAP to authenticate users. However I do not know how to pass the username as a POST variable along with the DN credentials. This is working allowing me to send a password from a login form:</p>
  
  <pre><code>&lt;?php
  // using ldap bind
  $ldaprdn  = 'uid=my.name,cn=XXX,dc=XXX,dc=XXX,dc=XXX';     // ldap rdn or dn
  $ldappass = $_POST['userPassword'];  // user password
  
  // connect to ldap server
  $ldapconn = ldap_connect("server.domain.com")
          or die("Could not connect to LDAP server.");
  
  // Set some ldap options for talking to 
  ldap_set_option($ldapconn, LDAP_OPT_PROTOCOL_VERSION, 3);
  ldap_set_option($ldapconn, LDAP_OPT_REFERRALS, 0);
  
  if ($ldapconn) {
  
          // binding to ldap server
          $ldapbind = @ldap_bind($ldapconn, $ldaprdn, $ldappass);
  
          // verify binding
          if ($ldapbind) {
              echo "LDAP bind successful...\n";
          } else {
              echo "LDAP bind failed...\n";
          }
  }
  ?&gt;
  </code></pre>
  
  <p>However this does not when trying to append the value contained within the POST variable to the CN and DN values.</p>
  
  <pre><code>&lt;?php
  // using ldap bind
  $ldaprdn  = "uid = . $_POST['userLogin'] . 'cn=XXX,dc=XXX,dc=XXX,dc=XXX'";    // ldap  rdn or dn
  $ldappass = $_POST['userPassword'];  // user password
  
  // connect to ldap server
  $ldapconn = ldap_connect("server.domain.com")
          or die("Could not connect to LDAP server.");
  
  // Set some ldap options for talking to 
  ldap_set_option($ldapconn, LDAP_OPT_PROTOCOL_VERSION, 3);
  ldap_set_option($ldapconn, LDAP_OPT_REFERRALS, 0);
  
  if ($ldapconn) {
  
          // binding to ldap server
          $ldapbind = @ldap_bind($ldapconn, $ldaprdn, $ldappass);
  
          // verify binding
          if ($ldapbind) {
              echo "LDAP bind successful...\n";
          } else {
              echo "LDAP bind failed...\n";
          }
  }
  ?&gt;
  </code></pre>
  
  <p>Can this be achieved this way? I believe I can only pass three variables using the LDAP_bind function, </p>
  
  <p>Many Thanks</p>