Antworten auf deine Fragen:
Neues Thema erstellen

Antworten zum Thema „Array in Variable umwandeln??“

maxxscho

Code-Fan

Hallo!!!

Ich hänge mal wieder.
Ich will in einem Registrierungsformular auch den Geburtstag übermittelt bekommen. Ich habe 3 "Select" Eingaben, Tag, Monat und Jahr.
Diese sollen nach Absenden in 3 Variablen oder 1 Array gespeichert werden. Hier fängt es schon an, was ist besser?
Worauf ich hinaus will, dieses Geburtsdatum soll in die Datenbank gespeichert werden. Dafür ist es ja notwendig, die übergebenen Werte mittels der "date()" - Funktion in das richtige Format (YYYY-MM-DD) umzuwandeln.

Hier weis ich absolut nicht, wie ich das angehen soll.
Bitte um Hilfe!!!!

DANKE schon mal.

Gruß
 

saila

Moderatorle

AW: Array in Variable umwandeln??

Am besten für die Datenbank und zur weiteren Verarbeitung bietet sich ein timestamp() an. Diesen generierst du per mktime durch die über den select-tag gesendeten Eingaben. Danach musst du letztlich auch nicht das ganze in ein Array umsetzen, sondern hast immer den timestamp und kannst diesen wiederum per date('d.m.Y', $timestamp); dir ausgeben lassen. Also insgesamt sehr praktisch.
 

sokie

Mod | Web

AW: Array in Variable umwandeln??

vorausgesetzt dein select liefert die zahlen als passende werte (jahr viestellig und tage, monate mit führender null) bekommst du die Werte ja sowieso als array, und zwar $_POST oder $_GET, je nach methode des Formulars.
die übergebenen Werte mittels der "date()" - Funktion in das richtige Format (YYYY-MM-DD)
versteheich nicht, in das format kannst du die Werte doch selbst bringen:
Beispiel:
PHP:
$datum = $_POST['jahr']."-".$_POST['monat']."-".$_POST['tag'];
(vorausgesetzt das formular hat die methode post)
sollte die den String($datum) in dem Format liefern.

edit: natürlich ist ein timestamp, wie saila schreibt günstiger, weil man damit auch direkt rechnen kann.
 
Zuletzt bearbeitet:

maxxscho

Code-Fan

AW: Array in Variable umwandeln??

Danke für eure Hilfe!!!
Stand einfach auf der Leitung.
Ist das hier so korrekt?
PHP:
$monat = $_POST["month"];
$tag = $_POST["day"];
$jahr = $_POST["year"];
$birthday = date("Y-m-d", mktime(0, 0, 0, $monat, $tag, $jahr));
Wenn ich die Variable birthday ausgebe, dann ist das Format richtig (YYYY-MM-DD)
Ich bekomme keine führenden Nullen, hab die "option"-Tags mittels Schleife umgesetzt.
PHP:
<?php for($i=1;$i<=31;$i++){echo "<option value='$i'>$i</option>";}?>
Ist dies auch eine gute Methode??

Jedenfalls wieder mal DANKE für die schnelle Hilfe.
Bin euch beiden sehr dankbar, da ihr mir schon oft geholfen habt.;);)
 

saila

Moderatorle

AW: Array in Variable umwandeln??

Die führenden Nullen müssen nicht sein, da die Funktion date('Y-m-d'); die führenden Nullen durch Kleinschreibung von m und d automatisch liefert.

Wenn du wissen willst, ob es korrekt ist, mach die Gegenprüfung dazu. Dies läuft wie folgt ab. Du gibst $mon .'.'. $tag .'.'. $jahr; aus und dazu date('d.m.Y', $birthday);
fetisch.

Allerdings passt dein mktime noch nicht ganz.
 

saila

Moderatorle

AW: Array in Variable umwandeln??

Ich dachte du willst einen timestamp und nicht date, was du ja eh schon durch die post's hast. Somit wäre dein mktime ja eh für lau, da du zur Ausgabe ja lediglich $jahr.'-'.$mon.'-'.$tag setzen müsstest und darüber hinaus auch die führenden nullen.
 

maxxscho

Code-Fan

AW: Array in Variable umwandeln??

Ich glaube, ich versteh da was nicht ganz richtig.
Einen Timestamp erzeuge ich mit mktime(), ist das richtig?
PHP:
$monat = $_POST["month"];
$tag = $_POST["day"];
$jahr = $_POST["year"];
$timestamp = mktime(0, 0, 0, $monat, $tag, $jahr));
Nun muss ich diesen mit date() ins richtige Format bringen, gleichzeitig wird auch mein Problem mit der führenden 0 behoben.
PHP:
$birthday = date("Y-m-d", $timestamp);
Bin ich noch auf dem richtigen Weg?
Würde ich sagen:
PHP:
$birthday = $_POST["year"] . "-" . $monat = $_POST["month"] . "-" . $tag = $_POST["day"];
dann hätte ich ja wieder das Problem mit den führenden Nullen.
Immer diese Zeitfunktion ..... ^^
 

DJWebdesign

The Only-One

AW: Array in Variable umwandeln??

Sokie hat die Frage doch einfach und Präzise beantwortet.

$birthday = $_POST["year"] . "-" . $monat = $_POST["month"] . "-" . $tag = $_POST["day"];

Wozu brauchst Du für ein Geburtsdatum denn einen Timestamp?

Die Variable $birthdate in Sokie's Code gibt ein Date-Objekt wieder, welches für eine Speicherung des Geburtstages wohl richtig ist...
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
175.189
Beiträge
2.582.078
Mitglieder
67.258
Neuestes Mitglied
SaschMasch1312
Oben