zurück zur Startseite
  


Zurück XHTMLforum > Webentwicklung (außer XHTML und CSS) > Serveradministration und serverseitige Scripte
Seite neu laden If Ostern

Antwort
 
LinkBack Themen-Optionen Ansicht
  #1 (permalink)  
Alt 16.04.2014, 22:19
Erfahrener Benutzer
XHTMLforum-Mitglied
Thread-Ersteller
 
Registriert seit: 12.11.2010
Ort: Bad Langensalza
Beiträge: 733
gabischatz ist in Verruf geraten
Standard If Ostern

Hi, ich möchte eine Seite jedes Jahr zu Ostern anzeigen:
Für Ostern gibt es ja 2 Funktionen.
PHP-Code:
<?php
echo date("M-d-Y"easter_date(2001));        // Apr-15-2001
echo easter_days(1999);        // 14, also April 4
?>
PHP: easter_date - Manual
PHP: easter_days - Manual
Leider weis ich nicht wie ich die If-Abfrage richtig erstelle, damit ich die Seite anzeigen kann.
Nachtrag:
Manchmal sieht man den Baum vor lauter Bäumen nicht.
PHP-Code:
if(date("M-d-Y"easter_date())== date("M-d-Y")) { 
MfG gabischatz

Geändert von gabischatz (16.04.2014 um 22:23 Uhr) Grund: Lösung gefunden
Mit Zitat antworten
Sponsored Links
  #2 (permalink)  
Alt 17.04.2014, 20:47
Erfahrener Benutzer
XHTMLforum-Mitglied
Thread-Ersteller
 
Registriert seit: 12.11.2010
Ort: Bad Langensalza
Beiträge: 733
gabischatz ist in Verruf geraten
Standard Brauche Hilfe, bekomme Funktion nicht zum laufen!

Hi, bekomme die Funktion nicht zum laufen!
Wird immer nach False (Null ) ausgewertet
PHP-Code:
function validateDate($tag)
{
    
$ostern = new DateTime(date("M-d-Y"easter_date(date("Y"))));

    
$ostern->modify('-1 day');
  (string)  
$karrfreitag =  $ostern->format('Y-m-d') . "\n";

    
$ostern->modify('-1 day');
  (string)  
$gruendonnerstag $ostern->format('Y-m-d') . "\n";
  (string) 
$heute date("Y-m-d");

//    var_dump($gruendonnerstag);
//    var_dump($karrfreitag);
    
if($tag == "karfreitag")
    {
        if(
$karfreitag==$heute)
            return 
true;
        else
            return 
false;
    }
    else if(
$tag=="gruendonnerstag")
    {
        if  (
$gruendonnerstag==$heute)
            return 
true;
        else
            return 
false;
    }
    else
    {
        echo 
$karfreitag .' '.$heute;
         return 
false;
    }
}
       echo 
$gruendonnerstag .' '.$heute;
if(
validateDate("gruendonnerstag"))  
echo
"true";
 
?> 
MfG gabischatz

Geändert von gabischatz (18.04.2014 um 10:17 Uhr) Grund: Rechtschreibfehler beseitigt
Mit Zitat antworten
Sponsored Links
  #3 (permalink)  
Alt 18.04.2014, 01:56
Benutzerbild von Thielo
Web Ninja
XHTMLforum-Kenner
 
Registriert seit: 17.09.2009
Ort: Stuttgart oder so
Beiträge: 3.372
Thielo ist ein LichtblickThielo ist ein LichtblickThielo ist ein LichtblickThielo ist ein LichtblickThielo ist ein LichtblickThielo ist ein Lichtblick
Standard

Was soll die Funktion machen?
__________________
Hier ein immer gültiges Statement: Überarbeite deine Code, lerne die Grundlagen, widersprich mir nicht, wehre dich nicht, ich habe Recht, wir sind Lolgion, wir sind viele.. potato...
All meine Angaben sind ohne Gewähr, es könnte also trotz meiner Unfehlbarkeit dazu kommen dass ich falsch liege

www.richard-thiel.de | Müssen Websiten überall gleich ausschauen?
Mit Zitat antworten
  #4 (permalink)  
Alt 18.04.2014, 10:14
Erfahrener Benutzer
XHTMLforum-Mitglied
Thread-Ersteller
 
Registriert seit: 12.11.2010
Ort: Bad Langensalza
Beiträge: 733
gabischatz ist in Verruf geraten
Standard

Guten Morgen, und einen schönen Karfreitag.
Die Funktion soll true oder false zurückliefern wenn ich nach den entsprechenden Tag Frage.
Ich habe ja unten schon im Script
PHP-Code:
if(validateDate("gruendonnerstag"))   
echo
"true"// Heute ist Gündonnerstag, Seite ausliefern. 
So prüfe ich ob ich die Seite ausliefern kann.

Leider bekomme ich immer von der Funktion eine false bzw Null zurück.

Vielleicht sollte ich keinen String vergleich durchführen, sondern es mit mktime Vergleichen.
MfG gabischatz
Mit Zitat antworten
  #5 (permalink)  
Alt 18.04.2014, 10:50
?!?
XHTMLforum-Kenner
 
Registriert seit: 20.03.2013
Beiträge: 1.638
explanator sorgt für eine eindrucksvolle Atmosphäreexplanator sorgt für eine eindrucksvolle Atmosphäre
Standard

Du hast da Fehler drin. karfreitag ist nicht gleich karrfreitag.
Weiter fügst du da ein Zeichen für newline hinzu, dann stimmt der Vergleich natürlich nicht mehr. Nimm das raus und es geht.
__________________
"Wieso ist der Code schrott, ich dachte hier seien Profis..."
Aus einem Forum.
Mit Zitat antworten
  #6 (permalink)  
Alt 18.04.2014, 11:16
Erfahrener Benutzer
XHTMLforum-Mitglied
Thread-Ersteller
 
Registriert seit: 12.11.2010
Ort: Bad Langensalza
Beiträge: 733
gabischatz ist in Verruf geraten
Standard

So jetzt funktioniert es.
PHP-Code:
function aktuell() {
     
$heute = new DateTime(date("M-d-Y",time()));
     return 
$heute->format('M-d-Y');
}

function 
validateDate($tag)
{
    
$ostern = new DateTime(date("M-d-Y"easter_date(date("Y"))));

    
$ostern->modify('-1 day');
    
$karfreitag =  $ostern->format('M-d-Y');


    
$ostern->modify('-1 day');
    
$gruendonnerstag $ostern->format('M-d-Y');

    if(
$tag == "karfreitag")
        return 
$karfreitag ;

    else if(
$tag=="gruendonnerstag")
        return  
$gruendonnerstag ;

    else
        return 
false;
}

if(
validateDate('karfreitag')==aktuell()) 
    echo
"true"// Heute ist Karfreitag, Seite ausliefern. 
Danke explanator da habe ich vorhin noch einen karrfreitag übersehen.
newline hatte ich gestern nach dem Post schon raus genommen, brachte aber nix.
Jetzt läuft es, das ist die Hauptsache.
Grüße und schönes Osterfest.
Mit Zitat antworten
  #7 (permalink)  
Alt 19.04.2014, 17:37
Erfahrener Benutzer
XHTMLforum-Mitglied
Thread-Ersteller
 
Registriert seit: 12.11.2010
Ort: Bad Langensalza
Beiträge: 733
gabischatz ist in Verruf geraten
Standard Bekomme eine Warnmeldung

Hi, leider bekomme ich schon wieder eine Warnmeldung:
Warning: date() expects parameter 2 to be long, string given in start.php on line 100
, die ich nicht in den Griff bekomme. Es funktioniert, aber die Fehlermeldung muss weg.

PHP-Code:
function aktuell() {
     
$heute = new DateTime(date("M-d-Y",time()));
     return 
$heute->format('M-d-Y');
}

function 
validateDate($tag)
{
    
$ostern = new DateTime(date("M-d-Y"easter_date(date("Y"))));
 
    if(
$tag=="osterzeit")
    {
        
$vor_ostern = clone $ostern;
        
$vor_ostern->modify('-10day');
        for (
$i 0$i <= 20$i++)
        {
            
$new_tag $vor_ostern->format('M-d-Y');
            
//Prüfe auf gleicher String
            
if ($new_tag == aktuell()) break;

            
$vor_ostern->modify('1day');
        }
        
$heute_new = new DateTime(date("M-d-Y"$new_tag)); //Warning: date() expects parameter 2 to be long, string given in start.php on line 100
        
return $heute_new->format('M-d-Y');
    }
    else
        return 
false;

Grüße
Mit Zitat antworten
  #8 (permalink)  
Alt 19.04.2014, 20:29
?!?
XHTMLforum-Kenner
 
Registriert seit: 20.03.2013
Beiträge: 1.638
explanator sorgt für eine eindrucksvolle Atmosphäreexplanator sorgt für eine eindrucksvolle Atmosphäre
Standard

Wozu hast du die funktion atuell?

Die brauchst du doch gar nicht. Date() gibt dir das aktuelle Datum. Formatieren kannst du es auch. Siehe PHP: date - Manual.
__________________
"Wieso ist der Code schrott, ich dachte hier seien Profis..."
Aus einem Forum.
Mit Zitat antworten
  #9 (permalink)  
Alt 19.04.2014, 21:44
Erfahrener Benutzer
XHTMLforum-Mitglied
Thread-Ersteller
 
Registriert seit: 12.11.2010
Ort: Bad Langensalza
Beiträge: 733
gabischatz ist in Verruf geraten
Standard

Zitat:
Zitat von explanator Beitrag anzeigen
Wozu hast du die funktion atuell?
Die brauchst du doch gar nicht. Date() gibt dir das aktuelle Datum.
Damit der String 100% über einstimmt. Mit date() hatte ich keine Übereinstimmung.



Problem ist doch
PHP-Code:
$heute_new = new DateTime(date('M-d-Y'$oster_clone)) ; 
Ich übergebe ein Objekt -> object(DateTime)#2170 (3) { ["date"]=> string(19) "2014-04-30 00:00:00" ["timezone_type"]=> int(3) ["timezone"]=> string(3) "UTC" }
Es muss aber ein String sein, in etwa so 2014-04-30 00:00:00.

Wie bekomme ich aus dem date() Objekt, ["date"]=> string(19) "2014-04-30 00:00:00" in einen String?
Grüße
Mit Zitat antworten
Sponsored Links
  #10 (permalink)  
Alt 19.04.2014, 21:56
?!?
XHTMLforum-Kenner
 
Registriert seit: 20.03.2013
Beiträge: 1.638
explanator sorgt für eine eindrucksvolle Atmosphäreexplanator sorgt für eine eindrucksvolle Atmosphäre
Standard

Zitat:
Zitat von gabischatz Beitrag anzeigen
Wie bekomme ich aus dem date() Objekt, ["date"]=> string(19) "2014-04-30 00:00:00" in einen String?
Grüße
Mit $date->format('d-m-Y');
__________________
"Wieso ist der Code schrott, ich dachte hier seien Profis..."
Aus einem Forum.
Mit Zitat antworten
Sponsored Links
Antwort

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Denkproblem (Ostern errechnen und ergebnis für IF verwenden) SG1983 Serveradministration und serverseitige Scripte 4 08.06.2010 21:50


Alle Zeitangaben in WEZ +2. Es ist jetzt 17:17 Uhr.