88871
Goto Top

PHP Datum in Unixtime speichern

Versuche aus einzelnen strings ein Unixtime zusammenzubasteln, das in mySQL gespeichert werden soll.

Versuche aus einzelnen strings ein Unixtime zusammenzubasteln, das in mySQL gespeichert werden soll.

Das Formular sieht folgendermassen aus:


Day1: [ Inputfeld - Format Jahr-Monat-Tag ] Starts: [ Inputfeld - Stunde ] [ Inputfeld - Minuten ] Ends: [ Inputfeld - Stunde ] [ Inputfeld - Minuten ]
Day2...
Day3...
...

Bild:
eabefaadc5be5cfc27f2bb81d3ebd015


Am Ende habe ich 5 Felder die ich per POST übergebe.

Wie baue ich mir am besten ein Unixtime aus diesen 5 Feldern zusammen ? Habe mit mktime rumprobiert.....aber nichts passendes rausgekriegt. Was ich hatte was folgendes:

<code type = "php">
$sem_tag_start_01 = mktime('$_POST[sem_start_tag1]' . '" "' . '$_POST[sem_start_stunde1]' . '":"' . '$_POST[sem_start_minute1]');
$sem_tag_ends_01 = mktime('$_POST[sem_start_tag1]' . '" "' . '$_POST[sem_ende_stunde1]' . '":"' . '$_POST[sem_ende_minute1]');

Content-Key: 172741

Url: https://administrator.de/contentid/172741

Printed on: April 25, 2024 at 22:04 o'clock

Member: Dani
Dani Sep 07, 2011 at 14:16:00 (UTC)
Goto Top
Moin,
schau dir dazu mal die PHP-Hilfe an: http://php.net/manual/de/function.mktime.php
Dort steht doch ein Beispiel:

mktime ([ int $hour = date("H") [, int $minute = date("i") [, int $second = date("s") [, int $month = date("n") [, int $day = date("j") [, int $year = date("Y") [, int $is_dst = -1 ]]]]]]] )


Grüße,
Dani
Mitglied: 88871
88871 Sep 13, 2011 at 11:52:39 (UTC)
Goto Top
Hoiz Dani.

Ja das habe ich auch versucht.

    $sem_tag_start_01 = mktime( $_POST['sem_start_stunde1'], $_POST['sem_start_minute1'], $_POST['sem_start_tag1']);  
     $sem_tag_ends_01 = mktime( $_POST['sem_ende_stunde1'], $_POST['sem_ende_minute1'], $_POST['sem_start_tag1']);  

Leider stimmt bei mir die Unixtime nicht. Kann auch nicht.

Auf dem Bild siehst Du das Feld: Day1, Day2 etc.... Dieses Feld wird befüllt mit: Jahr-Monat-Tag, übergeben als $_POST['sem_start_tag']

Jetzt weiss ich aber nicht genau ich mein JAHR/MONAT/TAG String ins mktime taugliche Format mache. Wohl explode zuerst ?
Mitglied: 88871
88871 Sep 13, 2011 at 12:49:43 (UTC)
Goto Top
Also, habe es lösen können, funktioniert bestens! Glaube einfacher gehts nicht. Lasse mich aber gerne belehren face-smile

PS: Die Seite ist nicht öffentlich. Sicherheit fehlt hier schlichtweg.

Beim Absenden des Formulars wird folgendes ausgeführt um die Unixtime zu kriegen:


Wie oben erwähnt habe ich folgendes Format vom Tag:

Jahr-Monat-Tag ($_POST['sem_start_tag1'])

    // extrahieren vom tag, da jahr-monat-tag, rein in ein array
    $day1 = explode("-", $_POST['sem_start_tag1']);  
    
    // zusammenbauen und als unixtime in string speichern  
    // syntax: mktime(hour,minute,second,month,day,year,is_dst)   
   
// wann der termin beginnt:
 $sem_tag_start_01 = mktime( $_POST['sem_start_stunde1'], $_POST['sem_start_minute1'], 0, $day1[1], $day1[2], $day1); // die 0 steht fuer sekunde. die brauch ich nicht  


// wann der termin endet (am selben tag)
$sem_tag_ends_01 = mktime( $_POST['sem_ende_stunde1'], $_POST['sem_ende_minute1'], 0, $day1[1], $day1[2], $day1);