(PHP-Script) Wieso funktioniert das einmal und einmal nicht?

Hab mal eine Frage zu einer Formular-PHP-aus-einer-json-Datei-auslese-und-wieder-eintrag Funktion, die ich versuche genauer zu verstehen. Genauer gesagt komm ich da an einer Stelle nicht weiter (weil sich Teile der Funktion scheinbar komplett willkürlich verhält!)

Also wenn ich in PHP eine Funktion in der Struktur hier habe:

if ($_SERVER["REQUEST_METHOD"] == "POST") {
   $params = [
   "p1" => isset($_POST['p1']) ? $_POST['p1'] : null,
   "p2" => isset($_POST['p2']) ? $_POST['p2'] : null,
   "p3" => isset($_POST['p3']) ? $_POST['p3'] : null,
       "p4" => isset($_POST['p4']) ? $_POST['p4'] : null,
   // A_settings
       "P5" => [
           "SP1" => $_POST['P1'],
           "SP2" => $_POST['P2'],
       ],
   ];

und der Inhalt der auszulesenden json Datei so aussieht:

{
   "p1": "antwort1",
   "p2": "antwort2",
   "p3": "antwort3",
   "p4": "antwort4",
   "self": {
       "P5": {
           "SP1": antwort5,
           "SP2": antwort6
       }
   }
}

klappt scheinbar alles hervorragend. Die Parameter werden gefunden und nach dem Absenden des Formulars korrekt überschrieben.

Wenn ich allerdings wie im folgenden Beispiel etwas mehr Parameter hinzufüge wie in dieser Struktur hier und für die Benennung etwas längere Namenschemen verwende:

if ($_SERVER["REQUEST_METHOD"] == "POST") {
   $params = [
      /// calculation nr1:
      "Self.P1" => isset($_POST['Self.P1']) ? $_POST['Self.P1'] : null,
      "Self.P2" => isset($_POST['Self.P2']) ? $_POST['Self.P2'] : null,
      "Self.P3" => isset($_POST['Self.P3']) ? $_POST['Self.P3'] : null,
      "Self.P4" => isset($_POST['Self.P4']) ? $_POST['Self.P4'] : null,
      .....
      "Self.P18" => isset($_POST['Self.P18']) ? $_POST['Self.P18'] : null,
      "Self.P19" => isset($_POST['Self.P19']) ? $_POST['Self.P19'] : null,
      "Self.P20" => isset($_POST['Self.P20']) ? $_POST['Self.P20'] : null,
      "Self.P21" => isset($_POST['Self.P21']) ? $_POST['Self.P21'] : null,
      ///
    // A_settings
       "self.A_settings" => [
           "w1" => $_POST['w1'],
           "w2" => $_POST['w2'],
       ],
      // B_settings
       "self.B_settings_2" => [
           "w3" => $_POST['w3'],
           "w4" => $_POST['w4'],
       ],

sieht die json-Datei nach dem Absenden für die ersten einfachen Parameter plötzlich so aus:

{
   "Self.P1": null,
   "Self.P2": null,
   "Self.P3": null,
   .....
    "Self.P21": null,

Nur die verschachtelten Parameter, die danach kommen:

"self.A_settings": {
       "w1": "Antwort1",
       "w2": "Antwort2"
   },
   "self.B_settings_2": {
       "w3": "Antwort3",
       "w4": "Antwort4"
   },

werden nach wie vor korrekt in die Datei geschrieben! 

Weiß einer oder hat eine Theorie wieso das eine problemlos funktioniert und bei der anderen Variante plötzlich systematisch alle einfachen Parameter (also Self.P1-21) den Wert "null" zurückgeben? 

Internet, Webseite, Formular, Code, PHP, Programmiersprache, Webentwicklung, Parameter

Problem mit PHP-Composer: Was ist schief gelaufen?

Versuche hier grade auf meinem Server 2 verschiedene Librarys mithilfe von Composer zu installieren.

Leider ist wohl irgendwas bei der Installation von Composer gehörig schief gelaufen: Ich konnte zwar zunächst eine Library erfolgreich installieren aber es fing damit an, dass ich alle Composerdateien im /root Verzeichnis hatte. Diese wollte ich dann via Terminal nach /var/www/html verschieben (dabei muss aus irgendwelchen Gründen eine dazugehörige autoload.php verloren gegangen sein) also den kompletten Composerordner gelöscht und alles versucht neu zu installieren und aus der noch vorhandenen composer.phar versucht die Dateien neu zu extrahieren und dabei laut Terminal sogar auf die neueste Composer Version upgegradet: Dies hat zum Teil geklappt, nur eine extrem wichtige "composer.json" wurde dabei nicht erstellt. Also zunächst mal mit mehreren verschiedenen Anleitungen versucht diese manuell zu erstellen (was ja anscheinend in 5 Minuten problemlos möglich ist).

Naja das Problem ist nun, dass ich irgendwo festsitze. Ich habe die Anleitungen im Netz befolgt, aber bisher hab ich weder genau kapiert wieso diese extrem wichtige Datei nach erneuter Installation fehlt, noch was genau in diese Datei reingeschrieben werden muss oder per Script reingeschrieben wird (Name des Projekts? die Pfade (Namespaces?) der Packages, die ich installieren möchte?), noch wie ich folgenden Fehler beheben kann:

In ArrayLoader.php line 44:

Unknown package has no name defined ([]).

Diesen Fehler bekomme ich nun seit Stunden, egal was ich mit Composer versuche, auch wenn ich einfach versuche zu debuggen oder eine erneute Installation probiere...

Irgendwelche Ideen oder Ahnungen was hier falsch gelaufen ist?

Internet, Linux, IT, Webseite, programmieren, PHP, Putty, Script, ssh, Terminal, Composer, Kommandozeile, Debian 10

Funktionierender regulärer Ausdruck (CMD) um aus einer Textdatei bestimmte Zeilen mit " zu entfernen?

Eigentlich könnte man ja meinen, dass dieses Problem recht leicht zu lösen sein müsste. 

Aber aus irgendwelchen Gründen ist es das nicht, da " irgendwie für alles einen Sonderstatus hat. 

Also was ich gerne wissen würde: 

 Wie bzw. mit welchem regulären Ausdruck kann man (z.b mit einem Grepbefehl?) alle Zeilen suchen, die mit einem " anfangen ohne, dass dies zu unerwarteten Verhalten führt und z.b der Pfad nicht mehr gefunden wird bzw. keine Ausgabedatei erzeugt wird?  

 Ich hab es jetzt bereits mit dutzenden verschiedensten Varianten versucht: grep '^"' grep '^\"' grep -E '^\"' grep '^\".*' 

und noch X weiteren Variationen, aber entweder werden einfach nur alle Zeilen ausgegeben, die irgendwo im Text ein " enthalten oder es gibt Probleme mit der Erzeugung der Ausgabedatei.

Wichtig wäre in diesem Fall jedoch, dass nur der Anfang (erste Charakter) einer Zeile überprüft bzw. gematched werden soll. Scheinbar soll dies bei Grep ja mit ^ möglich sein und ein Escapen der " mit \. Funktioniert aber alles nicht!

GPT hab ich auch schon gefragt, aber der Bot ist mit der Frage komplett überfordert und gibt nur hanebüchenen Mist aus, der entweder nicht funktioniert oder sehr langsam ist (z.b Ansätze mit Powershell)

Also bevor ich jetzt noch meinen kompletten PC / CPU zu Schrott fahre: Gibt es eine effektive und schnelle Möglichkeit wie man diese Operation aus einer Textdatei alle Zeilen ohne " am Anfang = delete (möglichst mit verfügbaren Onboardmitteln) ausführen kann und falls ja wie?  

Im Idealfall sollten die Zeilen, die nicht gematched werden auch einfach direkt aus der Datei herausgelöscht werden können, anstatt jedesmal den kompletten Inhalt zu kopieren.

Irgendein Tipp?

PC, IT, programmieren, Batch, Batchprogrammierung, cmd, Code, Programmiersprache, Textbearbeitung, PowerShell, Regulärer Ausdruck, Windows 10, CMD Befehl

Wieso werden viele Dinge im Alltag (im vgl. zu früher) immer komplizierter oder eingeschränkter?

Bereits seit längerer Zeit beobachte ich einen Trend, dass verschiedenste Dinge im Alltag immer komplizierter, seltsamer oder eingeschränkter werden, während die Lebensqualität stetig abnimmt und Möglichkeiten und Auswahl sinken. Haben andere das auch beobachtet und hängt das mit dem Krieg oder der allgemeinen politischen Krisen zusammen? (Den Trend beobachte ich in verschiedensten Richtungen und unterschiedlicher Hinsicht, und es hat bereits vor der Pandemie angefangen). Um ein paar Beispiele zu nennen:

Arzttermin 2010: Ich komme telefonisch durch, zeitnaher Termin, kann unkompliziert im Wartezimmer Platz nehmen, werde nach einiger Zeit aufgerufen und bekomme die gewünschten Untersuchungen.

Arzttermin 2024: Man muss sich zuerst durch eine umfangreiche Warteschleife mit Roboterstimme kämpfen, es geht niemand direkt dran, sondern wird erst nach Stunden zurückgerufen, ein regulärer Termin ist erst in 1 Monat verfügbar, man muss im Wartezimmer hinter Sicherheitstüren Platz nehmen die von innen abgeschlossen werden, umfangreiche Formulare ausfüllen und kriegt ein Piep-Gerät in die Hand, man wird freundlich darauf hingeweisen, dass grundlegende Untersuchungen für Kassenpatienten nicht (mehr) verfügbar sind. Auch mit der Ausstellung von Rezepten gibt es je nach Arzt Probleme.

Bank 2010: Ich gehe zur Bank, alle Schalter haben auf und ich erhalte sofort einen Beratungstermin oder kann einen beliebig hohen Betrag am Schalter abheben.

Bank 2024: Der Innenbereich der Bank hat chronisch geschlossen, an den Geldautomaten lassen sich nur noch kleine Mäusebeträge abheben, es gibt nur einen Tel. Support wo man sich zuerst durch eine Warteschleife kämpfen muss. Bereit bei kleineren Einzahlungen werden seltsame Fragen gestellt.

Behördentermin (Rathaus) 2010: Ich gehe ins Rathaus, ziehe ein Ticket, warte 10 Minuten und kann direkt zu einem Schalter meiner Wahl gehen und mein Anliegen vortragen.

Behördentermin (Rathaus) 2024: Ich gehe ins Rathaus, die Tür wird durch mehrere Sicherheitsmitarbeiter bewacht, man muss zuerst einen umfangreichen Registrierungsprozess per E-mail durchlaufen. Ein Termin ist frühestens nächste Woche verfügbar. Der Schalter und der Mitarbeiter wird vorgegeben. Alle Mitarbeiter verstecken sich hinter Glaswänden.

Einkaufen 2010: Ich gehe in den Supermarkt, habe eine tolle Auswahl verschiedenster Produkte. Die Preise sind noch bezahlbar. Ich kann auch mal problemlos dort chillen. Es gibt eine Überwachungskamera im ganzen Geschäft.

Einkaufen 2024: Ich gehe in den Supermarkt, die Auswahl und Qualität der Produkte hat sich deutlich verschlechtert, während die Preise sich ca. verdoppelt haben. Ich werde von 60-70 Überwachungskameras in jeder Ecke auf Schritt und Tritt verfolgt. Es gibt Securitys und man bekommt ein unwohles Gefühl wenn man länger als ein paar Minuten irgendwo verweilt. (2024 haben auch erstmals mehrere große Shopping Mals und Einkaufszentren in der Stadt geschlossen. Es ist immer weniger los und es gibt immer weniger Orte wo man noch hingehen oder verweilen kann.)

FA 2010: Ich gehe ins Finanzamt und kann meine Steuererklärung direkt abgeben.

FA 2024: Ich muss mich online registrieren und meine Steuererklärung mit Elster übermitteln. Dies ist oft mit Problemen verbunden und erfordert letzlich die Nutzung kostenpflichtiger Dienstleistungen.

Open Network 2010: Es gibt in der Stadt eine große Auswahl an Münztelefonen, Ladestationen oder Internetcafes, die bis spät abends geöffnet haben. Die Internetcafes haben meist +/-15 PC's.

Open Network 2024: Fast alle Internetcafes haben geschlossen oder nur noch 1 PC. Münztelefone sind noch Dekoration.

Clubs 2010: Es gibt eine hohe Zahl an Clubs oder Discos mit regelmäßigen großen Events, wo man seine Zeit verbringen kann. Dazu auch eine große Zahl von Nachtbars.

Clubs 2024: 80% der Clubs haben geschlossen, bei den Wenigen die noch existieren ist kaum was los. Konzerte oder Events finden selten statt. Ansonsten gibt es hier nach 23H keinen vernünftigen Ort mehr wo man hingehen kann.

McDonalds 2010: Ich gehe zum Schalter und bestelle ein Gericht meiner Wahl.

McDonalds 2024: Ich gehe in den McDonalds, eine Bestellungs ist nur noch über ein Terminal mit Ticketsystem unter vorherig. aufwendg. Installation einer Extra-App möglich. Die Qualität des Essens ist gruselig, der Preis monströs teuer.

Spielo 2010: Ich gehe zocken, es gibt eine reiche Auswahl an Zockbuden, Automaten und Spielen. Ich setze mich hin, wähle ein Spiel meiner Wahl, bestelle ein Getränk und kann direkt loslegen. Währenddessen kann ich im Internet surfen. Das Spielen macht Spaß und man kann mit Glück auch mal 7000€ gewinnen.

Spielo 2024: Fast alle ehemals guten Spielos haben geschlossen. Spiel ist nur noch mit Persofreischaltung und stark begrenzten Beträgen möglich. Die Automatenzahl ist klein und der Laden meist hoffnungslos überfüllt. Die Spiele laufen schlecht, es gibt begrenzte Getränke und das Anbieten von Internet ist verboten.

usw. könnte jetzt noch X weitere Beispiele nennen..?

Inflation, einkaufen, Deutschland, Politik, Alltag, Kultur, Stadt, Kommunikation, Alltagsprobleme, Digitalisierung, Einkaufszentrum, Gesellschaft, Security, Überwachung, Überwachungskamera, Zeitvertreib, polizeistaat, Preiserhöhung, Termin, Einschränkung