Ankündigung

Einklappen
Keine Ankündigung bisher.

PHP - JSON - Bearbeiten ?!

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • PHP - JSON - Bearbeiten ?!

    Moin,
    wie kann ich einen bestimmten Wert in einer JSON Datei am besten verändern?

    Würde gerne in meiner JSON Datei den Wert ("logout":"true") zu ("false") ändern und den Rest in der JSON beibehalten.

    Lg


  • #2
    Definiere: am Besten. Nach welchen Kriterien? Am einfachsten wohl decoden, bearbeiten, encoden. Unter php.net/json steht ja alles.
    You know, my wife sometimes looks at me strangely. „Duncan“, she says, „there's more to life than Solaris“. Frankly, it's like she speaks another language. I mean, the words make sense individually, but put them together and it's complete nonsense.

    Kommentar


    • #3
      Möchtest du die JSON-Datei direkt bearbeiten? Was ist gegen
      Einlesen -> Array -> Element ändern -> JSON -> Abspeichern
      einzuwenden?
      PHP-Klassen auf github

      Kommentar


      • #4
        Ich rufe den Inhalt mit
        Code:
        $inhalt = json_decode(stream_get_contents(fopen($file, r)), true);
        echo $inhalt["nutzer"]["logout"]; //zeigt -> true <- an
        auf und würde aber gerne das "true", zu "false" ändern, wenn man sich z.B. erfolgreich einloggt.

        Kommentar


        • #5
          PHP-Code:
            $inhalt json_decode(stream_get_contents(fopen($filer)), true);  
          $inhalt["nutzer"]["logout"] = falsefile_put_contents($file,json_encode($inhalt)); 
          frag mich jedoch wie du "logout" auf false setzen willst? ich habe in den letzten 15 Jahren nicht ein einziges mal den "Logout" button benutzt, egal welche webseite
          apt-get install npm -> npm install -g bower -> bower install <package> YOLO https://www.paypal.me/BlackScorp

          Kommentar


          • #6
            Zitat von BlackScorp Beitrag anzeigen
            PHP-Code:
             $inhalt json_decode(stream_get_contents(fopen($filer)), true);
            $inhalt["nutzer"]["logout"] = falsefile_put_contents($file,json_encode($inhalt)); 
            frag mich jedoch wie du "logout" auf false setzen willst? ich habe in den letzten 15 Jahren nicht ein einziges mal den "Logout" button benutzt, egal welche webseite
            LoL ... Hatte das schon so ähnlich versucht, aber habe das "file_put_contents" einfach vergessen.
            Ja nice... Danke dir vielmals. \(o.o)/

            Das soll nix öffentliches sein was ich gerade versuche. Also ehr ein Test.
            Am ende kann man ja immer noch sowas einbauen wie z.B. wenn nach 5 Minuten nix mehr gemacht wurde, dann logge dich aus und somit wäre ja
            "logout" auch dann true. ^^

            Und wenn man sich wieder einloggt ist halt "logout" false.

            Nun ja... Danke dir noch mal.

            Kommentar


            • #7
              Zitat von PlatinSecurity Beitrag anzeigen


              Das soll nix öffentliches sein was ich gerade versuche. Also ehr ein Test.
              Am ende kann man ja immer noch sowas einbauen wie z.B. wenn nach 5 Minuten nix mehr gemacht wurde, dann logge dich aus und somit wäre ja
              "logout" auch dann true. ^^
              joa das wird aber nicht gehen. Ich gehe auf seite, logge mich ein, logout auf wird auf false gesetzt, dann schließe ich die seite. der server weiß nicht dass der user "5 minuten nix gemacht hat"

              um das korrekt zu machen, musst du in deiner users tabelle eine spalte "lastAction" einbauen und bei jedem klick egal wohin diese spalte mit aktuellem Zeitpunkt versehen. und dann wenn du anzeigen willst wieviele user auf der Seite online sind, kannst du dann eben überprüfen wieviele leute haben vor weniger als 5 minten auf der Seite rumgeklickt. mit dem Login true /false setzen wird nicht richtig funktionieren.

              LG
              apt-get install npm -> npm install -g bower -> bower install <package> YOLO https://www.paypal.me/BlackScorp

              Kommentar


              • #8
                BlackScorp Hast du für mich auch ne Lösung wenn ich eine JSON habe, die folgendes beinhaltet:
                Code:
                "nachricht":{
                0:"Das ist eine Nachricht..."
                }
                so bearbeite, dass ich z.B. dann nach einer neuen Nachricht das hier hab:
                Code:
                "nachricht":{
                0:"Das ist eine Nachricht...",
                1:"Das ist eine weitere Nachricht..."
                }
                usw....

                EDIT: Und am besten, dass nur max. 10 ("nachricht") angezeigt / eingetragen werden kann.

                EDIT 2: Omg ok hat sich geklärt.... Wieso kommt man da immer erst drauf wenn man so blöd fragt ?! :'D
                Antwort: Richtig ist es so wie du es schon gezeigt hast nur das in diesem Fall halt
                Code:
                $inhalt["nachricht"]["$zahl"] = "$msg";
                als Bsp. gemacht werden muss.
                Nach dem ganzen wird es dann nicht mehr wie oben in meiner Frage angezeigt, sondern so:
                Code:
                 
                 "nachricht":["Hallo","2","3","4","5","6","7","8","9","0"]
                Und so wollte ich das ja letzendlich auch ^^

                Hab mir jetzt zwar selber geholfen aber danke trotzdem an

                Kommentar


                • #9
                  Zitat von PlatinSecurity Beitrag anzeigen
                  BlackScorp Hast du für mich auch ne Lösung wenn ich eine JSON habe, die folgendes beinhaltet:
                  Code:
                  "nachricht":{
                  0:"Das ist eine Nachricht..."
                  }
                  so bearbeite, dass ich z.B. dann nach einer neuen Nachricht das hier hab:
                  Code:
                  "nachricht":{
                  0:"Das ist eine Nachricht...",
                  1:"Das ist eine weitere Nachricht..."
                  }
                  Das ist kein JSON.

                  Kommentar

                  Lädt...
                  X