Juergens-Workshops.de Forum
Adventskalender - Frage - Druckversion

+- Juergens-Workshops.de Forum (https://forum.juergens-workshops.de)
+-- Forum: Corel PhotoImpact Forum (https://forum.juergens-workshops.de/forumdisplay.php?fid=61)
+--- Forum: PhotoImpact (https://forum.juergens-workshops.de/forumdisplay.php?fid=79)
+--- Thema: Adventskalender - Frage (/showthread.php?tid=29254)



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? confused


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...
[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?


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 Bussi
Dankeschön!!!