Datumsabhängige Ausgabe
BiggiM
- php
0 Ulli1 Felix Riesterer0 Ingo Turski0 Ashura0 Ingo Turski0 dedlfix
0 BiggiM
Hallo und guten Tag,
leider bin ich ganz neu in PHP und verstehe vieles noch nicht.
Folgendes: Ich möchte eine Webseite von SSI auf PHP umstellen und suche eine Möglichkeit, datumsabhängige Ausgaben in PHP zu realisieren. Mit SSI ist das ja ganz einfach.
Mit PHP habe ich jetzt folgendes:
<?php
if ((date("dmY")>= 19092005) AND (date ("dmY") <=31102005)) {
?>
<h4>Überschrift1</h4>
<p>Text1</p>
<?php
}
?>
<?php
if ((date("dmY")>= 07102005) AND (date ("dmY") <=11112005)) {
?>
<h4>Überschrift2</h4>
<p>Text2</p>
<?php
}
?>
usw.
Die Nachrichten sollen nur innerhalb des angegebenen Zeitraums ausgegeben werden.
Das funktioniert aber nicht zuverlässig. Offenbar wird das Datum nicht als Datum ausgelesen, sondern als Ganzzahl, was zwar logisch ist, aber nicht das, was ich will.
Vielen Dank schon mal für Hilfe.
Biggi
Hallo,
Das funktioniert aber nicht zuverlässig. Offenbar wird das Datum nicht als Datum ausgelesen, sondern als Ganzzahl, was zwar logisch ist, aber nicht das, was ich will.
date() gibt einen String zurück!
http://de3.php.net/manual/de/function.date.php
Was spricht denn gegen:
if(strtotime(date("Y-m-d")) >= strtotime("2005-19-09") ) usw.
Grüße, Ulli
Liebe BiggiM,
if ((date("dmY")>= 19092005) AND (date ("dmY") <=31102005)) {
das sieht aus, als ob es nie und nimmer zuverlässig klappen könnte.
Beispiel: 17.12.2005 => 17122005 ist kleiner als 19092005, obwohl das Datum an sich später ist. Daher greift Dein Vergleich nicht, da er an der ersten Bedingung scheitert.
Probiere es doch rückwärts: 19.09.2005 => 2005-09-19 => 20050919. Damit kannst Du zuverlässig eine größer/kleiner-Prüfung durchführen.
if (date("Ymd") >= 20050919 && date("Ymd") <= 20051231)
Liebe Grüße aus Ellwangen,
Felix Riesterer.
Hi,
<?php
if ((date("dmY")>= 19092005) AND (date ("dmY") <=31102005)) {
?>
<h4>Überschrift1</h4>
was soll das sein? Du beendest den PHP-Breich (ohne die { zu schließen) und fährst mit normaler HTML-Ausgabe fort?
freundliche Grüße
Ingo
Hallo Ingo.
<?php
if ((date("dmY")>= 19092005) AND (date ("dmY") <=31102005)) {
?>
<h4>Überschrift1</h4>
was soll das sein? Du beendest den PHP-Breich (ohne die { zu schließen) und fährst mit normaler HTML-Ausgabe fort?
Bedauerlicherweise ist dies in der Tat möglich. Der HTML-Code wird also nur ausgegeben, wenn die Bedingung zutrifft.
Bedauerlicherweise, weil dies IMO eine sehr unsaubere Programmierweise ist.
Einen schönen Montag noch.
Gruß, Ashura
Hi,
Bedauerlicherweise ist dies in der Tat möglich. Der HTML-Code wird also nur ausgegeben, wenn die Bedingung zutrifft.
Bedauerlicherweise, weil dies IMO eine sehr unsaubere Programmierweise ist.
echt? Wie konnte man sowas bloß implementieren?
freundliche Grüße
Ingo
echo $begrüßung;
Bedauerlicherweise ist dies in der Tat möglich. Der HTML-Code wird also nur ausgegeben, wenn die Bedingung zutrifft.
Bedauerlicherweise, weil dies IMO eine sehr unsaubere Programmierweise ist.echt? Wie konnte man sowas bloß implementieren?
Damals mit Perl, später mit C.
Aber im Ernst, es gibt zwei Möglichkeiten, PHPs Control structures und HTML zu verknüpfen:
Ansonsten müsste man sich echo/print oder der Heredoc syntax bedienen und dabei ggf. auf HTML-Syntax-Highlighting im Editor verzichten.
echo "$verabschiedung $name";
Hi,
- Advanced Escaping unter Basic syntax
das finde ich total "krank". Es widersprich mMn jeglicher Logik einer Verschachtelung. Zum Glück gibt's das z.B. bei HTML und Javascript nicht. Oder etwa doch:
<script type="text/javascript">if(true){</script><p>wahr</p><script type="text/javascript">}</script> ? Wer würde bloß auf so eine Idee kommen?
das schaut dagegen sehr gut aus, wenn auch nur eingeschränkt nutzbar.
freundliche Grüße
Ingo
Hi,
<?php
if ((date("dmY")>= 19092005) AND (date ("dmY") <=31102005)) {
?>
<h4>Überschrift1</h4>
was soll das sein? Du beendest den PHP-Breich (ohne die { zu schließen) und fährst mit normaler HTML-Ausgabe fort?freundliche Grüße
Ingo
Nee, das ist nur ein Code Schnippsel, der durchaus noch beendet wird, habe ich nur nicht (weil ich das für selbstverständlich hielt) mitgepostet. Der Vollständigkeit halber:
<?php
}
?>
Gruß Biggi