I've built a website login form on my local Windows machine that works perfectly but when deployed on an Ubuntu web server, the login for redirects to /login.php#
Below is the code used -
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<?php
session_start();
if(isset($_POST['username']) && isset($_POST['password']) and $_POST['username'] !="" and $_POST['password'] !="") {
$adServer = "SECRET";
$ldap = ldap_connect($adServer);
$username = $_POST['username'];
$password = $_POST['password'];
$ldaprdn = 'SECRET' . "\\" . $username;
ldap_set_option($ldap, LDAP_OPT_PROTOCOL_VERSION, 3);
ldap_set_option($ldap, LDAP_OPT_REFERRALS, 0);
$bind = @ldap_bind($ldap, $ldaprdn, $password);
if ($bind) {
$_SESSION['Authenticated'] = true;
header("Location: /Web/CSI/indexAuthenticated.php");
} else {
$msg = "Invalid email address / password";
echo $msg;
$_SESSION['Authenticated'] = false;
}
}else{
?>
<div class="loginbox">
<form class="loginform" action="" method="POST">
<img class="loginlogo" src="img/blue.png" />
<label class="loginlabel" for="username">Username: </label>
<?php
echo "<input class='logininput' id='username' type='text' name='username' value=";
$userid=get_current_user();
echo $userid=get_current_user();
echo ">" ;
?>
<label class="loginlabel" for="password">Password: </label>
<input class="logininput" id="password" type="password" name="password" />
<input type="submit" name="submit" value="Submit" />
</form>
</div>
<?php
}
?>
</body>
</html>
LDAP has been uncommented from the extensions
section in php.ini on the Ubuntu server.
Is there something Linux specific I'm missing here?
Many thanks, Craig
So after a lot of playing with the code and banging my head, I realised that I hadn't installed php_ldap on the new Ubuntu server!
Installed that and the old Windows code worked a charm straight away