Jules: Werte aus Textarea übernehmen und in DB speichern

Hallo,

Ich habe einige Textarea in einem HTML-Dokument. Der User soll hier irgendein beliebiges Datum & Uhrzeit eingeben. Diese Werte sollen via Timestamp richtig formatiert ausgegeben werden in einem neuen Browser und auch gleichzeitg in einer Datenbank gespeichert werden.

Mit dem unten stehenden Quelltext (VBScript) werden mir das aktuelle Datum+Uhrzeit ausgegeben. Da ich aber ein beliebiges Datum ausgeben möchte, würde ich gerne das "Now()" mit der Usereingabe ersetzen.
Kann mir jemand sagen wie ich das mache ?

function UDate(Datum)
     UDate = DateDiff("s", "01/01/1970 00:00:00", Datum)
 end function

intCurrent_Unix_Time = UDate(Now()) 'Now() durch Usereingabe ersetzen

response.write(intCurrent_Unix_Time)
response.write(Datum)

function unUDate(intTimeStamp)
      unUDate = DateAdd("s", intTimeStamp, "01/01/1970 00:00:00")

 end function  

Zeit = unUDate(intCurrent_Unix_Time)

  1. Diese Werte sollen via Timestamp richtig formatiert ausgegeben werden in einem neuen Browser und auch gleichzeitg in einer Datenbank gespeichert werden.

    function UDate(Datum)
         UDate = DateDiff("s", "01/01/1970 00:00:00", Datum)
    end function

    WTF? Jedes vernünftige DBMS kann mit DATETIME umgehen, warum verstümmelst du die Zeitangabe? Unix-Timestamps zu verwenden ist ziemlich schlechter Stil - das ist im PHP/MySQL-Umfeld zwar ziemlich verbreitet, weil PHP intern mit time_t "gut kann", sinnvoll ist das aber in wenigen Fällen.

    Das verhalten mit anderen Sprachen nachbauen zu wollen - besonders mit VBS/ASP ist mehr als uncool.

    Kann mir jemand sagen wie ich das mache ?

    Wie sieht denn die Usereingabe aus?

    1. Ich brauche Datum und Zeit getrennt, weil ich später damit weiter rechnen will.

      Die Eingabe ist eine form.html. (Ausschnitt):

      <form id="Textfeld" name="Textfeld" action="SavetoDB.asp" method="post"/>  
      		  
      		<br/>  
      		Date: &nbsp;  
      		<input id="Datum" name="Datum" type="text" />  
      		  
      		<br/>  
      		Time &nbsp;  
      		<input id="Zeit" name="Zeit" type="text" />  
      		  
      		<input id="Submit1" type="submit" value="Save"/>  
      		  
      	</form>
      

      Das Datum/Zeit wird in ein einfaches Textfeld eingegeben.

      1. Das Datum/Zeit wird in ein einfaches Textfeld eingegeben.

        Dann stehst du in erster Linie vor dem Problem, dass der Benutzer sicher _niemals_ das Datumsformat verwenden wird, welches du gerne hättest :)

        Eine gute Lösung dafür ist HTML5 mit einem entsprechenden Feldtypen zu verwenden und eine JavaScript-Lösung (z.B. den jQuery Datepicker) als Fallback zu verwenden.

        Alles was dann serverseitig immer noch kein gültiges Datum ergibt, wird mit einer Fehlermeldung behandelt.

        1. Der Vorschlag klingt gut. Da gibt es sicherliche vorgefertige Datepicker mit JS ?

          ABER: Mit JS kann man doch gar nicht auf die DB connecten ?

          1. Hi!

            Der Vorschlag klingt gut. Da gibt es sicherliche vorgefertige Datepicker mit JS ?

            Hat er ja genannt: den von jQuery.

            ABER: Mit JS kann man doch gar nicht auf die DB connecten ?

            Nein, sollst du auch nicht. Der Datepicker ist lediglich für den Anwender eine komfortable Art und Weise, ein Datum auszuwählen. Auf der anderen Seite erzeugt er das Format, das du gern haben möchtest. Das gewählte Datum im von dir vorgesehenen Format ist nun immer noch Bestandteil des Formulars, das erst einmal zum Server abgesendet werden muss. Der wertet die Formulardaten aus, er führt die von suit erwähnte Prüfung auf Plausibilität durch und dann geht es zum DBMS. Die Prüfung muss stattfinden, weil man auch ohne HTML5 und ohne Javascript Eingaben an deinen Server senden kann, die irgendwie formatiert sind. Die können einfach abgelehnt werden. Der Anwender hatte durch komfortable Eingabeelemente und durch einen Hinweis auf das erwartete Format die Möglichkeit, ein ordentlich formatiertes Datum zu senden, und wenn er das partout nicht will, dann ist auch irgendwann mal Schluss mit Lustig.

            Lo!

            1. Der Vorschlag klingt gut. Da gibt es sicherliche vorgefertige Datepicker mit JS ?

              Hat er ja genannt: den von jQuery.

              Genauer gesagt meinte ich den jQuery-UI-Datepicker

    2. Naja und wenn du das uncool findest, dann kannst du mir gerne zeigen, wie man es schöner macht. Ich bin neu auf dem Gebiet.

      1. Naja und wenn du das uncool findest, dann kannst du mir gerne zeigen, wie man es schöner macht. Ich bin neu auf dem Gebiet.

        Du nimmt einfach ein Datum welches du z.B. per now() erhältst und ballerst es in deine "Datenbank" - welche grob geschätzt MSSQL oder Access sein dürfte (aber das verrätst du ja nicht).

        Mit einem beliebigeb Datum aus Nutzereingaben verfährst du genauso - nur sollte das CDate() sein.

        Und verzeih, mein VBS ist etwas eingerostet - und ich bin froh darüber :)

        1. es ist eine MYSQL.

          CDate() funktioniert leider nicht. Ich dachte auch es sei so einfach.. Einfach now() ersetzen dachte ich, aber irgendwie geht das nicht.

          Die Fehlermeldung kommt:
          Wrong number of arguments or invalid property assignment: 'CDate'

          1. es ist eine MYSQL.

            Gut dass du das mal erwähnst.

            CDate() funktioniert leider nicht.

            Ja klar, weil CDate() eine VBS-Funktion ist.

            Die Fehlermeldung kommt:
            Wrong number of arguments or invalid property assignment: 'CDate'

            Siehe oben.

            Welche Funktion in MySQL dafür zuständig ist, kannst du in der Doku nachschlagen.