If-Vergleich funktioniert nicht

ciberjoerg

Erfahrenes Mitglied
Ich hab ein kleines Problem mit einem Vergleich in einer if abfrage.
PHP:
$aktiv = time()-600;
$inaktiv = time()-1800;
...
$lastact= $row->activ; //ergebniss ähnlich 1254699959
...
if($lastact >=$activ){
    echo "<img src='images/square_green_16.png' width='10' border='0'>";
}
if($lastact >= $inaktiv && $lastact <= $activ){ //soll vergleichen ob $lastact zwischen der inaktivzeit (jetzt - 30min) und der aktivzeit (jetzt -10min) liegt.
    echo "<img src='images/square_16_dis.png' width='10' border='0'>";
}...
Da einzigste was mir angezeigt wird ist die activ zeile und nicht die Inaktiv zeile
 
öhm.. ist doch klar, wenns aktiv ist, kanns nicht gleichzeitig inaktiv sein.

Sorry, versteh dein Problem anhand deiner Beschreibung nicht.

Ansonsten gib deine Timestamps mal mit var_dump() aus und vergleice sie....
 
Spontan fällt mir auf, dass Du mit "c" und "k" durcheinander kommst: $activ, $aktiv, etc..
Wenn das in Deinem Programm auch so ist, dürfte beim ersten If... $activ mit 0 initialisiert werden und das wäre dann vermutlich immer wahr.
 
Zuletzt bearbeitet:
Im moment wird nur folgende Zeile angezeigt:

PHP:
if($lastact >=$activ){
    echo "<img src='images/square_green_16.png' width='10' border='0'>";
}
Nur ist das die abfrage ob der user Sich auf der Seite in den letzten 10 Min bewegt hat.

Die frage ob der User sich in der Zeit Zwischen den Letzten 10 und Letzten 30 min nicht Bewegthat funktioniert nicht.
Erklärt sieht das so aus dass in der Datenbank eine Timestamp angegeben ist mit der Letzten aktivität die der user Gemacht hat.
Und diese soll Verglichen werden Ob diese Zeit innerhalb der letzten 10 Min oder innerhalb der Letzten. 30-10 minuten Stattgefunden hat.

In sql Würde ich dies Mit BETWEEN berechnen nur leider geht das jetzt nicht mehr da eben alle User die in den letzten 30 Min aktiv wahren Angezeigt werden..
 
Dann versuch doch mal bitte
PHP:
if($lastact >=$aktiv){
    echo "<img src='images/square_green_16.png' width='10' border='0'>";
}
if($lastact >= $inaktiv && $lastact <= $aktiv)
 
Ich sehe gerade ich hab activ geschrieben anstatt aktiv. Dafür sollte ich mich ja grade selbst Ohrfeigen. So ein dummer Leichtsinnsfehler
 
Zurück