2016-12-01 2 views
0

おはよう/夕方、PHPログインとセッション

私は立ち往生しており、PHPでいくつかの助けが必要です。

管理ダッシュボードをコード化しようとしています。ユーザーがログインしているかどうかを確認したい場合は、ログインページにリダイレクトします。

私のindex.phpはこれです:間違ったことの多くがあり

<?php 

    // If we AREN'T on the login page , check if session exist. If not send to login 
if($pagename != "login") 
{  if(!$_SESSION['login']) 
    { 
     header('location: login.php'); 
     exit(); 
    } 
} 
?> 

:マイログインページ

<?php 
$pagename ="Index"; 

@require_once('inc/head.php'); 
?> 
<body> 
CONGRATS! Welcome to the Admin dashboard. 
</body> 
</html> 

<?php 
$pagename = "login"; 
$adminUser = "admin"; 
$adminPass = "admin"; 

@require_once('inc/head.php'); 

// If POST is submitted and IDs match the ones set 
if($_SERVER["REQUEST_METHOD"] == "POST") 
{ 
if($_POST["username"] == $adminUser && $_POST["password"] == $adminPass) 

    { 
    session_start(); 
    $_SESSION["username"] = $adminUser; 
    $_SESSION["login"] = true; 
    echo '<script>alert("Congrats, you logged in"); 
    window.location = "index.php"; </script>'; 

/* I skip the line underneath because for unknown reasons my code 
    Doesn't fully run through. So I redirected with the JS above instead. 

    header("Location: index.php"); 
    exit(); */ 
    }else{ 
    echo '<script>alert("Incorrect username or password!'");</script>'; 
    } 
} 
?> 

<html> 
<!-- login page here --> 
</html> 

そして、ここに私のhead.phpを行きますこれと私は知っていますが、現在私は問題のログインを修正しようとしています。私がログインするたびに、正常にログインしたことを示すJSポップアップが表示されますが、インデックスにリダイレクトされません。私は私のindex.phpに送られると思います(私のJSリダイレクトが機能しない理由はありません)が、私のインデックスは私をログインに戻してくれています。

+1

セッションはそれらを使用するすべてのページで開始されましたか? head.phpファイルのようには見えません。 –

+0

'session_start();'が** head.phpにありません** –

+0

しかし、私はユーザーがログインした後にセッションを作成したいだけです。あるいは、関係なく作成する必要がありますか?に? – FrenchMajesty

答えて

0

セッションを開始します。head.phpページ。

head.php

<?php 
if($pagename != "login") { 
    session_start(); 
    if(!$_SESSION['login']) { 
    header('location: login.php'); 
    exit(); 
    } 
} 
?> 
関連する問題