我正在为本地应用程序创建一个登录表单,该登录表单将首先针对LDAP服务器(用户名和密码)进行身份验证,然后向本地mySQL DB进行身份验证,以检查用户(提供的用户名)是否已在数据库中注册并有权访问此本地应用)。
我已经弄清楚了LDAP的代码以及用于查询用户是否存在于数据库中的php查询,问题是我没有弄清楚如何正确地在php文件上写入用于管理它们的案例:
前端HTML网站“ index.html”
<form action="query.php" method="post">
<div>
<label for="username"><b>Username</b></label>
<input type="text" placeholder="Enter Username" name="username" required>
<label for="password"><b>Password</b></label>
<input type="password" placeholder="Enter Password" name="password" required>
<button type="submit">Login</button>
</div>
</form>
php文件用于管理LDAP,然后管理mySQL查询“ query.php”
<?php
$servername = "app.server.com";
$username = "root";
$password = "something";
$dbname = "app_calendar";
$error = false;
// check LDAP for username and pwd provided
$ldap = ldap_connect("ldap.server.com");
if (@$bind = ldap_bind($ldap, "ls\\".$_POST['username'], $_POST['password']))
{
//SQL part to check if user is on app DB
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error)
{
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT name, mail FROM ms_resources.users WHERE laptop = '".$_POST['username']."' LIMIT 1";
$result = $conn->query($sql);
if ($result->num_rows > 0)
{
while($row = $result->fetch_assoc())
{
$result2='<div class="alert alert-success alert-dismissible fade in">
<a href="#" class="close" data-dismiss="alert" aria-label="close">×</a><strong>User logged in!</strong> Welcome '. $row["name"]. '</div>';
$error = true;
}
}
else
{
$result2='<div class="alert alert-danger alert-dismissible fade in">
<a href="#" class="close" data-dismiss="alert" aria-label="close">×</a><strong>Error!</strong> No access granted for user: '.$_POST['username'].'</div>';
}
$conn->close();
}
else
{
$result2='<div class="alert alert-danger alert-dismissible fade in">
<a href="#" class="close" data-dismiss="alert" aria-label="close">×</a><strong>Error! </strong>Invalid credentials!</div>';
}
<div class="container">
<div>
<?php echo $result2; ?>
</div>
</div>
</body>
</html>
我将使用最后一部分:
<div class="container">
<div>
<?php echo $result2; ?>
</div>
</div>
要发送引导程序错误,但之后又不知道如何重定向到适当的情况,我将不胜感激