Adventskalender - Frage
#1
Huhu!

Ich habe nach diesem Tutorial http://freenet-homepage.de/pi-anfaenger/...ender.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? confused
Zitieren
#2
...
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
Zitieren
#3
...
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
Zitieren
#4
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...
[Bild: attachment.php?thumbnail=15043]

Cu Helmut

Huhu!
Wenn ich nun diese php-Seite einbaue, kann ich dann meine Grafik nehmen, die ich gebastelt hab?
Zitieren
#5
...
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
Zitieren
#6
...
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
Zitieren
#7
Das kommt ja wie gerufen!

Bist ein Schatz Helmut Bussi
Dankeschön!!!
Zitieren



Möglicherweise verwandte Themen...
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Frage - Strelitzie und Blase Pueppi1980 0 366 18.05.2023, 08:46
Letzter Beitrag: Pueppi1980
  Frage zur Trickkiste: Galerien und Archiv Jessica 3 2.040 25.11.2015, 15:38
Letzter Beitrag: Gabi
  Frage an PI Expertin Gabi hexe-xl 4 1.630 03.10.2013, 13:53
Letzter Beitrag: hexe-xl
  Frage: Schriftart *Sue* 11 4.270 21.04.2012, 18:03
Letzter Beitrag: hsk
  Frage zu dpi-Einstellung + Cmyk Farben Laura21012001 2 1.484 31.03.2012, 17:38
Letzter Beitrag: mvm
  Frage zu Tilt Shift C71 17 4.043 01.09.2011, 16:35
Letzter Beitrag: ranunkel
  Frage bezüglich PI X3 Aragon3372 5 1.306 12.05.2011, 20:07
Letzter Beitrag: Aragon3372
  Frage zu 3D-Verformung helmut 5 4 1.991 06.04.2010, 16:00
Letzter Beitrag: Jessica
  Frage sussle 3 1.276 04.04.2010, 20:14
Letzter Beitrag: hsk
  Eine Frage zum Objekt in PI XL Jessica 10 2.335 06.01.2010, 10:34
Letzter Beitrag: Jessica