# Aktuelles Datum in html-Formular



## epsias (25. Januar 2005)

Hallo,

ich habe hier ein kleines html-Formular welches bestimmte Daten für eine Abfrage übergibt. 
Diese Daten sind z.B. das Datum (aufgeteilt in Tag, Monat und Jahr). Genau diese 3 Felder sollten immer mit dem aktuellen Datum gefüllt werden.

Ist es möglich dies mit php zu lösen und wie sieht der Code aus?

Vielen Dank
epsias


----------



## redlama (25. Januar 2005)

Hi!

Folgendes liefert Dir 3 Variablen, mit den entsprechenden aktuellen Datumsangaben:
	
	
	



```
<?php
$jahr = date("Y");
$monat = date("m");
$tag = date("d");
?>
```
Das musst Du jetzt nur noch in Deinen Code einarbeiten.

redlama


----------



## epsias (25. Januar 2005)

Hallo redlama,

danke für Deine schnelle Antwort. Leider kann *ich* mit Deinem code nicht viel anfangen. Wie Du sicher schon bemerkt hast kenne ich mich mit html / php überhaupt nicht aus. Kann ich den php-code unter den html-code anhängen? 

Wie bekomme ich z.B. den aktuellen Monat in das Input-Feld?


```
startMonat<br><input type="text" name="startMonat"><br>
```

Danke für Dein Verständnis    
epsias


----------



## sam (25. Januar 2005)

```
startMonat<br><input type="text" name="startMonat" value="<?=date("d.m.Y")?>"><br>
```
  Funktioniert natürlich nur, wenn du PHP zur Verfügung hast...

  mfg
  sam


----------



## redlama (26. Januar 2005)

Constantin Vellenzer hat gesagt.:
			
		

> ```
> startMonat<br><input type="text" name="startMonat" value="<?=date("d.m.Y")?>"><br>
> ```
> [...]


Fast, ...
Da ja nach 3 Feldern mit den jeweiligen Werten gefragt war, muss das wohl eher so aussehen:
	
	
	



```
startTag<br><input type="text" name="startTag" value="<?php echo date("d"); ?>"><br>
startMonat<br><input type="text" name="startMonat" value="<?php echo date("m"); ?>"><br>
startJahr<br><input type="text" name="startJahr" value="<?php echo date("Y"); ?>"><br>
```
Und dann darf Deine Datei natürlich nicht irgendwas.html heißen, sondern irgendwas.php und wie Constantin Vellenzer schon richtig bemerkte, Dir muss von Deinem Webspace Anbieter natürlich PHP zu Verfügung stehen.

redlama


----------



## sam (26. Januar 2005)

@redlama: Stimmt 
    Finde ein Feld aber ein wenig benutzerfreundlicher, da es nicht in eine Maus-Tastatur-Tabulator-Orgie ausartet 
  Ist auch mit [phpf]explode[/phpf] & Co ganz gut weiterverwendbar.
   Auch solch feine Sachen wie ein JS-Kalender sind dann einfacher anzubinden. Aber das kommt immer auf den Einsatzort an...

    mfg
    sam


----------



## redlama (26. Januar 2005)

Constantin Vellenzer hat gesagt.:
			
		

> @redlama: Stimmt
> Finde ein Feld aber ein wenig benutzerfreundlicher, da es nicht in eine Maus-Tastatur-Tabulator-Orgie ausartet [...]


Ehrlich gesagt sind solche "Orgien" nicht so schlimm IMHO.
Wenn ich ein Datum in nur einem Feld eingeben lasse, dann kann das eine viel zu große Fehlerquelle sein.
Woher weißt Du, in welchem Format das Datum eingegeben wird? Da gibt es unzählige Möglichkeiten:
01. Januar 2005
1. Januar 05
01.01.2005
1.1.05
01. Jan 20005
1. Jan 05
2005-01-01
usw.
Und auch wenn Du ein bestimmtest Format vorgibst, muss das noch lange nicht heißen, dass es auch so eingegeben wird.
Und JS-Kalender funktionieren ja auch nur, wenn JS aktiviert ist, ...

redlama


----------



## epsias (26. Januar 2005)

Vielen Dank für eure Antworten, es hat funktioniert. Ich konnte sogar noch ein paar "features" einbauen    

Gruß
epsias


----------



## sam (26. Januar 2005)

redlama hat gesagt.:
			
		

> Wenn ich ein Datum in nur einem Feld eingeben lasse, dann kann das eine viel zu große Fehlerquelle sein.
> Woher weißt Du, in welchem Format das Datum eingegeben wird? Da gibt es unzählige Möglichkeiten:
> 01. Januar 2005
> 1. Januar 05
> ...


 Das stelle ich durch ein ganz simples Error-Handling sicher...glaube mir: Ich mache seit 2 Jahren kaum etwas anderes und weiss wovon ich rede 
 Ist zwar von Kunde zu Kunde und von User zu User unterschiedlich, aber ich habe deutlich mehr positives Feedback auf die Version "Mehr Freiheit" bekommen.
   Aber das steht ja hier eigentlich nicht zur Debatte...war nur eine Anmerkung von mir 

    mfg
    sam


----------



## redlama (27. Januar 2005)

Constantin Vellenzer hat gesagt.:
			
		

> Das stelle ich durch ein ganz simples Error-Handling sicher...glaube mir: Ich mache seit 2 Jahren kaum etwas anderes und weiss wovon ich rede
> Ist zwar von Kunde zu Kunde und von User zu User unterschiedlich, aber ich habe deutlich mehr positives Feedback auf die Version "Mehr Freiheit" bekommen.
> Aber das steht ja hier eigentlich nicht zur Debatte...war nur eine Anmerkung von mir
> 
> ...


Aber es klingt interessant. Kannst Du mir nicht mal ein kleines Beispiel geben, wie Du das so löst? Ich muss nämlich auch viel mit solchen Daten arbeiten und solche noch eine "richtig gute" Lösung, ... ^^

redlama


----------



## sam (1. Februar 2005)

Sorry, dass ich mich nicht gleich gemeldet habe...hatte den Thread einfach vergessen 

 Wie ich das Thema meistens löse: Im Grunde musst du für User mit aktiviertem JS den JS-Kalender einbauen und das Feld auf readonly setzen (Optional...aber dann auch per JavaScript!).
 Für alle ohne JS, und solche, die durch nette Erweiterungen das Feld trotzdem bearbeiten können, gibts es einen Hinweis auf das Datumsformat und die Überprüfung muss eben serverseitig erfolgen.

 Durch ein einfaches [phpf]explode[/phpf] kann ich das Datum in seine Bestandteile zerlegen, Durch die Funktion [phpf]checkdate[/phpf] bekomme ich raus, ob das Datum gültig ist, oder nicht.
       Falls es gültig ist, wird es per [phpf]mktime[/phpf] in eine Timestamp umgewandelt und in die Datenbank geschrieben.
      Durch ein paar weitere Zeilen kann man das natürlich ein wenig optimieren und z.B. für das Jahr "05" und "2005" erlauben...

 Die Erfahrung hat gezeigt, dass die meisten User JavaScript aktiviert haben (zumindest in meinem Kundenkreis und im Kundenkreis meiner Kunden ) und so relativ wenige in die server-seitige "Falle" tappen. Und selbst wenn, bleibt die Datenbank sauber und der User trotzdem fröhlich 

       Hoffe, ich konnte helfen.

       mfg
       sam


----------



## redlama (2. Februar 2005)

Na mal schauen, ob und wie ich das umsetzen kann, denn ich habe festgestellt, dass unsere Kunden häufiger ohne JS unterwegs sind.
Einen Kalender bieten wir auch an, aber für die, die kein JS haben, ... na mal schauen!
Erstmal danke für die Informationen.

redlama


----------

