• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Zeit Link

Status
Für weitere Antworten geschlossen.
Du kannst mit [phpnet]date[/phpnet] die aktuelle Zeit rausfinden und dann mit einer Switch-Case Abfrage einen unterschiedlichen Link ausgeben lassen.
 
PHP:
<?php
if(date('G') > 18)
{
   echo("<a href=\"wasweisich.de/123\">hier klicken nach 18:00</a>");
}
else
{
   echo("<a href=\"wasweisich.de/abc\">hier klicken vor 18:00</a>");
}
?>
 
Ja aber ich weis nicht wie ich sie zusammen machen muss:

so?

PHP:
<?php
if(date('G:i') > 20 59)
{
   echo("<a href=\"wasweisich.de/123\">hier klicken nach 18:00</a>");
}
else
{
   echo("<a href=\"wasweisich.de/abc\">hier klicken vor 18:00</a>");
}
?>

oder so?

PHP:
<?php
if(date('G'.'i') > 20 . 59)
{
   echo("<a href=\"wasweisich.de/123\">hier klicken nach 18:00</a>");
}
else
{
   echo("<a href=\"wasweisich.de/abc\">hier klicken vor 18:00</a>");
}
?>

oder so?

PHP:
<?php
if(date('G:i') > 20:59)
{
   echo("<a href=\"wasweisich.de/123\">hier klicken nach 18:00</a>");
}
else
{
   echo("<a href=\"wasweisich.de/abc\">hier klicken vor 18:00</a>");
}
?>
 
ok das geht aber wenn ich es jetzt das ausgebe:

PHP:
<?php
if(date('G') > 20 AND date('i') > 30)
{
   echo("<a href=\"wasweisich.de/123\">hier klicken nach 20:30</a>");  
} 
else
{
   echo("<a href=\"wasweisich.de/abc\">hier klicken vor 20:30</a>");
}
?>


kommt hier klicken vor 20:30 wieso?
 
es kommt nur der link wenn beide bedingungen erfüllt werden, aber zur zeit ist es nicht später als halb

Lösung:
PHP:
<?php
if((date('G') > 20 AND date('i') > 30) OR date('G') > 21)
{
   echo("<a href=\"wasweisich.de/123\">hier klicken nach 20:30</a>");  
}
else
{
   echo("<a href=\"wasweisich.de/abc\">hier klicken vor 20:30</a>");
}
?>
UND JETZT MACH MAL DEIN ***** SELBER
 
OK, sorry war mein Fehler :-/

PHP:
if(date('G') > 18 OR (date('G') >= 18 AND date('i') > 30)){
//Nach 18:30 Uhr

} else {
//Vor 18:30 Uhr

}
müsste klappen :D
 
OK funzt! soweit nächstes problem:
PHP:
<?php 
//G=Zeit stunde  i=zeit minute  m=datum tag   n=datum monat
if(date('G') > 18 OR (date('G') >= 18 AND date('i') > 30 date('m') > 27 OR (date('m') >= 27 AND date('n') > 9))
{ 
   echo("<a href=\"wasweisich.de/123\">hier klicken nach 20:30</a>");   
} 
else 
{ 
   echo("<a href=\"wasweisich.de/abc\">hier klicken vor 20:30</a>"); 
} 
?>

= Parse error: parse error, unexpected T_STRING
 
Zuletzt bearbeitet:
Der Fehler liegt
PHP:
if(date('G') > 18 OR (date('G') >= 18 AND date('i') > 30 date('m') > 27 OR (date('m') >= 27 AND date('n') > 9)) //                 ^--genau hier



Ich glaube, in deinem Fall isses das beste, wenn du nach der Abfrage für die Zeit eine Abfrage für den Tag machst. Wird zwar n langer Code, aber du musst nicht imer hier fragen...


Oder eine weitere einfache Lösung:

du machst ein array, mit mehreren Ebenen:

PHP:
$link[1][1] = "abc";
$link[1][0] = "def";
$link[0][1] = "ghi";
$link[0][0] = "jkl";
//usw.

und packst dann solche Bbfragen rein:

PHP:
$eins = ((date('G') > 18 OR (date('G') >= 18 AND date('i') > 30)) ? 1 : 0);
$zwei = ((date('m') > 15) ? 1 : 0);
//usw.

und das mit mehreren werten. dann schreibst du den Link mithilfe des Arrays und der Zahlen:

PHP:
   echo("<a href=\"wasweisich.de".$link[$eins][$zwei].">Link</a>");
Der Text, der statt "link" da steht lässt sich ebenfalls mit einem Array erändern.
musst halt nur erstmal die ganzen Datumsteile abfragen, nach denen du sortierst, und den Array entsprechend machen.
 
Wieso so umständlich? deine Kontrollstruktur ist völlig unsinnig...
was ist, wenn es 21:29 ist, dann würde trotzdem der Link vor 20:30 ausgegeben.
Hier ist die Lösung:
PHP:
<?php
    //G=Zeit stunde  i=zeit minute  m=datum tag   n=datum monat
    if(date('G:i') >= '20:30') {
       echo("<a href=\"wasweisich.de/123\">hier klicken nach 20:30</a>");
    } else {
        echo("<a href=\"wasweisich.de/abc\">hier klicken vor 20:30</a>");
    }
?>
MFG
Alti
EDIT:
Ach ja, du willst ja noch das Datum überprüfen, du machst in die if abfrage einfach noch ein
PHP:
AND date('m') >= 27
 
Wieso so umständlich? deine Kontrollstruktur ist völlig unsinnig...
was ist, wenn es 21:29 ist, dann würde trotzdem der Link vor 20:30 ausgegeben.
Hier ist die Lösung:
PHP:
<?php
    //G=Zeit stunde  i=zeit minute  m=datum tag   n=datum monat
    if(date('G:i') >= '20:30') {
       echo("<a href=\"wasweisich.de/123\">hier klicken nach 20:30</a>");
    } else {
        echo("<a href=\"wasweisich.de/abc\">hier klicken vor 20:30</a>");
    }
?>
MFG
Alti
EDIT:
Ach ja, du willst ja noch das Datum überprüfen, du machst in die if abfrage einfach noch ein
PHP:
AND date('m') >= 27
1. String >= 2. String???

Seit wann kann man Textstringsmiteinandervergleichen? übrigend wurde bereits eine möglichkeit gesagt, bei der alles richtig angezeigt wird, sowohl von mit als auch von Frank :p
 
1. String >= 2. String???

Seit wann kann man Textstringsmiteinandervergleichen? übrigend wurde bereits eine möglichkeit gesagt, bei der alles richtig angezeigt wird, sowohl von mit als auch von Frank :p

Kann man, da sie nummerische Werte enthalten, bis auf den Doppelpunkt.

Außerdem wird er mit date('m') >27 nicht weit kommen, da m für Monat stehen, und bekanntlicherweise gibt es nur 12 davon.
Hier meine funktionierende Lösung:
PHP:
<?php
//G=Zeit stunde  i=zeit minute  m=datum tag   n=datum monat
if(date('G:i') >= '20:30' AND date('d') >= 27)
{
   echo("<a href=\"wasweisich.de/123\">hier klicken nach 20:30</a>");
}
else
{
   echo("<a href=\"wasweisich.de/abc\">hier klicken vor 20:30</a>");
}
?>
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben