2015-11-29 63 views
0

我正在构建一个有成员和用户的登录系统。我有一张有名字,用户名,密码,电子邮件和类型列的表格。类型指定用户的类型。我已经创建了一个工作登录表单。我的问题是每次我尝试登录时都不会重定向到指定的页面。它保持在同一页面上,但给我一个空白页面。我一直在弄清楚代码有什么问题。有人能帮我吗 ? 谢谢。管理员/会员登录PHP不重定向

PHP登录代码:

<?php 
include 'try_connect.php'; 

if (isset($_POST['login'])) { 
$user = $_POST['username']; 
$pass = $_POST['password']; 
$hsl = mysql_query("SELECT name, username, password, type FROM users WHERE username='$user' and password='$pass'"); 
$data = mysql_fetch_array($hsl); 
$username = $data['username']; 
$password = $data['password']; 
$type = $data['type']; 
$name = $data['name']; 
if ($user==$username && $pass==$password) { 
    session_start(); 
    $_SESSION['name']=$name; 
    if ($type =='admin') { 
     header('Location: try_admin.php'); 
    } 
    elseif ($type =='user') { 
     header('Location:try_user.php'); 
    } 
    } 
    } 
?> 

登录FORM

<form action="try_login.php" method="POST"> 
<table style="margin-left: 30%; margin-bottom: 1%;"> 
    <tr> 
     <th style="font-family: Arial; line-height: 5px;">Username:</th> 
     <td><input type="text" name="username" style="margin-left: 10%; width: 120%; margin-bottom: 5%;"></td> 
    </tr> 
    <tr> 
     <th style="font-family: Arial;">Password:</th> 
     <td><input type="password" name="password" style="margin-left: 10%; width: 120%; margin-bottom: 0%; margin-top: 10%;"></td> 
    </tr> 
</table> 
<input type="submit" value="login" name="login" style="background-color: black; color: white; margin-bottom: 5%; margin-top: 0%; margin-left: 59%; border-color: #89cff0; border-style: double solid;"> 

+0

什么是在控制台还请确保您的header()功能是任何html输出之前叫什么名字? – Afsar

回答

0

试试这个:

<?php 
include 'try_connect.php'; 

if (isset($_POST['login'])) { 
$user = $_POST['username']; 
$pass = $_POST['password']; 
$hsl = mysql_query("SELECT name, username, password, type FROM users WHERE username='$user' and password='$pass'"); 
$data = mysql_fetch_array($hsl); 
$username = $data['username']; 
$password = $data['password']; 
$type = $data['type']; 
$name = $data['name']; 
if ($user==$username && $pass==$password) { 
    session_start(); 
    $_SESSION['name']=$name; 
    if ($type =='admin') { 
     header("Location: try_admin.php"); 
    } 
    elseif ($type =='user') { 
     header("Location:try_user.php"); 
    } 
    } 
    } 
?> 
+0

有什么区别? –

+0

只需将单引号改为双引号 –

0

使用exit()header()exit()将立即终止您的脚本。

if ($type =='admin') { 
     header('Location: try_admin.php'); 
     exit(); 
    } 
    elseif ($type =='user') { 
     header('Location:try_user.php'); 
     exit(); 
    } 

甚至在<html>标签