PHP 未在 Ubuntu 服务器上重定向
PHP not redirecting on Ubuntu Server
我在我的本地 Windows 机器上构建了一个网站登录表单,它运行良好,但是当部署在 Ubuntu 网络服务器上时,登录重定向到 /login.php#
下面是使用的代码-
<!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>
Ubuntu 服务器上 php.ini 的 extensions
部分取消了 LDAP 的注释。
有什么Linux我在这里遗漏的具体内容吗?
非常感谢,
克雷格
if(isset($_POST['username']) && isset($_POST['password']) and $_POST['username'] !="" and $_POST['password'] !="") {
我将从这一行开始,将 and
替换为双符号:
if(isset($_POST['username']) && isset($_POST['password']) && $_POST['username'] !="" && $_POST['password'] !="") {
所以在反复尝试代码和敲打我的脑袋之后,我意识到我没有在新的 Ubuntu 服务器上安装 php_ldap!
安装了它,旧的 Windows 代码立即发挥了作用
我在我的本地 Windows 机器上构建了一个网站登录表单,它运行良好,但是当部署在 Ubuntu 网络服务器上时,登录重定向到 /login.php#
下面是使用的代码-
<!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>
Ubuntu 服务器上 php.ini 的 extensions
部分取消了 LDAP 的注释。
有什么Linux我在这里遗漏的具体内容吗?
非常感谢, 克雷格
if(isset($_POST['username']) && isset($_POST['password']) and $_POST['username'] !="" and $_POST['password'] !="") {
我将从这一行开始,将 and
替换为双符号:
if(isset($_POST['username']) && isset($_POST['password']) && $_POST['username'] !="" && $_POST['password'] !="") {
所以在反复尝试代码和敲打我的脑袋之后,我意识到我没有在新的 Ubuntu 服务器上安装 php_ldap!
安装了它,旧的 Windows 代码立即发挥了作用