2017-12-16 25 views
2

phpのログインページにリダイレクトしますが、ログインに成功するとhome.phpにアクセスすることはできません。 index.phpにリダイレクトされますhome.phpにログオンする前に、home.phpphpログインページにリダイレクトされません

<?php 
    include("checklogin.php"); 
    check_login(); 
?> 
<!DOCTYPE html> 
<html> 
</html> 

checklogin.php

<?php 
function check_login() 
{ 
if(strlen($_SESSION['login'])==0) 
    { 
     $host=$_SERVER['HTTP_HOST']; 
     $uri = rtrim(dirname($_SERVER['PHP_SELF']), '/\\'); 
     $extra="index.php";  
     $_SESSION["login"]=""; 
     header("Location: http://$host$uri/$extra"); 
    } 
} 
?> 

のindex.php

<?php 
session_start(); 
require_once 'class.user.php'; 
$user_login = new USER(); 

if($user_login->is_logged_in()!="") 
{ 
    $user_login->redirect('home.php'); 
} 

if(isset($_POST['btn-login'])) 
{ 
    $email = trim($_POST['txtemail']); 
    $upass = trim($_POST['txtupass']); 

    if($user_login->login($email,$upass)) 
    { 
     $user_login->redirect('home.php'); 
    } 
} 
?> 

<!DOCTYPE html> 
<html> 

</html> 

助けてください。 ログインに成功すると、エラー率が多すぎますリダイレクト

+0

を役に立てば幸い? –

+0

check_login()関数は必要ありません。ちょうどページを含めるだけで十分です。 –

答えて

0

ホームページコードにsession_start();を追加する必要があります。セッションがhome.php

<?php 
    session_start(); 
    include("checklogin.php"); 
    check_login(); 
?> 
<!DOCTYPE html> 
<html> 
</html> 

で開始されていないので、あなたはあまりにも多くなっているとすると、エラーをリダイレクトし、それはあなたには、いくつかのPHPフレームワークを使用している

+0

'var_dump($ _ SESSION)'とログイン変数がセッションにあるかどうかを確認してください。 –

+0

http://thuongton.cf/home.phpにログインしていないときと、電子メールでログインしたとき// pass:[email protected] // demo @ 123 –

+0

は、ユーザークラスでCookieを使用しているようです。そうじゃない?ユーザークラスのコードを質問に追加する方が良い –

関連する問題