[PHP] Etwas innerhalb bestimmter Zeit anzeigen lassen

06/20/2014 20:52 mastermo#1
Heyho Leute,

ich stehe vor dem Problem, dass ich etwas innerhalb einer bestimmten Zeit anzeigen möchte. Als Beispiel: von 22:00 Uhr bis 05:00 Uhr samstags echo "test aktiv". Außerhalb dieser Zeitspanne von 22:00 Uhr bis 05:00 Uhr am Samstag soll dort beispielsweise "test inaktiv" stehen.


Könnte mir einer von euch eine Lösung zeigen? Bei Google finde ich nichts passendes :)

Gruß & besten Dank

Mo
06/20/2014 21:08 PixelTree#2
Quote:
Originally Posted by mastermo View Post
Bei Google finde ich nichts passendes :)
Ich schon, nur sollte man nicht nach einer Komplettlösung suchen, sondern nach der passenden Funktion - [Only registered and activated users can see links. Click Here To Register...]

06/20/2014 21:35 mastermo#3
Danke dir vielmals. Nun zeigt er allerdings nur text unaktiv an egal welchen Wert ich beim Tag und bei der Uhrzeit gewählt habe :/

Weißt du wieso das nicht so funktioniert wie geplant?

Ps das von dir gepostete Script hatte ich zuvor gefunden aber es lief bisher nicht (bis du es korrekt gepostet hast)
06/20/2014 22:41 supercracker13#4
Das wird dann daran liegen das du etwas falsch reingeschrieben hast ^^

Ich würde einfach:
1: Eine Variable machen in der du "data" speicherst.
2: Dann erst den Tag abfragen (bei dir wenn Samstag ist)
3: Dann Überprüfen ob es schon nach 22:00 oder vor 05:00 ist

Beispiel:
PHP Code:
$today = date("D G:i"); // Ausgabe: Fri 22:42 
Ich denke damit sollte es klappen
06/25/2014 01:16 mastermo#5
Heyho nochmals,

ich habe nun folgendes eingebaut, allerdings bekomme ich damit keine Zeitspanne oder spezifischen Tage hin :(

PHP Code:
<?php
        
        
if ( (int)date( 'N' ) < 6 ) {
            
$h = (int)date( 'G' );
            if ( 
$h >= 22 && $h <= 5 ) {
                echo 
"<font color='#0B75AF'>Wir haben geöffnet!</font>";
            }
            else {
    echo 
"<font color='red'>Derzeit geschlossen!</font>";
}
        }              
            
        
?>
Ich habe nun über eine Stunde gegooglet und nur mega aufwändige Lösungsansätze oder SQL Lösungen gefunden. Für solch eine kleinere Funktion möchte ich ungern mit SQL arbeiten.

Ich bitte und bedanke mich gleichzeitig um eure Hilfe :)
06/25/2014 03:01 ѕ¢нσкσвяυηηєη#6
So wie ich das verstanden habe, möchtest du das es zwischen 22 und 5 Uhr "geöffnet" stehen soll?

PHP Code:
<?php

        $timestamp 
= time();
        
$uhr   = date("H", $timestamp);

        if(
$uhr >= 5 && $uhr <= 22) {
           echo 
"geöffnet";
        } else {
           echo 
"geschlossen";
        }

?>
- ungetestet - Handy
Sollte dein Uhrzeit Problem lösen, mit dem Tag helf ich dir heute Abend, bin am Handy und mehr krieg ich mit dem Handy nicht hin. :o

PS: hau das mal ganz oben in deinen PHP Code rein:
PHP Code:
header('Content-Type: text/html; charset=ISO-8859-1'); 
Dann brauchst du nicht immer ä schreiben.
06/25/2014 18:28 snow#7
Quote:
Originally Posted by mastermo View Post
if ( $h >= 22 && $h <= 5 )
"wenn $h größer oder gleich 22 UND wenn $h kleiner oder gleich 5 ist" - ein Blick auf den Zahlenstrahl sollte zeigen, dass der Fall niemals eintreten kann :)

[Only registered and activated users can see links. Click Here To Register...]

Die gesucht Bedingung ist $h >= 22 || $h <= 5 oder das logische Äquivalent !($h >= 5 && $h <= 22), das über mir bereits gepostet wurde.
06/26/2014 08:04 mastermo#8
Das Problem besteht ehr bei den Tagen. Eine Lösung für die Stunden ist bereits vorhanden :)
06/26/2014 10:55 kyls#9
Quote:
Originally Posted by mastermo View Post
Das Problem besteht ehr bei den Tagen. Eine Lösung für die Stunden ist bereits vorhanden :)
....... [Only registered and activated users can see links. Click Here To Register...]

PHP Code:
<?php
$day 
= array(
    [
0] => 'sunday',
    [
1] => 'monday',
    [
2] => 'tuesday',
    [
3] => 'wednesday',
    [
4] => 'thursday',
    [
5] => 'friday',
    [
6] => 'saturday',
)
echo 
"Today is ". $day[date("w")];
If you just want to check if it is Saturday, you can do this:

PHP Code:
if(date("w") == 6) { // check for saturday
    // do some
} 
I didnt tested it so i didnt give any warranty. But it should work. :)
06/26/2014 13:30 Black Tiger ツ#10
Alternativ $h%22<6
06/26/2014 17:10 mastermo#11
Quote:
Originally Posted by Black Tiger ツ View Post
Alternativ $h%22<6
Das Problem besteht ehr bei den Tagen. Eine Lösung für die Stunden ist bereits vorhanden :)

Lesen(!)

Ich brauche nur eine Lösung für zwei Tage in der Woche. (Freitag - Samstag 22:00 - 05:00)
I only need a solution for two days a Week (friday-saturday 22:00 - 05:00)

I need it for an website for a disco which is only opened on friday (22:00 to 05:00) and Saturday (22:00 to 05:00) and the rest of the week its closed.
06/26/2014 17:24 ѕ¢нσкσвяυηηєη#12
Quote:
Originally Posted by mastermo View Post
Das Problem besteht ehr bei den Tagen. Eine Lösung für die Stunden ist bereits vorhanden :)

Lesen(!)

Ich brauche nur eine Lösung für zwei Tage in der Woche. (Freitag - Samstag 22:00 - 05:00)
I only need a solution for two days a Week (friday-saturday 22:00 - 05:00)

I need it for an website for a disco which is only opened on friday (22:00 to 05:00) and Saturday (22:00 to 05:00) and the rest of the week its closed.
Hast du die Antwort übersehen?
[Only registered and activated users can see links. Click Here To Register...]

Das sollte funktionieren, eine leichtere Variante kenne ich nicht.

Musst die IF Abfrage eben abändern, solltest du aber hinkriegen.

PHP Code:
<?php

    
// Tage
    
$wochentage = array(
    
"Sonntag",
    
"Montag",
    
"Dienstag",
    
"Mittwoch",
    
"Donnerstag",
    
"Freitag",
    
"Samstag");

    
$tag = date("w");
    
    
// Uhrzeit
    
$timestamp = time(); 
    
$uhr   = date("H", $timestamp);

    
// Abfrage
    
if($tag == 5 AND 6) {  
        if(
$uhr >= 5 && $uhr <= 22) { 
            echo 
"geöffnet"; 
        } else { 
            echo 
"geschlossen"; 
        } 
    } else {
          echo 
"geschlossen";
    }

?>
Sollte funktionieren.
07/04/2014 19:19 mastermo#13
Quote:
Originally Posted by ѕ¢нσкσвяυηηєη™ View Post
Hast du die Antwort übersehen?
[Only registered and activated users can see links. Click Here To Register...]

Das sollte funktionieren, eine leichtere Variante kenne ich nicht.

Musst die IF Abfrage eben abändern, solltest du aber hinkriegen.

PHP Code:
<?php

    
// Tage
    
$wochentage = array(
    
"Sonntag",
    
"Montag",
    
"Dienstag",
    
"Mittwoch",
    
"Donnerstag",
    
"Freitag",
    
"Samstag");

    
$tag = date("w");
    
    
// Uhrzeit
    
$timestamp = time(); 
    
$uhr   = date("H", $timestamp);

    
// Abfrage
    
if($tag == 5 AND 6) {  
        if(
$uhr >= 5 && $uhr <= 22) { 
            echo 
"geöffnet"; 
        } else { 
            echo 
"geschlossen"; 
        } 
    } else {
          echo 
"geschlossen";
    }

?>
Sollte funktionieren.
Das hilft mir ungemein, ein riesen Dank dafür :)

Eine Frage hätte ich da allerdings noch und zwar folgendes:

Wenn der Laden von Freitag 22:00 Uhr bis Samstag 05:00 Uhr geöffnet hat, wie bekomme ich das umgesetzt? In dem Fall wären es ja zwei Tage mit 22-00 uhr und 00-05 Uhr beispielsweise.

Ich wäre dir dankbar, wenn du mir auch dabei helfen würdest :)
07/05/2014 12:40 PixelTree#14
Quote:
Originally Posted by mastermo View Post
Wenn der Laden von Freitag 22:00 Uhr bis Samstag 05:00 Uhr geöffnet hat, wie bekomme ich das umgesetzt? In dem Fall wären es ja zwei Tage mit 22-00 uhr und 00-05 Uhr beispielsweise.
PHP Code:
<?php 
    $wochentag 
= date('N'); 
    
$uhrzeit = date('G'); 
    if(
$uhrzeit >= 22 && $wochentag == 5 or $uhrzeit < 5 && $wochentag == 6) 
    { 
        echo 
'laden offen'; 
    } 
    else 
    { 
        echo 
'laden zu'; 
    } 
?>
07/05/2014 20:42 mastermo#15
Bombe! Hat funktioniert :) Besten dank nochmal an euch beide ;)

#kann dicht gemacht werden