Results 1 to 10 of 10

Thread: Jahreszeitenabhängige Weiterleitung

  1. #1
    dreamworker.de Junior
    Join Date
    02/2013
    Posts
    7

    Idee Jahreszeitenabhängige Weiterleitung

    Hallo,

    ich möchte die Startseite einer Internetseite Jahreszeitenabhängig steuern. Dazu habe ich ein PHP-Script geschrieben, das anhand des Datums auf die entsprechende seite Weiterleitet.
    Die Weiterleitung ansich funktioniert, aber nicht entsprechen des Datums sondern er springt in das letzte Else.

    Ich hoffe ihr könnt mir helfen.

    PHP Code:
    <?php
    if( date('d.m.') >= '01.01.')
        {
        if( 
    date('d.m.') <= '21.03.')
            {
            
    header('location: http://www.domain.de/WINTER.html');
            }
        else
            {
            if( 
    date('d.m.') <= '21.06.')
                {
                
    header('location: http://www.domain.de/FRUEHLING.html');
                }
            else
                {
                if( 
    date('d.m.') <= '23.09.')
                    {
                    
    header('location: http://www.domain.de/SOMMER.html');
                    }
                else
                    {
                    if( 
    date('d.m.') <= '22.12.')
                        {
                        
    header('location: http://www.domain.de/HERBST.html');
                        }
                    else
                        {
                        
    header('location: http://www.domain.de/WINTER.html');
                        }
                    }
                }
            }
        }
    ?>
    MfG
    René Kindermann

  2. #2
    dreamworker.de Junior
    Join Date
    02/2013
    Posts
    7

    AW: Jahreszeitenabhängige Weiterleitung

    Hallo,

    hat keiner eine Idee oder hinweiß??

    MfG

    René Kindermann

  3. #3
    waldfex
    Gast

    AW: Jahreszeitenabhängige Weiterleitung

    Du vergleichst hier String- und keine Datums-Werte miteinander. Und rein lexikalisch gesehen erfüllt "27.02." die letzte Bedingung. Übermorgen ist dann die Erste erfüllt, ändert aber an der Anzeige nichts. Ist eh Winter

    Um Datumswerte zu vergleichen musst du mit Timestamps arbeiten: http://www.php.net/manual/de/function.mktime.php
    Und für solche Mehrfachbdingenungen/Verschachtelungen bietet sich die switch-Anweisung an: http://www.php.net/manual/de/control...res.switch.php

    Gruß Fex

  4. #4
    dreamworker.de Junior
    Join Date
    02/2013
    Posts
    7

    AW: Jahreszeitenabhängige Weiterleitung

    Hallo,

    erstmal vielen Dank für deinen Hinweis. Leider bin ich in PHP noch nicht so bewandert.

    Das mit dem Timestamps ist mir nicht ganz klar. Du schreibst das ich ein String-Wert mit einem Datums-Wert vergleiche. Aber Date ist doch ein Datums-Wert.

    Hoffe auf weitere hilfe, bzw. Programierhilfe.

    MfG

    René Kindermann

  5. #5
    waldfex
    Gast

    AW: Jahreszeitenabhängige Weiterleitung

    War ein paar tage nicht im Lande, darum erst einmal die Frage: besteht das Problem noch oder konntest du es zwischenzeitlich lösen?

    Quote Originally Posted by rene.kindermann View Post
    Das mit dem Timestamps ist mir nicht ganz klar. Du schreibst das ich ein String-Wert mit einem Datums-Wert vergleiche. Aber Date ist doch ein Datums-Wert.
    date() liefert einen String-Wert zurück, der aus einem Timestamp generierte wird.

    Quote Originally Posted by PHP-Manual
    Gibt einen formatierten String anhand eines vorzugebenden Musters zurück. Dabei wird entweder der angegebene Timestamp oder die gegenwärtige lokale Zeit berücksichtigt, wenn kein Timestamp angegegeben wird. Mit anderen Worten ausgedrückt: der Parameter Timestamp ist optional und falls dieser nicht angegeben wird, wird der Wert der Funktion time() angenommen.
    Weiter siehe: http://www.php.net/manual/de/function.date.php

    Eine Lösung könnte im Ansatz so aussehen:

    PHP Code:
    error_reporting(-1);
    ini_set('display_errors''1');

    if( 
    date('d.m.') >= '01.01.') echo 'Hallo!';

    $aLocations = array(
        
    'WINTER.html',
        
    'FRUEHLING.html',
        
    'SOMMER.html',
        
    'HERBST.html'
    );
    date_default_timezone_set('Europe/Berlin');

    $iToday strtotime('now');

    switch (
    $iToday) {
       case 
    $iToday mktime(0,0,0,3,21,date('Y')):
            
    $iLoctionKey 0;
            break;
        case 
    $iToday mktime(0,0,0,6,21,date('Y')):
            
    $iLoctionKey 1;
            break;
        case 
    $iToday mktime(0,0,0,9,23,date('Y')):
            
    $iLoctionKey 2;
            break;
        case 
    $iToday mktime(0,0,0,12,22,date('Y')):
            
    $iLoctionKey 3;
            break;
        default :
            
    $iLoctionKey =0;
     }


    echo 
    $aLocations[$iLoctionKey]; 
    Gruß Fex

  6. #6
    dreamworker.de Junior
    Join Date
    02/2013
    Posts
    7

    AW: Jahreszeitenabhängige Weiterleitung

    Hallo,

    ja das "Problem" besteht noch.

    Ich hatte einen fertigen Code benutzt, in dem nur genau ein Tag (24.12) eine Weiterleitung erfolgen sollte.
    Anhand dieses Scripts habe ich dann mein Scribt aufgebaut.

    Dein Scribt ist ja, soweit ich es verstanden habe einsatzt bereit. Nur drei fragen:

    Dieser Teil kann doch raus? Oder empfilt es sich ihn drinne zu lassen??? Aber wenn es nicht funktioniert brauch der "User" eine Standart Seite um auf die Webseite zu kommen und nicht das ein fehler vorliegt. Oder?
    PHP Code:
    error_reporting(-1); 
    ini_set('display_errors''1'); 
    Das selbe ist doch bei deinem ECHO "Hallo" das sollte ja dann immer kommen, oder?
    PHP Code:
    if( date('d.m.') >= '01.01.') echo 'Hallo!'
    hier trage ich sicherlich die "Notfall Seite" ein? Geht auch ein 5. Punkt (4) als notfall??
    PHP Code:
        default : 
            
    $iLoctionKey =0
    Vielen Dank für deine Hilfe!!!!!!

    MfG

    René Kindermann

  7. #7
    waldfex
    Gast

    AW: Jahreszeitenabhängige Weiterleitung

    Quote Originally Posted by rene.kindermann View Post
    Dieser Teil kann doch raus? Oder empfilt es sich ihn drinne zu lassen??? Aber wenn es nicht funktioniert brauch der "User" eine Standart Seite um auf die Webseite zu kommen und nicht das ein fehler vorliegt. Oder?
    PHP Code:
    error_reporting(-1); 
    ini_set('display_errors''1'); 
    Diese Anweisung sorgt dafür, dass alle Fehlermeldungen, Warnungen und Hinweise des PHP-Interpreters angezeigt werden und sollte so lange im Script bleiben, bis alle alles fehlerfrei funktioniert, d.h. bis keine mehr angezeigt werden. Alternativ kannst du die Werte auf "0" setzen.

    Quote Originally Posted by rene.kindermann View Post
    Das selbe ist doch bei deinem ECHO "Hallo" das sollte ja dann immer kommen, oder?
    PHP Code:
    if( date('d.m.') >= '01.01.') echo 'Hallo!'
    Kann weg, Habe ich übersehen zu löschen

    Quote Originally Posted by rene.kindermann View Post
    hier trage ich sicherlich die "Notfall Seite" ein? Geht auch ein 5. Punkt (4) als notfall??
    PHP Code:
        default : 
            
    $iLoctionKey =0
    Du kannst beliebig viele Seiten vorgeben, musst nur auf die korrekten Array-Schlüssel achten.

    Quote Originally Posted by rene.kindermann View Post
    Dein Scribt ist ja, soweit ich es verstanden habe einsatzt bereit.
    Nein, es ist unvollständig und soll dir nur Funktionsweise aufzeigen. Habe es jetzt einmal abgerundet:
    PHP Code:
    <?php
    error_reporting
    (-1);
    ini_set('display_errors''1');

    $sDomain 'http://www.domain.de';
    $aLocations = array(
        
    'WINTER.html',
        
    'FRUEHLING.html',
        
    'SOMMER.html',
        
    'HERBST.html',
        
    'index.html'
    );

    date_default_timezone_set('Europe/Berlin');

    $iThisYear = (int) date('Y');
    $iToday strtotime('now');


    switch (
    $iToday) {
       case 
    $iToday mktime(0,0,0,3,21,$iThisYear):
            
    $iLocationKey 0;
            break;
        case 
    $iToday mktime(0,0,0,6,21,$iThisYear):
            
    $iLocationKey 1;
            break;
        case 
    $iToday mktime(0,0,0,9,23,$iThisYear):
            
    $iLocationKey 2;
            break;
        case 
    $iToday mktime(0,0,0,12,22,$iThisYear):
            
    $iLocationKey 3;
            break;
        case 
    $iToday mktime(23,59,59,12,31,$iThisYear):
            
    $iLocationKey 0;
            break;
        default :
            
    $iLocationKey 4;
     }

     
    header("Location: {$sDomain}/{$aLocations[$iLocationKey]}");
     exit;

    ?>
    Bitte beachte, dass der Location-Header immer einen vollständigen URL erwartet und die Script-Verarbeitung mit exit abgebrochen werden muss, das Script läuft sonst weiter. Dass es i.R. so wie bei dir ebenfalls funktioniert, liegt daran, dass die modernen Browser versuchen die fehlenden Informationen zu ergänzen und dein Script nicht so inhaltsschwer ist, dass es zu sichtbaren Auswirkungen kommt. Aber darauf solltest du dich nicht verlassen.

    Grundsätzlich kann ich dir nur empfehlen, dich erst einmal intensiver mit den Grundlagen zu beschäftigen. Du solltest verstehen was ein Script tut, bevor du es in die unendlichen Weiten der Netzwelt entlässt.

    Gruß Fex

  8. #8
    dreamworker.de Junior
    Join Date
    02/2013
    Posts
    7

    AW: Jahreszeitenabhängige Weiterleitung

    Hallo Fex,

    vielen vielen Dank für deine Hilfe.
    Sorry das ich erst jetzt antworte, aber mich hatte es ein wenig entschärft.

    Habe mir das script durchgelesen und auch verstanden .
    Es funktioniert einwandfrei. Nur der Winter vor der Tür scheint den Kalender nicht zu kennen .

    MfG

    René Kindermann

  9. #9
    dreamworker.de Beginner
    Join Date
    12/2014
    Posts
    1

    Re: Jahreszeitenabhängige Weiterleitung

    Nun eine gute Nachricht für uns. schön Link Ihnen http://testking.net/ geteilt. i bereits fanden diese an verschiedenen Standorten, aber nicht davon überzeugt.

  10. #10
    dreamworker.de Junior
    Join Date
    11/2014
    Posts
    13

    Re: Jahreszeitenabhängige Weiterleitung

    Anzeigen:
    Webhosting ab 3,99 €
    Quote Originally Posted by kanita View Post
    Nun eine gute Nachricht für uns. schön Link Ihnen http://testking.net/ geteilt. i bereits fanden diese an verschiedenen Standorten, aber nicht davon überzeugt.
    Was ist nur los mit diesem Forum? Alles voller internationaler Backlinkdropper die mit Google Translater versuchen hier was abzuladen? xD

Similar Threads

  1. PHP Weiterleitung mit ID
    By Unix in forum Serverseitige Programmierung
    Replies: 5
    Last Post: 23.06.2010, 01:42
  2. ID weiterleitung
    By actin17 in forum Serverseitige Programmierung
    Replies: 5
    Last Post: 30.07.2007, 12:50
  3. Layout: weiterleitung
    By jetman in forum Adobe Dreamweaver
    Replies: 8
    Last Post: 01.02.2006, 18:22
  4. Layout: weiterleitung, wie?
    By missmurphy in forum Adobe Dreamweaver
    Replies: 2
    Last Post: 17.12.2002, 17:54
  5. weiterleitung, wie?
    By missmurphy in forum Clientseitige Programmierung
    Replies: 1
    Last Post: 17.12.2002, 10:31

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •