2017-05-20 12 views
0

私は愚かだが本当に混乱しているようだ。 すべてのリフレッシュがこの状態になります。PHP!isset&empty&session check毎回真実になる

if(!isset($_SESSION)) { 
session_start(); 
echo "Session turned on"; 
} 

私はまだそれ内のステートメントが実行され得ているたびにif(empty($_SESSION))if (session_status() == PHP_SESSION_NONE)に条件を変更してみましたけど。

私はあなたがあなたの結果条件が常にtrueを返します場合として、session_start()を呼び出す前に、セッション変数のためにチェックしているカウンタ

<?php 
if(!isset($_SESSION)) { 
session_start(); 
echo "Session turned on"; 
} 

$current_time=date('m-d-Y H:i:s'); 
echo $current_time; 
if(!isset($_SESSION["counter"]["time"])) 
{ 
    $_SESSION["counter"]["time"]=date('m-d-Y H:i:s'); 
    increamentCounter(); 
} 
$diff = abs(strtotime($current_time) - strtotime($_SESSION["counter"]["time"])); 
$time_in_minutes=$diff/60; 
if($time_in_minutes>30) 
{ 
    unset($_SESSION["counter"]["time"]); 
} 
echo $time_in_minutes."<br>"; 
function increamentCounter() 
{ 
    $pre_counter_value = file_get_contents("counter.txt"); 
    $counter_value = (int)$pre_counter_value+1; 
    file_put_contents("counter.txt", $counter_value); 
} 
echo file_get_contents("counter.txt"); 
?> 
+0

セッションは通常複数のページで使用されます。これが後続のページに渡されない場合は、コードを含めるように投稿を編集する必要があります。 –

+0

* "すべてのリフレッシュがこの条件の中に入ります" * - 右。セッションは決して設定されないので、あなたの投稿されたコードはそれだけでした。その仕事。セッション配列/値をどこに設定するかはわかりません。 –

+0

@ C0dekidここに質問する前にその答えに従ってきて、それは私にとってはうまくいかない! –

答えて

0

をインクリメントしようとしています。試してください:

session_start(); 
if(!isset($_SESSION)) { 
    echo "Session detected"; 
} else { 
    echo "No session"; 
}