1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Lexikon
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

Dynamisches Datumsformular

  • Fugo
  • 14. Juli 2008 um 15:37
  • Unerledigt
  • Fugo
    15
    Fugo
    Mitglied
    Punkte
    2.420
    Beiträge
    366
    • 14. Juli 2008 um 15:37
    • #1

    Hi!

    Ich bräucht' ein kleines Miniformular in dieser Art:

    Anreise
    Tag | Monat | Jahr

    Abreise
    Tag | Monat | Jahr

    Wobei es sich um dropdown Felder handelt. Als Standardwerte soll für Anreise das aktuelle Datum und für Abreise eine Woche später gewählt werden.

    Eigentlich sollt's genau so aussehen wie zB links oben auf http://www.unterwirt.com

    thx4help
    Fugo



  • Paulchen
    1
    Paulchen
    Gast
    • 14. Juli 2008 um 18:35
    • #2

    Womit arbeitest du? JBoss Seam? PHP? Ruby on Rails? ...?

    EDIT: Ups, PHP, steht eh im Threadtitel, nur nicht im Titel vom ersten Posting :o

    Einmal editiert, zuletzt von Paulchen (14. Juli 2008 um 20:00)

  • phudy
    10
    phudy
    Mitglied
    Reaktionen
    12
    Punkte
    1.087
    Beiträge
    182
    • 14. Juli 2008 um 19:53
    • #3
    Zitat von Paulchen

    Womit arbeitest du? JBoss Seam? PHP? Ruby on Rails? ...?

    3 mal darfst du raten, wenn der thread titel "

    PHP
    Dynamisches Datumsformular" ist ;)
    
    
    
    
    dieses codesnippet sollte als vorlage genuegen:
    [code=php]
    <html>
    <body>
    <select name="tag">
    <?php
    $heutiger_tag = date('j');
    for($i=1; $i <= 31; $i++) {
      $selected = ($i == $heutiger_tag) ? ' selected' : '';
      printf("<option value=\"%s\"%s>%s</option>", $i, $selected, $i);
    }
    ?>
    </select>
    </body>
    </html>
    Alles anzeigen
  • Kampi
    27
    Kampi
    Mitglied
    Reaktionen
    193
    Punkte
    7.828
    Beiträge
    1.468
    • 15. Juli 2008 um 12:10
    • #4

    auweh, ob '<= 31' wirklich schlau ist? ich hab mir sagen lassen, es haben nicht alle monate 31 tage :winking_face:

    Zitat von Fugo

    und für Abreise eine Woche später gewählt werden.


    da kann man recht gut mit timestamps arbeiten. zb so:

    Code
    [COLOR=#000000][COLOR=#0000bb]$plus_one_week  [/COLOR][COLOR=#007700]= [/COLOR][COLOR=#0000bb]mktime[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000bb]0[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000bb]0[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000bb]0[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000bb]date[/COLOR][COLOR=#007700]([/COLOR][COLOR=#dd0000]"m"[/COLOR][COLOR=#007700])  , [/COLOR][COLOR=#0000bb]date[/COLOR][COLOR=#007700]([/COLOR][COLOR=#dd0000]"d"[/COLOR][COLOR=#007700])+[/COLOR][COLOR=#0000bb]7[/COLOR][COLOR=#007700], [/COLOR][COLOR=#0000bb]date[/COLOR][COLOR=#007700]([/COLOR][COLOR=#dd0000]"Y"[/COLOR][COLOR=#007700]));
    echo date("r", $plus_one_week);
    [/COLOR][/COLOR]

    da muss man sich auch keine gedanken machen, dass man ueber grenzen hinausschieszt. php macht das schon richtig und zaehlt ins naechste monat/jahr/what ever. auf http://at2.php.net/date findest du alles was du dazu benoetigst.

    Willfähriges Mitglied des Fefe-Zeitbinder-Botnets und der Open Source Tea Party.

  • phudy
    10
    phudy
    Mitglied
    Reaktionen
    12
    Punkte
    1.087
    Beiträge
    182
    • 19. Juli 2008 um 19:16
    • #5
    Zitat von Kampi

    auweh, ob '<= 31' wirklich schlau ist? ich hab mir sagen lassen, es haben nicht alle monate 31 tage :winking_face:

    ja, vor allem der bloede februar is halt ein arsch... leap year berechnung, nicht nochmal...
    im nachhinein validieren ist auch nicht schoen.

    gibts dafuer (datums auswahl) nicht auch schon in php vorgefertigte komponenten? mal ins pear repository schaun... kann mir nicht vorstellen, dass es da nicht schon etwas gibt -anstatt immer wieder das rad selber neu zu erfinden.

  • MarvinTheRobot
    26
    MarvinTheRobot
    Mitglied
    Reaktionen
    53
    Punkte
    7.308
    Beiträge
    1.368
    • 20. Juli 2008 um 14:33
    • #6

    ich persönlich find jeder sollt gscheit genug sein um zu wissen dass der februar nur 28/29 tage hat, besonders wenns um abreise und ankunft geht... wenn ich mir meinen urlaub buche will ich sicher am 30.2.2099 anreisen und am 31.4.2098 abreisen...

    für sowas hab ich ehrlichgesagt wenig verständnis, wenns aber wirklich so sein soll dass auch "furchtbar dumme leute - DAUs" das formular ausfüllen, dann würd ichs mit einer kalenderauswahl machen - wie bei reisebüros oder fluglinien.

    Saying that Java is nice because it works on all OS's is like saying that anal sex is nice because it works on all genders!
    http://www.chuckbronson.net/

  • michi204
    26
    michi204
    Mitglied
    Reaktionen
    63
    Punkte
    7.268
    Beiträge
    1.318
    • 20. Juli 2008 um 18:49
    • #7
    Zitat von MarvinTheRobot

    ich persönlich find jeder sollt gscheit genug sein um zu wissen dass der februar nur 28/29 tage hat, besonders wenns um abreise und ankunft geht... wenn ich mir meinen urlaub buche will ich sicher am 30.2.2099 anreisen und am 31.4.2098 abreisen...

    was nichts daran ändert, dass man diesen ungültigen eingabewert behandeln muss.

    ich nehme für datumseingaben meistens ein textfeld (für schnelle tipper) und daneben einen javascript-kalender (für klickibunti-user), wovon es freie fertig im web gibt. das eingegebene datum wird dann mit preg_match() syntaktisch und mit checkdate() semantisch geprüft.

    lg,
    michi

  • MarvinTheRobot
    26
    MarvinTheRobot
    Mitglied
    Reaktionen
    53
    Punkte
    7.308
    Beiträge
    1.368
    • 20. Juli 2008 um 18:57
    • #8

    von gar nicht behandeln war nie die rede... beim absenden kann mans noch immer checken aber man sollte zumindest bei der auswahl davon ausgehen können dass ein user korrekte reisedaten eingibt... hat er sich vertippt gibts immer noch schöne klickibunti popupmeldungen oder rot eingefärbte texte oder wwi...

    Saying that Java is nice because it works on all OS's is like saying that anal sex is nice because it works on all genders!
    http://www.chuckbronson.net/

  • Kampi
    27
    Kampi
    Mitglied
    Reaktionen
    193
    Punkte
    7.828
    Beiträge
    1.468
    • 20. Juli 2008 um 19:20
    • #9

    na geh marvin, das ist aber wirklich pfusch. dann muss der user wieder neue daten eingeben, verschiedenste sachen muessen neu berechnet werden, uswusf. wenn man falsche daten gar nicht zulaeszt ist das sicher besser als dann ein "rollback" zu machen. und grad beim datum geht das ja leicht. alleine der usability wegen sollte man sich da 2 minuten zeit nehmen und das gscheit coden.

    Willfähriges Mitglied des Fefe-Zeitbinder-Botnets und der Open Source Tea Party.

  • michi204
    26
    michi204
    Mitglied
    Reaktionen
    63
    Punkte
    7.268
    Beiträge
    1.318
    • 20. Juli 2008 um 19:52
    • #10
    Zitat von MarvinTheRobot

    von gar nicht behandeln war nie die rede... beim absenden kann mans noch immer checken aber man sollte zumindest bei der auswahl davon ausgehen können dass ein user korrekte reisedaten eingibt... hat er sich vertippt gibts immer noch schöne klickibunti popupmeldungen oder rot eingefärbte texte oder wwi...

    sorry da habe ich etwas zu schnell gelesen.

    aus usability-sicht ist vermutlich weder dein (weil falsche eingabe möglich) noch mein eigener vorschlag (weil zumindest manuell auch wieder falsche eingabe möglich) wirklich ideal.

  • Maximilian Rupp 27. Dezember 2024 um 12:04

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!

Benutzerkonto erstellen Anmelden

Benutzer online in diesem Thema

  • 1 Besucher

Rechtliches

Impressum

Datenschutzerklärung