2016-09-15 5 views
-4

セッション変数が初めて設定されていません。 action.phpからemployee.phpに移動しますが、employee.phpで$ _SESSION ['EmpID']は初めてログインすると何も表示されません。ログアウトしてもう一度ログインしても正常に動作します。ローカルホストで正常に動作します。PHP SESSION変数が最初に動作しない

action.php 

<?php 
session_start(); 
if(isset($_POST['UserID'])&&isset($_POST['Password'])) 
{ 
$id = $_POST['UserID']; 
$pass = $_POST['Password']; 
$result = mysqli_query($con,"select * from auth_det where  UserName='$id' and Password='$pass'"); 
if(mysqli_num_rows($result)>0) 
{ 
$row = mysqli_fetch_array($result); 
//echo $row['UserID']; 
//echo $row['Password']; 
       $_SESSION['UserName']=$id; 
       $_SESSION['EmpID'] = $row['EmpID']; 
     $_SESSION['is_auth'] = true; 
      $_SESSION['User'] = "Emp"; 
       echo "<script type='text/javascript'>window.location.href = 'Employee/employee.php'; </script>"; 
       exit(); 

}

logout.php 
<?php 
session_start(); 
session_destroy(); 
echo "<script type='text/javascript'> document.location = '../login.php'; </script>"; 
?> 


employee.php 

session_start(); 
$EmpID=$_SESSION['EmpID']; 
echo "EmpID=".$EmpID; 
if(!isset($_SESSION['EmpID'])) 
{ 
echo "<script type='text/javascript'> window.location.href = 'logout.php'; </script>"; 
} 
+1

の上ノーコードにsession_start();を書くのを忘れてdid'ntことを確認してください=いいえ質問 – nogad

+1

あなたのコードを表示 – Dave

+1

あなたはもっと具体的になりますか?あなたの質問は広すぎる、コードとシナリオを提供する。 – Ajir

答えて

0

action.phpファイルにsession_start()を移動しよう。 最初の接続時にphpはセッションを作成しませんaction.php その後リダイレクトされ、employee.phpがセッションを開始します。 これをやり直すと、セッションは既に開いているので、アクションPHPで問題はありません。

はまた、ヘッダにはJavaScriptリダイレクトを切り替える考えるクライアントはJavascript

+0

session_start()はaction.phpファイルにあります。しかし、まだ問題が存在する。 –

+0

また、header()も機能しません。したがって、私はJavaScriptを使用しています。 –

0

を無効にした場合、それはまだ動作しますので、リダイレクトあなたはaction.phpページ

+0

session_start()はaction.phpファイルにあります。しかし、まだ問題が存在する。 –

+0

これはうまくいくと思います。 'session.start();'の後に接続コードを書いて、各ファイルの先頭にこのファイルを含めなければならない 'config.php'を作成します。 –

+0

Ok ..私はこれを試します。 –

関連する問題