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

Datum überprüfen

Hansii

Mitglied
Hallo.

Derzeit arbeite ich mit Calm an einem Projekt. Hierzu folgende Frage:

Mit

PHP:
if($datum <= $heute)
            {
            echo "<br  /><br /><span style=\"color:red;font-weight:bold;\">Das  Datum für den Termin muss in der Zukunft liegen. <a  href=\"neu.php\">Zur&uuml;ck</a></span>";
            }

wird ja überprüft, ob das eingegebene Datum heute ist oder in der Vergangenheit liegt.

Auch wenn ich das Datum aus der Zukunft nehme, z.B. 05.05.2015, wird mir angezeigt, dass das Datum in der Vergangenheit liegt. Warum ?

Danke

PS: Hier der ausführliche Codeteil:

PHP:
$anrede = $_POST["anrede"];
    $vorname = $_POST["vorname"];
    $name = $_POST["name"];
    $ort = $_POST["ort"];
    $aktiv = $_POST["aktiv"];
    $datum = $_POST["datum"];
    
    $jetzt = time();
    $heute = date("d.m.Y", $jetzt);
    
    if($anrede == "" OR $vorname == "" OR $name == "" OR $ort == "" OR $aktiv == "" OR $datum == "")
        {
        echo "<br /><br />Bitte füllen Sie alle felder aus. <a href=\"neu.php\">Zur&uuml;ck</a>";
        }
    else
        {
        if($datum <= $heute)
            {
            echo "<br /><br /><span style=\"color:red;font-weight:bold;\">Das Datum für den Termin muss in der Zukunft liegen. <a href=\"neu.php\">Zur&uuml;ck</a></span>";
            }
        else
            {
            $datei = "txt-Dateien/termine.txt";
            $fp = fopen("$datei", "a+");
            fputs($fp,"\r\n".$anrede." | ".$vorname." | ".$name." | ".$ort." | ".$aktiv." | ".$datum);
            fclose($fp);
        
            header("Location: index.php");
            }
        }
 
Bei beiden Daten handelt es sich um einen String, die kannst du so nicht prüfen.

Außerdem hat ein Zukunftsdatum einen höheren Timestamp als ein vergangenes. Deshalb würde wohl <= das falsche Ergebnis bringen.
 
Du kannst nicht 05.05.2015 mit 27.03.2013 vergleichen. Du könntest mit Timestamps arbeiten, damit ist das kein Problem.
 
Wie wandle ich denn das Datum, was der User eingibt, in einen Timestamp um ? Das ist die Variable $datum. Danke
 
Wird ja immer schlimmer hier, ich fühl mich hier ja schon fast so wie auf php.de
Naja egal

Wegen dem Timestamp, schau dir die Funktion "mktime" mal an, ansonsten schau dir mal das DateTime Object an in PHP.
 
Wird ja immer schlimmer hier, ich fühl mich hier ja schon fast so wie auf php.de
Auf php.de geht es deutlich rauer zu. Dokuleseverweigerer haben dort selten viel Spaß mit ihren Threads, die werden schnell dicht gemacht, was auch absolut richtig ist. Grundlagen sollte man schon lernen, dafür sind Foren nämlich nicht gedacht.
 
Wird ja immer schlimmer hier, ich fühl mich hier ja schon fast so wie auf php.de
Naja egal

Ich helfe ja gerne Leuten, sonst wäre ich nicht hier. Und weil ich ab und zu selber Hilfe brauche :P
Sozusagen ein geben und nehmen.

Dadurch sind mir auch schon Hansii und Calm aufgefallen. Das typische Schema der beiden:

Hallo habe ein Problem:

HTML:
<html>
...
</html>

Wie löse ich das?

Dann antwortest du. Kommt nochmal eine Rückfrage die sich jeder in 10 Sekunden via Google selbst beantworten kann - Null Eigeninitiative.
Dann antwortest du nochmal und die beiden sind wieder weg - ohne bitte, ohne danke.

Wenn du es dann noch wagst weitere Sachen am Code zu bemängeln oder anderweitige Tips zu geben - wird eiskalt ignoriert. Gibt schließlich das Forum dass es einem schon richtet wenns später mal Probleme macht.

Und dennoch - trotz all der Abneigung gegenüber solchen Nutzern - haben wir geantwortet und die beiden wichtigsten Worte erwähnt: "PHP" und "Timestamp".

Jedes Kleinkind generiert daraus die Lösung.
 
Zurück
Oben