PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks. |
 |
|

06-12-2020, 18:56
|
Andreas-LE
Registrierter Benutzer
|
|
Registriert seit: Nov 2020
Beiträge: 27
|
|
variablen speichern
Hallo, wie kann ich aus einem Formular input name=xx[]
alle werte in eine txt speichern?
gespeichert wird mit:
PHP-Code:
fWrite($handler, mt_rand(1, 9999) . "|" . "nein" . "|" . $namex . "|" . $montag . "|" . $montagvon . "|" . $montagbis . "|" . $dienstag . "|" . $dienstagvon . "|" . $dienstagbis . "|" . $mittwoch . "|" . $mittwochvon . "|" . $mittwochbis . "|" . $donnerstag . "|" . $donnerstagvon . "|" . $donnerstagbis . "|" . $freitag . "|" . $freitagvon . "|" . $freitagbis . "|" . $samstag . "|" . $samstagvon . "|" . $samstagbis . "|" . $sonntag . "|" . $sonntagvon . "|" . $sonntagbis . "|\n");
Der $namex kommt von foreach list() !
die input erweitern sich natürlch nach anzahl der Mitarbeiter!
vielen Dank für Eure Hilfe!
|

07-12-2020, 10:37
|
chorn
Registrierter Benutzer
|
|
Registriert seit: Nov 2011
Beiträge: 207
|
|
speicher sie als JSON mit json_encode() in der Datei.
|

07-12-2020, 11:17
|
Andreas-LE
Registrierter Benutzer
|
|
Registriert seit: Nov 2020
Beiträge: 27
|
|
Beim echo kommt das: ["10:00","12:00","14:00"] ["11:00","13:00","15:00"]
Daten stimmen, nur wie verarbeite ich soetwas im foreach?
PHP-Code:
$montagvon = json_encode($montagvon); echo($montagvon); $montagbis = json_encode($montagbis); echo($montagbis);
Mit json hab ich leider noch garkeine Erfahrung.
Geändert von Andreas-LE (07-12-2020 um 11:41 Uhr)
|

08-12-2020, 09:01
|
chorn
Registrierter Benutzer
|
|
Registriert seit: Nov 2011
Beiträge: 207
|
|
Du kannst mit json_encode() und json_decode() einfach zwischen den Daten als String und als Array hin und her wechseln, also wenn du es in der Datei speichern willst nimmst du json_encode, und wenn du das aus der Datei holst json_decode.
|

08-12-2020, 11:22
|
Andreas-LE
Registrierter Benutzer
|
|
Registriert seit: Nov 2020
Beiträge: 27
|
|
Daten speichere ich wie folgt:
input name="montagvon[]"
Speichern:
$montagvon = json_encode($montagvon);
PHP-Code:
foreach ($mitarbeiter as $zaehler => $element) { list($id, $name, $geschlecht, $email, $passwort, $rolle, $status, $login, $strasse, $plz, $ort) = explode("|", $element);$handler = fOpen("../$planordner$jahrsystem/$woche.txt", "a+"); fWrite($handler, mt_rand(1, 9999) . "|" . "nein" . "|" . $namex . "|" . $montag . "|" . $montagvon . "|" . $montagbis . "|" . $dienstag . "|" . $dienstagvon . "|" . $dienstagbis . "|" . $mittwoch . "|" . $mittwochvon . "|" . $mittwochbis . "|" . $donnerstag . "|" . $donnerstagvon . "|" . $donnerstagbis . "|" . $freitag . "|" . $freitagvon . "|" . $freitagbis . "|" . $samstag . "|" . $samstagvon . "|" . $samstagbis . "|" . $sonntag . "|" . $sonntagvon . "|" . $sonntagbis . "|\n");fClose($handler);
</div>
Ergebnis:
8652|nein|Namea|Montag|["10:00","12:00","14:00"]|["11:00","13:00","15:00"]| usw.
8653|nein|Nameb|Montag|["10:00","12:00","14:00"]|["11:00","13:00","15:00"]| usw.
8654|nein|Namec|Montag|["10:00","12:00","14:00"]|["11:00","13:00","15:00"]| usw.
usw. je nachdem wieviel Mitarbeiter vorhanden sind.
Auslesen:
PHP-Code:
$data=file_get_contents("../$planordner$jahrsystem/$woche_zerlegt.txt"); $variables = explode("\n", $data); foreach ($variables as $variable) { $var = explode("|", $variable);
echo json_decode($var[4]);
Ergebnis der Anzeige: Array
lese ich jedoch $var[4] mit echo $var[4]; aus zeigt es mir ["10:00","12:00","14:00"] an.
Warum?
Danke
Geändert von Andreas-LE (08-12-2020 um 23:36 Uhr)
|

09-12-2020, 09:01
|
chorn
Registrierter Benutzer
|
|
Registriert seit: Nov 2011
Beiträge: 207
|
|
ist doch richtig. wenn du den JSON-String dekodierst kommt das PHP-Array raus, das du gespeichert hast, und ein echo von Array ist "Array". Deswegen immer var_dump zum debuggen nehmen.
var_dump(json_decode($var[4]));
|

09-12-2020, 12:13
|
Andreas-LE
Registrierter Benutzer
|
|
Registriert seit: Nov 2020
Beiträge: 27
|
|
Und wie kann ich da jetzt lösen?
|

09-12-2020, 12:38
|
chorn
Registrierter Benutzer
|
|
Registriert seit: Nov 2011
Beiträge: 207
|
|
Was lösen? Welches Problem? Du hast ein Array gespeichert, du bekommst ein Array wieder raus.
|

09-12-2020, 12:55
|
Andreas-LE
Registrierter Benutzer
|
|
Registriert seit: Nov 2020
Beiträge: 27
|
|
Ich sitze jetzt schon 3 Monate an diesem Problem und meine Tastatur hat schon keine Buchstaben mehr vom suchen.
Ein wirklich Sinnvollen Hinweis für die Verarbeitung findet man nicht.
|

09-12-2020, 13:47
|
chorn
Registrierter Benutzer
|
|
Registriert seit: Nov 2011
Beiträge: 207
|
|
welches Problem?
Zitat:
Hallo, wie kann ich aus einem Formular input name=xx[]
alle werte in eine txt speichern?
|
funktioniert. Problem gelöst. Und auslesen kannst du das auch und bekommst die Daten wieder als PHP Array, wie aus dem Formular.
|

09-12-2020, 14:04
|
Andreas-LE
Registrierter Benutzer
|
|
Registriert seit: Nov 2020
Beiträge: 27
|
|
Das Problem, das es nicht funktioniert!
die txt ist ja wie folgt in Zeilen aufgebaut:
8652|nein|Namea|Montag|10:00|11:00| usw.
8653|nein|Nameb|Montag|12:00|13:00| usw.
8654|nein|Namec|Montag|14:00|15:00| usw.
usw. je nachdem wieviel Mitarbeiter vorhanden sind.
Montag|Beginn|Ende|Dienstag|Beginn|Ende| usw.
Beginn und Ende kommen jeweils von montagvon[] und montagbis[] usw.
Ich glaub langsam, das ich das fast fertige Projekt in die Tonne kloppen kann.
Ist das einzige und wichtigste was noch fehlt.
|

09-12-2020, 15:14
|
chorn
Registrierter Benutzer
|
|
Registriert seit: Nov 2011
Beiträge: 207
|
|
Erst fragst du
Zitat:
Hallo, wie kann ich aus einem Formular input name=xx[]
alle werte in eine txt speichern?
|
Dann sagst du
Zitat:
Beim echo kommt das: ["10:00","12:00","14:00"] ["11:00","13:00","15:00"]
Daten stimmen
|
jetzt kommst du wieder mit
Zitat:
die txt ist ja wie folgt in Zeilen aufgebaut:
8652|nein|Namea|Montag|10:00|11:00| usw.
|
Das ist doch wieder was anderes.
Vielleicht entscheidest du dich erstmal was du überhaupt willst. Einfach zu behaupten ein Ist-Zustand "funktioniert nicht" bringt überhaupt nichts, so lange du den Soll-Zustand nicht definierst.
Zitat:
<?php
$input = ['10:00', '15:00'];
var_dump($input);
$json = json_encode($input);
var_dump($json);
$output = json_decode($json);
var_dump($output);
|
Funktioniert.
|

09-12-2020, 20:25
|
Andreas-LE
Registrierter Benutzer
|
|
Registriert seit: Nov 2020
Beiträge: 27
|
|
Erst einmal vielen Dank, das Du Dich der Sache überhaupt annimmst.
Wirklich hilfreich ist dieses Forum sonst nicht, außer viel Sprücheklopfer die denken Sie sind als Könner vom Himmel gefallen.
Ich habe nur aufgezeigt, wie ich es momentan habe.
Das <form> ist von einer foreach Schleife umschlossen, was die Mitarbeiter erzeugt bzw. erweitert.
Darin sind die input montagvon[], montagbis[] usw.
Die input werden durch die Schleife erweitert, je nach Mitarbeiteranzahl.
Diese Daten müssen pro Mitarbeiter von Montag bis Sonntag gespeichert werden und auch änderbar sein.
Bin natürlich für jeden Vorschlag offen.
Geändert von Andreas-LE (09-12-2020 um 20:46 Uhr)
|

10-12-2020, 08:56
|
chorn
Registrierter Benutzer
|
|
Registriert seit: Nov 2011
Beiträge: 207
|
|
Vorschlag für was? Mit deinen Aussagen drehst du dich doch im Kreis
Zitat:
Diese Daten müssen pro Mitarbeiter von Montag bis Sonntag gespeichert werden und auch änderbar sein.
|
Code:
8652|nein|Namea|Montag|["10:00","12:00","14:00"]|["11:00","13:00","15:00"]| usw.
Anforderung erfüllt.
|

10-12-2020, 10:10
|
Andreas-LE
Registrierter Benutzer
|
|
Registriert seit: Nov 2020
Beiträge: 27
|
|
So wie du es aufgezeigt hast, habe ich es gemacht.
Nur leider geht da die Zuordnung der Zeiten mit den Mitarbeitern nicht.
Jeder Mitarbeiter hat ja eine eigene Zeile.
Wenn ich Ansatzweise einen Lösungsweg hätte wäre ich etwas schlauer. Nur leider hab ich den nicht.
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Themen-Optionen |
|
Thema bewerten |
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|