2017-05-20 2 views
0

Scheint doof, aber wirklich verwirrt mich. Jede Aktualisierung bringt mich in diesen Zustand.PHP! Isset & empty & session check wird jedes mal wahr

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

Ich habe versucht, den Zustand zu if(empty($_SESSION)) und if (session_status() == PHP_SESSION_NONE) aber immer noch jedes Mal es die Anweisungen innerhalb Wechsel ausgeführt zu werden.

Ich versuche, den Zähler

<?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

Sitzungen werden normalerweise für mehrere Seiten verwendet. Wenn dies nicht auf die nachfolgenden Seiten übertragen wird, sollten Sie Ihren Beitrag bearbeiten, um den Code dafür einzufügen. –

+0

* "Jede Aktualisierung bringt mich in diesen Zustand" * - Richtig; Die Sitzung wird nie festgelegt, also hat Ihr veröffentlichter Code genau das getan; seine Arbeit. Wir wissen nicht, wo Sie irgendwo einen Sitzungs-Array/-Wert setzen. –

+0

@ C0dekid Ich habe diese Antwort vor der Befragung hier verfolgt und das funktioniert nicht für mich! –

Antwort

0

Sie Überprüfung für ein Session-Variable zu erhöhen, bevor session_start() als Ergebnis Aufruf Ihre wenn die Bedingung immer wahr zurück. Versuchen Sie:

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