2016-04-16 17 views
-1

変数が0の場合はセッション変数 'logerr'があります。ユーザーはログに記録されていないか、ログに問題はありませんでしたが、user/pswdが見つからない場合は変数が変更されますこの index.phpのPHPセッション変数の値が同じページで更新されない


<?php 
    session_start(); 
    if(isset($_SESSION['openclose']) && $_SESSION['openclose']=='1') { 
     header("location:index2.php"); 
     exit();  
    } 
?> 
<?php 
    if(isset($_SESSION['logerr'])) { 
    $errlog=$_SESSION['logerr']; 
    } else { 
    $errlog=0; 
    } 
?> 
bla 
bla 
<?php 
if($errlog==1) { 
    ?> 
    <h5 class="redfont">Error de Login!!</h5> 
     <?php 
    } 
    ?>     
<h2>write user & pswd</h2> 
<form id="form1" name="form1" method="post" action="f1.php"> 

BLAのような1とメインページ表示「ログインエラー BLAへ

f1.php


ob_start(); 
bla 
bla 

if($count==1){ <-- means if the user or paswd was found 
session_start(); 
    $_SESSION['logerr']=0; 
    $_SESSION['openclose'] = '1'; 
bla 
bla 
    header("location:index2.php"); 
    exit(); 

} else { 
    $_SESSION['logerr']=1; 
    header("location:index.php"); 
    exit(); 
} 
?> 

事がログインエラーのフレーズが表示されませんし、エラー変数がオールウェイズゼロである..です

答えて

0

は、あなたのif文の前の行にあなたのセッション開始を移動してみてください。あなたのケースでは、エラーがない場合にのみセッションが開始されるので、エラー変数を設定することはできません。

ob_start(); 
// bla bla 
session_start(); // moved // 

if($count==1){ <-- means if the user or paswd was found 
$_SESSION['logerr']=0; 
$_SESSION['openclose'] = '1'; 
bla 
bla 
header("location:index2.php"); 
exit(); 

} else { 
$_SESSION['logerr']=1; 
header("location:index.php"); 
exit(); 
} 
?> 
関連する問題