Datum Bereich im Kalender einstellen

Diskutiere Datum Bereich im Kalender einstellen im HTML Forum im Bereich Programmierung; Guten Tag, ich befasse mich neu mit HTML/PHP und suche einen Kalender, bei dem die Tage erst ab morgen wählbar sind, Gebe ich in HTML explizit...
  • Datum Bereich im Kalender einstellen Beitrag #1
G
grabbi
Member
Beiträge
6
Punkte Reaktionen
0
Guten Tag,
ich befasse mich neu mit HTML/PHP und suche einen Kalender, bei dem die Tage erst ab morgen wählbar sind, Gebe ich in HTML explizit "2023-10-11" ein, dann klappt es übergebe ich aber eine Variable "liefer_1" aus PHP, da ich immer die Anzeige ab morgen im Kalender möchte, dann klappt das nicht. Wer kann helfen - danke
 
Anhänge
  • Lieferung 1 ok.png
    Lieferung 1 ok.png
    125,6 KB · Aufrufe: 7
  • Lieferung 1.png
    Lieferung 1.png
    125,4 KB · Aufrufe: 7
  • Lieferung php.png
    Lieferung php.png
    54,4 KB · Aufrufe: 7
  • Datum Bereich im Kalender einstellen Beitrag #2
S
scatello
Well-known member
Beiträge
528
Punkte Reaktionen
44
Was soll min="lief_1" sein? Willst du dort den Wert von $lief_1 haben? Wenn ja, dann solltest du den Wert mit echo ausgeben,
 
  • Datum Bereich im Kalender einstellen Beitrag #3
G
grabbi
Member
Beiträge
6
Punkte Reaktionen
0
PHP wird definiert $lief_1 = date("Y-m-d",$timestamp + (24*60*60));
soll dann im Formular
<input type="date" id="el_tag" name="el_tag" value= "" min="lief_1" ><br> eingetragen werden, um alle Tage vor heute nicht anwählbar zu haben (lief_1 wird von dd.mm.YY in YY-mm-dd umformatiert).

Mit
<input type="date" id="el_tag" name="el_tag" value= "" min="2023-10-10" ><br> klappt es (alle Tage vor dem 10.10.2023 sind nicht wählbar.
 
  • Datum Bereich im Kalender einstellen Beitrag #4
S
scatello
Well-known member
Beiträge
528
Punkte Reaktionen
44
  • Datum Bereich im Kalender einstellen Beitrag #5
G
grabbi
Member
Beiträge
6
Punkte Reaktionen
0
Danke für die Antwort,
habe mal die HTML und PHP Datei angehängt es klappt leider auch mit deinem Hinweis nicht (es kann nichts weltbewegendes sein, aber als Neuling stehe ich voll auf dem Schlauch) - vielleicht hast du noch einen Tip
 
Anhänge
  • kalender.zip
    1,9 KB · Aufrufe: 4
  • Datum Bereich im Kalender einstellen Beitrag #6
T
tk1234
Well-known member
Beiträge
103
Punkte Reaktionen
8
habe mal die HTML und PHP Datei angehängt es klappt leider auch mit deinem Hinweis nicht
PHP-Code wird natürlich in Dateien die auf .html enden (standardmäßig) nicht ausgeführt - speichere die Datei mit der Endung .php (und jag den HTML-Code durch den Validator, da sind Fehler drin).
 
  • Datum Bereich im Kalender einstellen Beitrag #7
G
grabbi
Member
Beiträge
6
Punkte Reaktionen
0
Vielen Dank für die Info und dem Hinweis "Validator" - vielleicht stelle ich die Frage anders

Forderung: die möglichen Kalendertage vor dem 11.10.2023 sollen nicht wählbar sein

wieso bringt mir die HTML - Zeile
<input type="date" id="el_tag" name="el_tag" value="" min="lief_1" ><br> siehe erster nio.jpg
nicht das gewünschte Ergebnis, wie mit folgender Code Zeile
<input type="date" id="el_tag" name="el_tag" value= "" min="2023-10-11" ><br> siehe erster.jpg

die Variable $lief_1 wird in einer PHP Datei mit
$timestamp = time();
// erster und letzter möglicher Liefertag Achtung:kein deutsches Datum
$lief_1 = date("Y-m-d",$timestamp + (24*60*60));
erzeugt
 
Anhänge
  • erster nio.png
    erster nio.png
    22,4 KB · Aufrufe: 0
  • erster.png
    erster.png
    23,8 KB · Aufrufe: 0
  • Datum Bereich im Kalender einstellen Beitrag #8
S
scatello
Well-known member
Beiträge
528
Punkte Reaktionen
44
wieso bringt mir die HTML - Zeile
<input type="date" id="el_tag" name="el_tag" value="" min="lief_1" ><br> siehe erster nio.jpg
nicht das gewünschte Ergebnis, wie mit folgender Code Zeile
Weil lief_1 kein Datum ist. Das kann doch jetzt nicht so schwer sein, die Datei in .php umzubenennen und die echo-Anweisung einzubauen.
 
  • Datum Bereich im Kalender einstellen Beitrag #9
G
grabbi
Member
Beiträge
6
Punkte Reaktionen
0
Hallo SCATELLO,
da ich wie Eingangs erwähnt Neuling in Sachen HTML PHP bin, bin ich natürlich für zielführende Hinweise sehr dankbar.
Was hast du an

nicht verstanden?
PHP:
<input type="date" id="el_tag" name="el_tag" value= "" min="<?php echo $lief_1; ?>" >
dieser Tip führte leider nicht zum Ergebnis

dein nächster Tip
Weil lief_1 kein Datum ist. Das kann doch jetzt nicht so schwer sein, die Datei in .php umzubenennen und die echo-Anweisung einzubauen.
ist für mich derzeit unverständlich, da ich in einer .PHP Datei $lief_1 deklariere

$timestamp = time();
// erster möglicher Liefertag englisches Datum
$lief_1 = date('Y-m-d',$timestamp + (24*60*60));

und sie dann in einer .HTML Datei anwenden möchte
<form action="/action_page.php" method="get" autocomplete="off">
<label for="liefertag">erster Liefertag</label><br>
<input type="date" id="el_tag" name="el_tag" value= "" min ="lief_1" <br><br>

die Ausgabe aus de .PHP Datei zeigt mir das korrekte Ergebnis an (siehe anzeige.png)

echo "<font face='Arial' size='4pt' color='blue'>";
echo "<p> Danke fuer Ihre Bestellung unter der Bestellnummer</p>";
echo "<p>$bnumm mit $anz_tag Lieferungen ab dem $el_tag_1</p>";
echo "<p>$lief_1</p>" ;
echo "<p>$lief_x</p>" ;
echo "<p> Sie erhalten in Kürze eine E-Mail mit Ihren Bestelldaten</p>";
echo "</font>";
header("Refresh:5; url=/index.html");

gebe ich hingegen in der .HTML Datei explizit "YYYY-MM-DD" ein, wird mir der Kalender wie gewollt angezeigt (siehe erster.png)
 
Anhänge
  • anzeige.png
    anzeige.png
    39 KB · Aufrufe: 3
  • erster.png
    erster.png
    23,8 KB · Aufrufe: 3
  • Datum Bereich im Kalender einstellen Beitrag #10
S
Sempervivum
Well-known member
Beiträge
760
Punkte Reaktionen
125
Ich vermute, der Kern des Problems liegt darin, dass deine Variable $lief_1 in einer PHP-Datei definiert wird und das Formular mit dem Kalender in einer anderen HTML-Datei. Dort ist diese Variable dann undefiniert und das Einfügen mit dem PHP-Tag, wie vorgeschlagen, kann nicht funktionieren, auch wenn Du die Datei in .php umbenenne würdest.

Zwei Möglichkeiten, das Problem zu lösen:

1. Die HTML-Datei, wie ebenfalls vorgeschlagen, in .php umbenennen und dort die Variable ebenfalls definieren:
Code:
$lief_1 = date('Y-m-d',$timestamp + (24*60*60));
Dann kannst Du sie mit einem PHP-Tag in dem input-Tag vom Typ "date" einfügen, wie oben vorgeschlagen.

2. Den min-Wert mit Javascript ermitteln und in dem input-Tag einfügen:
Code:
    <script>
        let dt = new Date();
        dt.setDate(dt.getDate() + 1);
        const from = dt.getFullYear() + '-'
            + String((dt.getMonth() + 1)).padStart(2, '0') + '-'
            + String(dt.getDate()).padStart(2, '0');
        document.getElementById('el_tag').min = from;
    </script>
</body>
Wie Du siehst, das Skript vor dem schließenden </body> einfügen.
Oder etwas einfacher mit toISOString:
Code:
    <script>
        let dt = new Date();
        dt.setDate(dt.getDate() + 1);
        const from = dt.toISOString().substring(0, 10);
        document.getElementById('el_tag').min = from;
    </script>
</body>
 
  • Datum Bereich im Kalender einstellen Beitrag #11
G
grabbi
Member
Beiträge
6
Punkte Reaktionen
0
Hallo Supervivum,

SUPER DANKE - hat geklappt - die Erklärung ist logisch, aber als Anfänger stolpert man gern über so etwas - NOCHMALS DANKE
 
Thema:

Datum Bereich im Kalender einstellen

Oben Unten