• Login
  • Register
  • Zoek
This Thread
  • Everywhere
  • This Thread
  • This Forum
  • Articles
  • Pages
  • Forum
  • Filebase Entry
  • More Options

ICTscripters

Dé plek voor IT

Dé plek voor IT

Login

Geavanceerde opties
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
  3. ICT Nieuws
  4. Blog
  5. Marktplaats
    1. Werk
    2. Advertenties
    3. Domeinnamen
    4. Websites
    5. Design & lay-outs
    6. Scripts
    7. Overige
  6. Design
  7. Leden
    1. Actieve bezoekers
    2. Team
    3. Leden zoeken
  8. Downloads
  9. Goedkope domeinnamen
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
  3. ICT Nieuws
  4. Blog
  5. Marktplaats
    1. Werk
    2. Advertenties
    3. Domeinnamen
    4. Websites
    5. Design & lay-outs
    6. Scripts
    7. Overige
  6. Design
  7. Leden
    1. Actieve bezoekers
    2. Team
    3. Leden zoeken
  8. Downloads
  9. Goedkope domeinnamen
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
  3. ICT Nieuws
  4. Blog
  5. Marktplaats
    1. Werk
    2. Advertenties
    3. Domeinnamen
    4. Websites
    5. Design & lay-outs
    6. Scripts
    7. Overige
  6. Design
  7. Leden
    1. Actieve bezoekers
    2. Team
    3. Leden zoeken
  8. Downloads
  9. Goedkope domeinnamen
  1. Dé plek voor IT - ICTscripters
  2. Forum
  3. Scripting & programmeren
  4. PHP + SQL

Forum

  • Beta-testers gezocht voor Crypto-oefenplatform

    Syntax 29 januari 2026 om 16:11
  • Na 15 jaar terug van weggeweest: iCriminals.nl is terug (BETA)!

    Syntax 19 januari 2026 om 09:34
  • Developer Gezocht

    Mikevdk 10 januari 2026 om 18:57
  • Op zoek naar de legends

    Syntax 5 januari 2026 om 13:50
  • [FREE] WeFact Hosting module

    Jeroen.G 13 oktober 2025 om 14:09
  • Help testers nodig voor android app Urgent

    urgentotservices 26 september 2025 om 10:21
  • Versio vervanger

    Jeroen.G 25 augustus 2025 om 15:56
  • Afspraken systeem met planbeperking

    Lijno 1 augustus 2025 om 23:04

Marktplaats

  • 350 Nieuwe Domeinnamen Januari 2026

    shiga 1 februari 2026 om 14:21
  • 321 Nieuwe Domeinnamen December 2025

    shiga 1 januari 2026 om 10:26
  • Meerdere mafia game template te koop

    Syntax 26 december 2025 om 00:07

PHP kan json niet decoden

  • wimmpie
  • 25 april 2013 om 22:02
  • wimmpie
    âllo âllo
    Ontvangen Reacties
    11
    Berichten
    1.170
    • 25 april 2013 om 22:02
    • #1

    Hallo,

    ik ben momenteel bezig met een map, de data is in json. Omdat de json geinclude wordt door javascript en deze niet in de cache mag opgeslagen worden heb ik deze php-code voor de json gezet:

    PHP
    <?php
    				header("Cache-Control: no-cache, must-revalidate");   // HTTP/1.1
    				header("Expires: Sat, 26 Jul 1997 05:00:00 GMT");   // Date in the past
    			?>


    en daarna heb ik het bestand opgeslagen als een php file

    Nu wordt dit bestand ook geopend met fopen in php maar als ik de json dan wil decoden krijg ik een "JSON_ERROR_SYNTAX"...
    Hoe los ik dit op? (Indien ik de php code wegdoe, werk het wel...)

    Hoe kan ik ervoor zorgen dat de json toch gedecoded wordt?

    Alvast bedankt,
    Willem

  • Tim
    Enlightened
    Ontvangen Reacties
    77
    Berichten
    3.686
    • 25 april 2013 om 22:55
    • #2

    Hallo,

    Dan lijkt het erop dat de syntax van JSON niet klopt...
    Valideer eens of de string wel JSON is via een validator.

    Mvg,
    Tim

    Master student IT-recht en Master student Ondernemingsrecht & software ingenieur
    My Personal profile
    My professional profile (LinkedIn/CV)

  • wimmpie
    âllo âllo
    Ontvangen Reacties
    11
    Berichten
    1.170
    • 26 april 2013 om 18:53
    • #3

    Gedaan en de json klopt...

  • ZiraX
    IT Expert
    Berichten
    510
    • 26 april 2013 om 19:07
    • #4

    Wat is je JSON query dan ?!

    1) Eigenaar & CEO // iSenses
    2) Eigenaar & CEO // HoodGangster
    3) Co-Owner & Captian @WMCity V3.

  • M.Martens
    Professional
    Ontvangen Reacties
    41
    Berichten
    987
    • 26 april 2013 om 19:33
    • #5

    Sorry dat ik het zeg maar.
    Ik zie twee optie's
    1. Kun je het niet in een anderen taal oplossen? Zolas PHP. of Java??
    2. Je gaat de bovenstaande code opnieuw scripten

    optie 1 lijkt mij de makkelijkste.

    Met Vriendelijke Groet.


    Maikel

  • Stefan.J
    Master
    Ontvangen Reacties
    9
    Berichten
    2.358
    • 26 april 2013 om 19:38
    • #6

    M.Martens: JSON is geen taal en hij programmeert in PHP..

    Waar heb je het PHP fragment wat je post neergezet? Want ik denk te begrijpen dat je een file x hebt met daarin het bovenstaande PHP fragment en daaronder JSON, en een ander PHP bestand dat met fopen file x opent en deze over het netwerk schrijft.

    Dat kan ik verkeerd hebben. Maar het bovenstaande PHP fragment moet in het bestand komen te staan dat de JSON serveert.

    Kun je anders alle code van toepassing eens posten?

  • wimmpie
    âllo âllo
    Ontvangen Reacties
    11
    Berichten
    1.170
    • 26 april 2013 om 20:26
    • #7

    Dit is de json file:

    PHP
    <?php
    
    
    				header("Cache-Control: no-cache, must-revalidate");   // HTTP/1.1
    				header("Expires: Sat, 26 Jul 1997 05:00:00 GMT");   // Date in the past
    				header('Content-type: application/json');
    			?>{"map":[[{"ground":1},{"ground":1},{"ground":1},{"ground":1},{"ground":1},{"ground":1}],[{"ground":1},{"ground":1},{"ground":1},{"ground":1},{"ground":1,"village":1},{"ground":1}],[{"ground":1},{"ground":1,"village":1},{"ground":1},{"ground":1},{"ground":1},{"ground":1}],[{"ground":1},{"ground":1,"oase":1},{"ground":1,"village":1},{"ground":1},{"ground":1},{"ground":1}],[{"ground":1},{"ground":1,"village":1},{"ground":1},{"ground":1},{"ground":1},{"ground":1}],[{"ground":1},{"ground":1},{"ground":1},{"ground":1},{"ground":1},{"ground":1}]]}

    En dit is het andere script:

    PHP
    $fileurl = $_SERVER['DOCUMENT_ROOT'].'/json/' . $server->id . '.json.php';
    		$fileid = fopen($fileurl, 'r+');
    		$filesize = filesize($fileurl);
    		$file = fread($fileid, $filesize);
    		
    		$json = json_decode($file, true);
    		
    				switch (json_last_error()) {
    			case JSON_ERROR_NONE:
    				echo ' - No errors';
    			break;
    			case JSON_ERROR_DEPTH:
    				echo ' - Maximum stack depth exceeded';
    			break;
    			case JSON_ERROR_STATE_MISMATCH:
    				echo ' - Underflow or the modes mismatch';
    			break;
    			case JSON_ERROR_CTRL_CHAR:
    				echo ' - Unexpected control character found';
    			break;
    			case JSON_ERROR_SYNTAX:
    				echo ' - Syntax error, malformed JSON';
    			break;
    			case JSON_ERROR_UTF8:
    				echo ' - Malformed UTF-8 characters, possibly incorrectly encoded';
    			break;
    			default:
    				echo ' - Unknown error';
    			break;
    		}
    Toon Meer


    Ziet iemand iets?

  • Stefan.J
    Master
    Ontvangen Reacties
    9
    Berichten
    2.358
    • 26 april 2013 om 20:27
    • #8

    Ja. De PHP code hoort niet in het bestand met de JSON, dat werkt zo niet. Je zult het in het onderstaande bestand moeten zetten.

    Ps. Hoezo is de JSON niet altijd hetzelfde?

  • wimmpie
    âllo âllo
    Ontvangen Reacties
    11
    Berichten
    1.170
    • 26 april 2013 om 20:38
    • #9

    Ik heb helemaal niet gezegd dat de json niet altijd hetzelfde is?

    maar het probleem is dat de json ook wordt geladen met ajax, maar dan wordt deze opgeslagen in de cache en dat mag niet...
    Daarom staat de header er dus boven :s

    Edit:
    ik ben overgestapt naar ajax in jQuery omdat je hier de cache kan uitschakelen...
    De php header in het json bestand is verwijdert, maar nu geeft de ajax code "[Object, object]" terug ipv de echte jsoncode die mijn oude ajax returnde...
    Dit was mijn oude code:

    Code
    if(window.XMLHttpRequest)
        var xmlhttp = new XMLHttpRequest();
      else
        var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    
    
      if(xmlhttp.overrideMimeType)
        xmlhttp.overrideMimeType('application/json');
         
      xmlhttp.open("get", file, false);
      xmlhttp.addEventListener('readystatechange', function()
       {
          if(this.readyState == 4 && this.status != 404)
          {  
            engine.data.parse(this.responseText, whendone);
          }
       }, false);
       
      xmlhttp.send(null);
    Toon Meer


    En dit is mijn nieuwe code

    Code
    $.ajaxSetup({dataType: "json", url: file, cache: false, type: "GET", success:function(result){engine.data.parse(result, whendone)}});
    	$.ajax();

    Wat ik moet aanpassen zodat hij het juiste teruggeeft?

    Oplossing:
    dataType moest aangepast worden naar "text", best vreemd maar het werkt wel :)
    Weet iemand ofdat de jQuery ajax "cache: false" niet werkt in bepaalde browsers?

    Bewerkt 2 keer, laatst door wimmpie: oplossing gevonden (26 april 2013 om 22:16).

Participate now!

Heb je nog geen account? Registreer je nu en word deel van onze community!

Maak een account aan Login

ICT Nieuws

  • Fijne feestdagen

    tcbhome 28 december 2025 om 13:55
  • Kritieke update voor Really Simple Security-plug-in

    K.Rens 16 november 2024 om 16:12
  • ING Nederland streeft naar ondersteuning van Google Pay tegen eind februari

    K.Rens 2 november 2024 om 16:09

Blogs

  • Functioneel ontwerp

    Dees 28 december 2014 om 12:38
  • Access Control List implementatie in PHP/MySQL - deel 1/2

    FangorN 28 december 2018 om 12:35
  • Access Control List implementatie in PHP/MySQL - deel 2/2

    FangorN 29 december 2018 om 12:37

Gebruikers die dit topic bekijken

  • 1 Gasten
  1. Marktplaats
  2. Design
  3. Voorwaarden
  4. Ons team
  5. Leden
  6. Geschiedenis
  7. Regels
  8. Links
  9. Privacy Policy
ICTscripters ©2005 - 2026 , goedkope hosting door DiMoWeb.com, BE0558.915.582
Sponsors: Beste kattenhotel provincie Antwerpen | Beste Zetes eid kaartlezer webshop
Style: Nexus by cls-design
Stylename
Nexus
Manufacturer
cls-design
Licence
Commercial styles
Help
Supportforum
Visit cls-design