2012-07-02 33 views
1

客户端登录此页面时出现问题。这些人被分配一个号码,不管他们的号码是什么,他们都得到一个空白页。如果他们输入密码无效,他们会收到无效的密码信息,所以我知道部分代码正在工作。我还在浏览器中验证了每个客户端应该实际运行的目标。任何帮助你可以提供将不胜感激!使用PHP登录页面时遇到问题

<Doctype HTML> 
<html> 
<head> 
<?php 

//include the required functions 

include(' ./includes/functions.php'); 

//make connection 
$db = conn(); 

//check for username and password 
if(isset($_POST['username']) && isset($_POST['password'])) { 

//Query the db for the user 

$result = $db->query("SELECT * FROM users WHERE username ='{$_POST['username']}'"); 

//fetch the result set 
$row = $result->fetch_assoc(); 

//check credentials again the database 
if ($result == true && md5($_POST['password']) == $row['password']){ 

//store user as seesion variable 
$_SESSION['valid_user'] = $_POST['username']; 

/* 
* @Locations: 
* /admin, /calc, /live 
* 
* @Authorization Levels 
* 1 = production employee 
* 2 = Quality tech 
* 3 = Management 
* 0 = not authorized 
* 
* @var = $row['active'] 
*/ 

if ($row['active'] == '3') { 
    header('Location: ./admin/index.php '); 
} 
elseif ($row['active'] == 2) { 
    header('Location: ./calc/index.php '); 
} 
elseif ($row['active'] == 1) { 
    header('Location: ./live/data.php '); 
} 

} 
elseif ($_POST['password'] != $row['password']) { 
    echo ('Password Incorrect'); 
} 

} 
else 
{ 

?> 

<style type="text/css"> 

body 
{ 
margin: 0; 

/* IE10 */ 
background-image: -ms-linear-gradient(bottom, #FFFFFF 0%, #7EBC50 100%); 
background-repeat: no-repeat; 

/* Mozilla Firefox */ 
background-image: -moz-linear-gradient(bottom, #FFFFFF 0%, #7EBC50 100%); 
background-repeat: no-repeat; 

/* Opera */ 
background-image: -o-linear-gradient(bottom, #FFFFFF 0%, #7EBC50 100%); 

/* Webkit (Safari/Chrome 10) */ 
background-image: -webkit-gradient(linear, left bottom, left top, color-stop(0, #FFFFFF), color-stop(1, #7EBC50)); 

/* Webkit (Chrome 11+) */ 
background-image: -webkit-linear-gradient(bottom, #FFFFFF 0%, #7EBC50 100%); 

/* Proposed W3C Markup */ 
background-image: linear-gradient(bottom, #FFFFFF 0%, #7EBC50 100%); 

/* IE6-IE9 */ 
filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='#7EBC50', EndColorStr='#FFFFFF'); 

} 

#login 
{ 
background-color: #FBFBCA; 
width: 15em; 
margin-right: auto; 
margin-left: auto; 
margin-top: 15%; 
margin-bottom: auto; 
border: 2px solid #3A8E00; 
border-radius: 5px; 
text-align: center; 
padding-bottom: 1em; 
box-shadow: 10px 10px 5px #888888; 
-moz-box-shadow: 10px 10px 5px #888888; 
} 

#login .text, h4 
{ 
color: #1C4F00; 
font-family: "Helvetica Neue", "Lucida Grande", "Segoe UI", Arial, Helvetica, Verdana, sans-serif; 
} 

</style> 

<title>LLF Lab || Login Page</title> 

</head> 

<body> 

<div id="login"> 

<h4>LLF Lab Login</h4> 

<form action="login.php" method="post"> 

<span class="text">Username:</span><br /> 

<input type="text" name="username"/><br /> 

<br /> 

<span class="text">Password:</span><br /> 

<input type="password" name="password"/> 

<br /> 

<br /> 

<input type="checkbox" name="rememberme"/><span class="text">Remember me</span> 

<br /> 

<br /> 

<input type="submit" value="Login" /> 

</form> 

</div> 

</body> 

</html> 

<?php 

}//endif ?> 
+0

请正确格式化您的代码。 – Hamish

+0

CSS不是必需的(除非它没有工作)。还有SQL注入;谷歌了数据库转义,或使用PDO /准备语句,以避免这种繁琐和过时的方法。 – mario

+0

你不应该在你的查询中使用*。 – DarthVader

回答

2

您在将HTML输出到浏览器后使用了header()。移动

<Doctype HTML> 
<html> 
<head> 

下面的PHP代码。

+0

我移动它,但我仍然不工作 – MegeanW

+0

确保在<?php之前没有空格。另外,你可以提供你的PHP错误日志中的最后几行吗? –

1

header("location: example.html")只有在没有其他东西被打印的情况下才有效。由于您在header()之前正在打印文档类型(它不正确,所以它不会重定向)。在php下移动开始的html。

相关问题