Adventskalender - Frage - Nine75 - 25.09.2009
Huhu!
Ich habe nach diesem Tutorial http://freenet-homepage.de/pi-anfaenger/adventskalender.html einen Adventskalender für meine Weihnachtshomepage gebastelt. War kein problem, klappte alles prima.
Nur, wie gehe ich vor, damit man das jeweilige Türchen auch erst zum genannten Datum öffnen kann?
Adventskalender - Frage - Helmut - 25.09.2009
...
das geht nur mit einer Serverseitigen Technik wie PHP oder Perl.
Damit kann man überprüfen ob der Datum zum Türchen passt und die dann jeweils verlinken.
Javascript geht nicht, das kann man leicht manipulieren (Systemzeit umstellen)
Cu Helmut
Adventskalender - Frage - Helmut - 25.09.2009
...
so, ich hab mal schnell so ein Scriptchen geschrieben. Das als z.B. adventskalender.php speichern (der Speicherplatz muss php unterstützen! ) Wer keinen hat kann hier kostenlos hosten http://www.bplaced.net/
PHP-Code: <?php
// Konfiguration
// Monat $monat = 12;
$datum = getdate();
// Tag aus getdate, ist dieser 1 - 24 und der Monat ist 12 // wird das genutzt zur Pruefung der Adventskalenderverlinkung $tag = $datum['mday'];
// Bildbreite und Hoehe $breite = 121; $hoehe = 117;
// Verzeichnis der Bilder $verz = 'adventbilder';
// Array mit Daten, wichtig ist das die Zielseiten (z.B. e16ad1e95950ae31dcdcdcd696233ed1.html // einen zufaelligen, nicht erratbaren Dateiname tragen.
$advent = array( '1' => array('1', 'bild1.gif', 'e16ad1e95950ae31dcdcdcd696233ed1.html'), '2' => array('2', 'bild2.gif', '6ac21c0f9835a109fcd52cb115f8435f.html'), '3' => array('3', 'bild3.gif', '815e519dbf536064e64576340965a7fc.html'), '4' => array('4', 'bild4.gif', 'f3eef9b7afc8cd43806a26af8a28cacc.html'), '5' => array('5', 'bild5.gif', '92b9652f2459614b52029f4bdaeb1080.html'), '6' => array('6', 'bild6.gif', '9a99e96dc95410204abf3a71bff47b07.html'), '7' => array('7', 'bild7.gif', 'f67aae1293a3f07d599e8b7493ee4f40.html'), '8' => array('8', 'bild8.gif', '291e71482e71a0f12158ffb9154fdf5e.html'), '9' => array('9', 'bild9.gif', '2acebde041912c91399c9c76f10a5201.html'), '10' => array('10', 'bild10.gif', 'fc3dddbbf3c952706a6abc75813cee53.html'), '11' => array('11', 'bild11.gif', '043789a746d2f1917cf86b0bb97e3e21.html'), '12' => array('12', 'bild12.gif', 'c18d0a9cdb5679821bdfdd2a0336ab87.html'), '13' => array('13', 'bild13.gif', 'd4324d1455bd6bb2f864f87f98db74f6.html'), '14' => array('14', 'bild14.gif', '95fe95b08d46ef503e827a105a882d03.html'), '15' => array('15', 'bild15.gif', '62ff9fdeb65749e8b8adcca1f5ec2759.html'), '16' => array('16', 'bild16.gif', '959877082b53777c15188c298525b1b8.html'), '17' => array('17', 'bild17.gif', 'eb4a1a020a7976abf9efa7a713d8ecf8.html'), '18' => array('18', 'bild18.gif', '06556a34159b38f428c34c47216ed5cb.html'), '19' => array('19', 'bild19.gif', '23caab8a7b1338479516a9bd61675186.html'), '20' => array('20', 'bild20.gif', '5b9de87f6dc900abf2fa2160b703ec24.html'), '21' => array('21', 'bild21.gif', 'e65170314f6723141dd3aa5bbf921aa7.html'), '22' => array('22', 'bild22.gif', '2403cb355acfee1b7725d57ee9e5ccbe.html'), '23' => array('23', 'bild23.gif', '01be3d87e7f4fce455583fe26b0c55e0.html'), '24' => array('24', 'bild24.gif', '4f27762eb615ba5f38dca6f117d0ead4.html') );
// Hier wird das Datenarray durchlaufen und je nachdem ob der Tag erreicht ist // als Link zur Zielseite oder ohne zwischengespeichert
$adventslinks = array(0);
for ($i = 1; $i <= 24; $i++) {
if($advent[$i][0] >= $tag && $monat == 12) { $adventslinks[] .= '<a href="'.$advent[$i][2].'"><img src="'.$verz.'/'.$advent[$i][1].'" alt="" width="'.$breite.'" height="'.$hoehe.'" border="0"></a>'; } else { $adventslinks[] .= '<img src="'.$verz.'/'.$advent[$i][1].'" alt="" width="'.$breite.'" height="'.$hoehe.'" border="0"></a>'; }
}
// In dieser Tabelle werden die Arrayelemente ausgegeben. // Fuer eine gemischte Sortierung kann man hier die $adventslinks[1] // auch anders anordnen
$adventstable = '<table cellspacing="1" cellpadding="2" border="1"> <tr> <td>'.$adventslinks[1].'</td> <td>'.$adventslinks[2].'</td> <td>'.$adventslinks[3].'</td> <td>'.$adventslinks[4].'</td> <td>'.$adventslinks[5].'</td> <td>'.$adventslinks[6].'</td> </tr> <tr> <td>'.$adventslinks[7].'</td> <td>'.$adventslinks[8].'</td> <td>'.$adventslinks[9].'</td> <td>'.$adventslinks[10].'</td> <td>'.$adventslinks[11].'</td> <td>'.$adventslinks[12].'</td> </tr> <tr> <td>'.$adventslinks[13].'</td> <td>'.$adventslinks[14].'</td> <td>'.$adventslinks[15].'</td> <td>'.$adventslinks[16].'</td> <td>'.$adventslinks[17].'</td> <td>'.$adventslinks[18].'</td> </tr> <tr> <td>'.$adventslinks[19].'</td> <td>'.$adventslinks[20].'</td> <td>'.$adventslinks[21].'</td> <td>'.$adventslinks[22].'</td> <td>'.$adventslinks[23].'</td> <td>'.$adventslinks[24].'</td> </tr> </table>';
// nun ist alles fertig und kann ausgegeben werden... echo $adventstable;
?>
Das Ergebnis...
[attachment=15043]
Cu Helmut
Adventskalender - Frage - Nine75 - 25.09.2009
Helmut schrieb:...
so, ich hab mal schnell so ein Scriptchen geschrieben. Das als z.B. adventskalender.php speichern (der Speicherplatz muss php unterstützen! ) Wer keinen hat kann hier kostenlos hosten http://www.bplaced.net/
PHP-Code: <?php
// Konfiguration
// Monat $monat = 12;
$datum = getdate();
// Tag aus getdate, ist dieser 1 - 24 und der Monat ist 12 // wird das genutzt zur Pruefung der Adventskalenderverlinkung $tag = $datum['mday'];
// Bildbreite und Hoehe $breite = 121; $hoehe = 117;
// Verzeichnis der Bilder $verz = 'adventbilder';
// Array mit Daten, wichtig ist das die Zielseiten (z.B. e16ad1e95950ae31dcdcdcd696233ed1.html // einen zufaelligen, nicht erratbaren Dateiname tragen.
$advent = array( '1' => array('1', 'bild1.gif', 'e16ad1e95950ae31dcdcdcd696233ed1.html'), '2' => array('2', 'bild2.gif', '6ac21c0f9835a109fcd52cb115f8435f.html'), '3' => array('3', 'bild3.gif', '815e519dbf536064e64576340965a7fc.html'), '4' => array('4', 'bild4.gif', 'f3eef9b7afc8cd43806a26af8a28cacc.html'), '5' => array('5', 'bild5.gif', '92b9652f2459614b52029f4bdaeb1080.html'), '6' => array('6', 'bild6.gif', '9a99e96dc95410204abf3a71bff47b07.html'), '7' => array('7', 'bild7.gif', 'f67aae1293a3f07d599e8b7493ee4f40.html'), '8' => array('8', 'bild8.gif', '291e71482e71a0f12158ffb9154fdf5e.html'), '9' => array('9', 'bild9.gif', '2acebde041912c91399c9c76f10a5201.html'), '10' => array('10', 'bild10.gif', 'fc3dddbbf3c952706a6abc75813cee53.html'), '11' => array('11', 'bild11.gif', '043789a746d2f1917cf86b0bb97e3e21.html'), '12' => array('12', 'bild12.gif', 'c18d0a9cdb5679821bdfdd2a0336ab87.html'), '13' => array('13', 'bild13.gif', 'd4324d1455bd6bb2f864f87f98db74f6.html'), '14' => array('14', 'bild14.gif', '95fe95b08d46ef503e827a105a882d03.html'), '15' => array('15', 'bild15.gif', '62ff9fdeb65749e8b8adcca1f5ec2759.html'), '16' => array('16', 'bild16.gif', '959877082b53777c15188c298525b1b8.html'), '17' => array('17', 'bild17.gif', 'eb4a1a020a7976abf9efa7a713d8ecf8.html'), '18' => array('18', 'bild18.gif', '06556a34159b38f428c34c47216ed5cb.html'), '19' => array('19', 'bild19.gif', '23caab8a7b1338479516a9bd61675186.html'), '20' => array('20', 'bild20.gif', '5b9de87f6dc900abf2fa2160b703ec24.html'), '21' => array('21', 'bild21.gif', 'e65170314f6723141dd3aa5bbf921aa7.html'), '22' => array('22', 'bild22.gif', '2403cb355acfee1b7725d57ee9e5ccbe.html'), '23' => array('23', 'bild23.gif', '01be3d87e7f4fce455583fe26b0c55e0.html'), '24' => array('24', 'bild24.gif', '4f27762eb615ba5f38dca6f117d0ead4.html') );
// Hier wird das Datenarray durchlaufen und je nachdem ob der Tag erreicht ist // als Link zur Zielseite oder ohne zwischengespeichert
$adventslinks = array(0);
for ($i = 1; $i <= 24; $i++) {
if($advent[$i][0] >= $tag && $monat == 12) { $adventslinks[] .= '<a href="'.$advent[$i][2].'"><img src="'.$verz.'/'.$advent[$i][1].'" alt="" width="'.$breite.'" height="'.$hoehe.'" border="0"></a>'; } else { $adventslinks[] .= '<img src="'.$verz.'/'.$advent[$i][1].'" alt="" width="'.$breite.'" height="'.$hoehe.'" border="0"></a>'; }
}
// In dieser Tabelle werden die Arrayelemente ausgegeben. // Fuer eine gemischte Sortierung kann man hier die $adventslinks[1] // auch anders anordnen
$adventstable = '<table cellspacing="1" cellpadding="2" border="1"> <tr> <td>'.$adventslinks[1].'</td> <td>'.$adventslinks[2].'</td> <td>'.$adventslinks[3].'</td> <td>'.$adventslinks[4].'</td> <td>'.$adventslinks[5].'</td> <td>'.$adventslinks[6].'</td> </tr> <tr> <td>'.$adventslinks[7].'</td> <td>'.$adventslinks[8].'</td> <td>'.$adventslinks[9].'</td> <td>'.$adventslinks[10].'</td> <td>'.$adventslinks[11].'</td> <td>'.$adventslinks[12].'</td> </tr> <tr> <td>'.$adventslinks[13].'</td> <td>'.$adventslinks[14].'</td> <td>'.$adventslinks[15].'</td> <td>'.$adventslinks[16].'</td> <td>'.$adventslinks[17].'</td> <td>'.$adventslinks[18].'</td> </tr> <tr> <td>'.$adventslinks[19].'</td> <td>'.$adventslinks[20].'</td> <td>'.$adventslinks[21].'</td> <td>'.$adventslinks[22].'</td> <td>'.$adventslinks[23].'</td> <td>'.$adventslinks[24].'</td> </tr> </table>';
// nun ist alles fertig und kann ausgegeben werden... echo $adventstable;
?>
Das Ergebnis...
Cu Helmut
Huhu!
Wenn ich nun diese php-Seite einbaue, kann ich dann meine Grafik nehmen, die ich gebastelt hab?
Adventskalender - Frage - Helmut - 25.09.2009
...
ja klar, die Bildnamen die ich verwendet habe sind nur Beispiele
bild1.gif - bild24.gif musst Du mit deinen Bildnamen ersetzen, und auch die Namen der aufzurufenden Seiten e16ad1e95950ae31dcdcdcd696233ed1.html
Cu Helmut
Adventskalender - Frage - Helmut - 25.09.2009
...
für alle die auch einen Adventskalender planen hab ich hierzu mal einen Artikel geschrieben Dieser basiert auf einem leicht abgewandelten Script von dem Beispiel hier weiter oben und erklärt die Anpassungsmöglichkeiten ausführlicher.
Fragen dazu?
Bitte bei mir im Forum posten, dort geht es speziell um Programmierung
Cu Helmut
Adventskalender - Frage - Seramis - 25.09.2009
Das kommt ja wie gerufen!
Bist ein Schatz Helmut
Dankeschön!!!
|