kostenloser Webspace werbefrei: lima-city


wechselnde Hintergrundgrafik pro Wochentag

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    cam-city

    cam-city hat kostenlosen Webspace.

    Hallo,

    ich hab mir überlegt, pro Wochentag eine andere Hintergrundgrafik einblenden zu lassen. Allerdings habe ich weder in meinen schlauen Büchern noch bei Google etwas passendes gefunden und mein PHP ist noch nicht so ausgereift, dass ich mir das aus dem FF was zusammenbasteln kann, wollte ich mal hier nachfragen, ob jemand einen Tipp für mich hat. Sprich, wo ich mich diesbezüglich erkundigen kann oder wie ich mich an dieses Script herantasten kann.

    Ist es besser, wenn ich dieses Script über eine Datenbank laufen lasse oder ist dies dafür nicht nötig? Das schwierigste für mich ist immer, einen geeigneten Anfang zu finden :(

    Ich hoffe, mir kann jemand hierbei weiterhelfen.
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Pseudocode:

    Select Wochentag

    Case: Montag
    Hintergrund = Blau
    Case Dienstag
    Hintergrund = Grün
    Case: Mittwoch
    Hintergrund = Rosarotkariert
    Case: Donnerstag
    ...
    Case: Sonntag
    Hintergrund = Weiss

    Pseudocode Ende :smile:

    Datenbank braucht man keine.
    Tutorial gibts hier: http://de.php.net/manual/de/control-structures.switch.php

    Beitrag zuletzt geändert: 19.5.2009 21:49:12 von karpfen
  4. Autor dieses Themas

    cam-city

    cam-city hat kostenlosen Webspace.

    Okay, das verwirrt mich jetzt doch ein wenig :D

    Ich habe gerade mal so angefangen:

    <?php
      $day = date('w');
      if($day==0)
      {
        $zeit = date('H');
    	if($zeit>18)
    	{
    	  $back = "images/back1.jpg";
    	}
    	else
    	{
    	  $back = "images/back2.jpg";
    	}
      }
      elseif($day==1)
      {
        $zeit = date('H');
    	if($zeit>18)
    	{
    	  $back = "images/back3.jpg";
    	}
    	else
    	{
    	  $back = "images/back4.jpg";
    	}
      }
      elseif($day==2)
      {
        $zeit = date('H');
    	if($zeit>18)
    	{
    	  $back = "images/back5.jpg";
    	}
    	else
    	{
    	  $back = "images/back6.jpg";
    	}
      }
      elseif($day==3)
      {
        $zeit = date('H');
    	if($zeit>18)
    	{
    	  $back = "images/back7.jpg";
    	}
    	else
    	{
    	  $back = "images/back8.jpg";
    	}
      }
      elseif($day==4)
      {
        $zeit = date('H');
    	if($zeit>18)
    	{
    	  $back = "images/back1.jpg";
    	}
    	else
    	{
    	  $back = "images/back2.jpg";
    	}
      }
      elseif($day==5)
      {
        $zeit = date('H');
    	if($zeit>18)
    	{
    	  $back = "images/back3.jpg";
    	}
    	else
    	{
    	  $back = "images/back4.jpg";
    	}
      }
      elseif($day==6)
      {
        $zeit = date('H');
    	if($zeit>18)
    	{
    	  $back = "images/back5.jpg";
    	}
    	else
    	{
    	  $back = "images/back6.jpg";
    	}
      }
    ?>


    Nur weiß ich bisher noch nicht, ob das so funktionieren kann und auch noch nicht, wie ich das ganze als Hintergrundgrafik platzieren kann :slant:

    Beitrag zuletzt geändert: 19.5.2009 22:28:02 von cam-city
  5. Na das ist doch schonmal ein brauchbarer Anfang!
    Achte bitte drauf, dass du einige Fehler in deinem Code hast. So gibt es weder die Anweisung lseif, noch die Funktion day()!

    Du hast jetzt den Pfad zur aktuellen Hintergrundgrafik in der Variable $back und kannst mittels CSS das Ganze einbinden:
    background-image:url('<?php echo $back ?>');


    Ich würde es wahrscheinlich ein wenig simpler machen, etwa so:

    Du hast zwei Ordner, einmal day, da liegen alle Bilder vor 18 Uhr drin, einmal night, da liegen alle Bilder drin für nach 18 Uhr.
    In den beidne Ordnern liegen die Bilder, folgendermaßen benannt:
    - back1.jpg (für Montag)
    - back2.jpg (für Dienstag)
    - ... immer jeweils nach der Ausgabe von date("w"); benannt.

    Und dann folgender Code:

    <?php
    $hour = date("H");
    
    if($hour < 18){
       $path = "images/day/";
    }else{
       $path = "images/night/";
    }
    
    $back = $path."back".date("w").".jpg";
    ?>




    gruß
    ferdinand24



    Beitrag zuletzt geändert: 19.5.2009 22:26:38 von ferdinand24
  6. Autor dieses Themas

    cam-city

    cam-city hat kostenlosen Webspace.

    Ja, das mit den Fehlern ist mir auch gerade aufgefallen, als ich es getestet hab :D (hab meinen vorherigen Post daher editiert, damit der "richtige" code zu sehen ist).

    Ja, das mit zwei Ordnern wäre sicherlich auch noch eine Idee. Also soweit klappt das ja auch schon.

    Alles weitere werde ich dann wohl frühestens morgen Abend testen können ... muss nun nämlich Matratzenhorchen betreiben :D

    Beitrag zuletzt geändert: 19.5.2009 22:34:29 von cam-city
  7. ferdinand24 schrieb:
    Na das ist doch schonmal ein brauchbarer Anfang!
    Achte bitte drauf, dass du einige Fehler in deinem Code hast. So gibt es weder die Anweisung lseif, noch die Funktion day()!


    Das ist so nicht korrekt, elseif gibt es durchaus und ist auch brauchbar unter Umständen:
    http://de.php.net/control-structures.elseif

    Elseif hat Vorteile.
    Man braucht nicht in den Else-Zweig einer If-Bedinung wieder eine If-Bedinung schreiben.

    If (Bedingung1)
    elseif(Bedingung2)
    elseif(Bedingung3)
    elseif(Bedingung4)

    Tritt nun Bedinung 2 ein, so wird, im Gegensatz zu 4x If-Bedingung, alles nachfolgende nicht mehr überprüft.

    Beitrag zuletzt geändert: 20.5.2009 8:27:16 von karpfen
  8. @karpfen: Ich glaube im Vorigen Code war das elseif einfach falsch geschrieben und ferdi hats korrigiert ... elseif an sich gibt es logischerweise.

    PS: Noch eine Idee:

    $days[0] = "img1.png";
    $days[1] = "img2.png";

    Und dann:
    echo "background-image: url(".($hour<18?"day_":"night_").$days[$day].");";


    Beitrag zuletzt geändert: 20.5.2009 8:34:08 von nikic
  9. Autor dieses Themas

    cam-city

    cam-city hat kostenlosen Webspace.

    Hm, ich hab das jetzt alles mal ausprobiert ... aber das mit dem Einbinden klappt nicht. Ich habe ja eine externe CSS-Datei für alle Formatierungen und da wird der Code gar nicht erst angenommen. Dann hab ich das direkt in den body-Tag platziert, geht aber auch nicht. Muss ich jetzt alles als PHP-Code machen, damit das funktioniert (also auch: echo "<html>"; etc.)?
  10. <html>
    <head>
    <style type="text/css">
    body {
    background-image: url(<?php echo $url_zum_bild; ?>);
    }
    </style>
    </head>
    <body>
    ...


    Das müsste gehen.
  11. Autor dieses Themas

    cam-city

    cam-city hat kostenlosen Webspace.

    Na ja, so habe ich es ja ... nur eben in der externen CSS-Datei, weil ich nicht jedes Mal alle Seiten ändern möchte, wenn ich am Style etwas ändere. Aber das funktioniert halt nicht wirklich.
  12. ho ;)

    Ich weiß nicht, ob dir das hilft, aber lässt du den PHP Code vor dem CSS Code laden?

    lg
    Sincer

    PS: Ob das ganze in einer externen CSS File lagert, oder nicht, sollte keine Rolle spielen.
    Nur ist es meiner Ansicht nach wichtig, dass der PHP Code vor dem CSS Code bzw. vor dem includen der CSS Datei ausgeführt wird.
  13. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!