当进入登录页面时,如果已登录则重定向到索引

时间:2016-01-19 10:18:17

标签: php

当用户首先没有登录时转到索引,它将重定向到登录页面。

但如果用户在登录时尝试打开登录页面,如何让用户重定向到索引?

我的登录php:

    <?php
if(isset($_POST["button_login"]))           //FUNGSI LOGIN
{ 

    $user   = $_POST["name"];
    $pass   = $_POST["password"];

    $sql_login      = "SELECT * FROM user WHERE username='$user' AND password='$pass'";
    $result_login   = $conn->query($sql_login);
    $row_login      = $result_login->fetch_assoc();
    $numrow_login   = $result_login->num_rows;

    if($numrow_login==1)
    {
        session_start();
        $_SESSION['user'] = $user;
        header('Location:index.php?');
    }
}
?>

3 个答案:

答案 0 :(得分:3)

您应该首先测试他们是否已经登录。最好是在脚本文件顶部var Phantasma = require('phantasma'); var ph = new Phantasma(); var domains = ['http://www.simpleweb.org']; for (domain in domains) { var dom = domains[domain]; ph.viewport(1360, 960) .open(dom) .screenshot('home.png') .evaluate(function () { var links = [].filter.call(document.querySelectorAll('a'), function (link) { if(link.hostname === document.location.hostname) { return link } }) return links.map(function(link){ return [link.hostname, link.pathname]; }) }) .reduce(function(links, link){ var cleanSlashes = link[1].replace(/\//g, '.') // change forward slash to . to be able to save on windows. console.log('processing: ' + link[0] + link[1]); return ph .open('http://' + link[0] + link[1]) .screenshot(cleanSlashes + '.png') .catch(function (e) { console.log('error in scrapurl', e) }) }) .catch(function (e) { console.log('error', e); }) .finally(function () { console.log('finally!'); ph.exit(); }); }

session_start()

答案 1 :(得分:2)

基本上,您有两种情况:

1)如果用户未登录并访问index.php,则应将其重定向至login.php

- 您已经实施了此项检查。

2)如果用户已登录并访问login.php,则应将其重定向至index.php

在最顶部的login.php添加一个支票:

这将检查会话是否已设置,重定向到index.php

if (isset($_SESSION['user'])) {
  header('Location:index.php?');
}

另外,请勿添加结尾?>代码。

如果你添加它,一些FTP客户端可能会在那里添加空格,导致header("Location:xyz.php")由于页面上的输出而没有发生。

答案 2 :(得分:1)

你的索引中需要这样的东西:

if (isset($_SESSION['user'])) {
    header('Location:index.php');
}