ERLEDIGT
NEIN
NEIN
ANTWORTEN
4
4
ZUGRIFFE
279
279
EMPFEHLEN
-
Hi ich habe folgendes Problem ..ich wollte mein logo ändern über weihnachten/silvester und wollte das timen .. also bis zum 26.12 soll das weihnachtslogo erscheinen und danach das normale (alte ) logo .. ab den 30.12 bis zum 01.01 das silvesterlogo..
Das habe ich so gemacht:
Nun hatte ich das mal getestet :PHP-Code:function Logo(){
$now=date("m.d.y, H:i:s");
$weihnachtslogo="26.12.2008, 23:59:00";
$normallogo ="30.12.2008, 23:59:00";
$silvesterlogo="01.01.2009, 23:59:00";
if($now <= $weihnachtslogo){
$return="weihnachtslogo";
}elseif($now <= $normallogo){
$return="normallogo";
}elseif($now <= $silvesterlogo){
$return = "silvesterlogo";
}else{
$return = "false";
}
return $return;
}
Ich habe also $now mal einen festen wert gegeben um zugucken was passiert. Er springt nach false . Wieso das ? Kommt date mit dem jahreswechsel nicht klar, also das date nicht erkennt das 2009 größer ist als 2008 ?PHP-Code:function Logo(){
$now=date("30.12.2008, 23:59:01");
$weihnachtslogo="26.12.2008, 23:59:00";
$normallogo ="30.12.2008, 23:59:00";
$silvesterlogo="01.01.2009, 23:59:00";
if($now <= $weihnachtslogo){
$return="weihnachtslogo";
}elseif($now <= $normallogo){
$return="normallogo";
}elseif($now <= $silvesterlogo){
$return = "silvesterlogo";
}else{
$return = "false";
}
return $return;
-
Hi,
arbeite besser mit Zeitstempeln:
Schau dir ausserdem mal die date()-Funktion im PHP Handbuch an.PHP-Code:$now = time();
$weihnachten = strtotime( '26.12.2008 23:59:00' );
$normal = strtotime( '30.12.2008 23:59:01' );
$silvester = strtotime( '01.01.2009 23:59:00' );
Diese erwartet ein Datumsformat und kein fertig Datum.mfg
--------------------------------------------------------------------------------
Kein Support via PN, Email, ICQ, Brieftaube oder Flaschenpost!
Besucht den tutorials.de-Chat | Anleitung
RTFM - PHP-Handbuch - MySql Handbuch
--------------------------------------------------------------------------------
Surftipp...Der Postillon
--------------------------------------------------------------------------------
Signatur v2.2
-
danke das probiere ich gleich mal aus. Was meinst du mit :
Meinst du weil ich dort unter date ein festes Datum als test eingetragen habe ? Ich wollte halt testen ob das so funktioniert wie ich mir das vorgestellt habe.. Da ich ja nicht weiß ob er wirklich den wechsel auch vornimmt ?Diese erwartet ein Datumsformat und kein fertig Datum.
-
date() erwartet numal kein Datum, sondern ein Datumsformat. (beispielsweise: d.m.Y H:i:s)
Deswegen wird dein "Test" so auch nicht funktionieren.
Wenn du nun mit Zeitstempeln rechnest, wäre beispielsweise folgendes möglich:
PHP-Code:$now = strtotime( '25.12.2008 23:59:59' ); // Festes Datum zum testen
$weihnachten_start = strtotime( '24.12.2008 23:59:59' ); // Weihnachten Start
$weihnachten_ende = strtotime( '26.12.2008 23:59:59' ); // Weihnachten Ende
if( $now >= $weihnachten_start
&& $now <= $weihnachten_ende )
{
echo 'Es ist Weihnachten!';
}
mfg
--------------------------------------------------------------------------------
Kein Support via PN, Email, ICQ, Brieftaube oder Flaschenpost!
Besucht den tutorials.de-Chat | Anleitung
RTFM - PHP-Handbuch - MySql Handbuch
--------------------------------------------------------------------------------
Surftipp...Der Postillon
--------------------------------------------------------------------------------
Signatur v2.2
-
ok danke alles klar. Dann lag der Fehler daran, das ich das so nicht testen konnte.
Dann müsste mein Bsp so aber auch gehen ? :
Genauso wie diese Variante :PHP-Code:function Logo(){
$now=date("m.d.y, H:i:s");
$weihnachtslogo="26.12.2008, 23:59:00";
$normallogo ="30.12.2008, 23:59:00";
$silvesterlogo="01.01.2009, 23:59:00";
if($now <= $weihnachtslogo){
$return="weihnachtslogo";
}elseif($now <= $normallogo){
$return="normallogo";
}elseif($now <= $silvesterlogo){
$return = "silvesterlogo";
}else{
$return = "false";
}
return $return;
}
Ist ja im Prinzip das gleiche und müsste wenn ich mich nicht irre beides so funktionierenPHP-Code:function Logo(){
$now=time();
$weihnachtslogo = strtotime( '26.12.2008 23:59:00' );
$normallogo = strtotime( '30.12.2008 23:59:01' );
$silvesterlogo = strtotime( '01.01.2009 23:59:00' );
if($now <= $weihnachtslogo){
$return="weihnachtslogo";
}elseif($now <= $normallogo){
$return="normallogo";
}elseif($now <= $silvesterlogo){
$return = "silvesterlogo";
}else{
$return = "false";
}
return $return;
}
Ähnliche Themen
-
eigene date-Funktion
Von Zimtgruen im Forum PHPAntworten: 10Letzter Beitrag: 18.11.08, 20:38 -
Probleme mit "date" funktion....
Von BillaBong im Forum PHPAntworten: 1Letzter Beitrag: 08.05.07, 15:46 -
Frage zu date() Funktion
Von hab1cht im Forum Relationale DatenbanksystemeAntworten: 5Letzter Beitrag: 13.02.07, 09:55 -
Frage zur date() Funktion
Von JamesT im Forum PHPAntworten: 6Letzter Beitrag: 15.11.06, 11:38 -
date() Funktion?
Von server im Forum PHPAntworten: 4Letzter Beitrag: 20.03.05, 18:26





Zitieren
Login






[PHP][Snippet] Array zu XML konvertieren