管理员/会员登录PHP不重定向

时间:2015-11-29 07:57:21

标签: php mysql

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

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 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;">

2 个答案:

答案 0 :(得分: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");
    }
   }
  }
 ?>

答案 1 :(得分:0)

exit()之后使用header()exit()会立即终止您的脚本。

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

还要确保在header()标记之前html输出之前调用<html>函数