登录后如何将用户重定向到正确的页面?

时间:2015-05-01 09:39:58

标签: php login main

我想将用户重定向到正确的主页面。我还希望在login.php中保留我所知道的会话。在我的users表中,我存储了用户名,密码和类型。

的login.php

<?php

require ('connect.php');
if (isset($_POST['submit'])) {

$username = $_POST['username'];
$password = $_POST['password'];


if ($username && $password) {
    $check = mysql_query("SELECT * FROM users WHERE username='".$username."' AND password= '".$password."'");
    $rows = mysql_num_rows($check);


    if(mysql_num_rows($check) != 0){

      session_start();
      $run_login =mysql_fetch_array($check);
      $uid = $run_login['id'];
      $_SESSION['uid'] = ['uid'];
      $_SESSION['username']=$_POST['username'];
      header("location:../../statistics/home.php");

    }
    else{
      die("Could not find the Username or password.");
   }
}
 else {
     echo "Please fill all the fields.";
 }
}
?>

2 个答案:

答案 0 :(得分:3)

:一种。方法1

您可以使用header()函数发送新的HTTP标头,但必须在任何HTML或文本之前将其发送到浏览器(例如,在声明之前)。

  

标题('位置:'。$ newURL);

<强> B中。方法2

模具()

  

标题(“位置:http://example.com/myOtherPage.php”);

     

模具();

<强>℃。方法3

此功能不包含303状态代码:

function Redirect($url, $permanent = false)
{
    header('Location: ' . $url, true, $permanent ? 301 : 302);

    exit();
}

Redirect('http://example.com/', false);

这更灵活:

function redirect($url, $statusCode = 303)
{
   header('Location: ' . $url, true, $statusCode);
   die();
}

欲了解更多信息,请参阅: How to make a redirect in PHP?

答案 1 :(得分:0)

put die();标题之后(“location:../../ statistics / home.php”); 并在home.php检查会话