Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

CodeIgniter PHP Discussion :

Afficher du JSON dans une page web en PHP


Sujet :

CodeIgniter PHP

  1. #1
    Membre régulier
    Afficher du JSON dans une page web en PHP
    Bonjour
    Je travaille sur une api en codeigniter. J'obtiens un resultat en json. J'aimerais afficher ce résultat json dans une page web en php. Mais j'obtiens une erreur. Que dois-je mettre dans la fonction file_get_contents(' ') ? Merci de votre aide !
    Voici le lien qui affiche mon résultat json : http://keyapi.wedhoc.com/api/index.php/user/loginPseudo?nickname=alanwu&password=111111

    Voici le résultat:
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    {
      "code": 200,
      "message": "login successful",
      "data": {
        "sess_id": "0fa2b98601ef7c921102eb6cf3322012e8429d44",
        "userid": "3"
      }
    }


    Voici le fichier php que j'ai crée pour afficher ce résultat json dans une page web en php:
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    <?php
    /* Récupération du contenu du fichier .json */
    $contenu_fichier_json = file_get_contents('http://keyapi.wedhoc.com/api/index.php/user/loginPseudo?nickname=alanwu&password=111111');
    /* Les données sont récupérées sous forme de tableau (true) */
    $tr = json_decode($contenu_fichier_json, true);
    ?>
     
    <!DOCTYPE html>
    <html lang="en">
        <head>
            <meta charset="utf-8">
            <title>Test json</title>
            <meta name="description" content=" Je teste json">
        </head>
     
        <body>
            <?php echo $tr['code'] ?>
            <?php echo $tr['message'] ?>
    		<?php echo $tr['sess_id'] ?>
    		<?php echo $tr['userid'] ?>
        </body>
    </html>
    Formatrice - Web développeuse - WebMarketing - Recrutement
    Site O'ClockWeb : http://oclockweb.cvflashjob.com/
    Mon Facebook : https://www.facebook.com/minkoueobame

  2. #2
    Membre régulier
    salut, tu peux afficher l'erreur que cela affiche ?? et aussi aussi pour afficher un element de data tu peux faire ceci : $tr['data']['sess_id'].
    Merci

  3. #3
    Expert éminent
    Oui le début du commencement c'est de faire afficher les erreurs php (cf moteur de recherche si besoin).

    Ensuite pour faire afficher un tableau php (puisque tu as mis true en second argument de json_decode pour créer un tableau associatif) tu peux utiliser var_dump(), ou éventuellement print_r(). Donc en affichant ton tableau tu t'apercevras que c'est un tableau à deux dimensions. Ce qui fait que le code ci-dessous fonctionnera mieux :

    Code php :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    <?php
    $json = '{
      "code": 200,
      "message": "login successful",
      "data": {
        "sess_id": "0fa2b98601ef7c921102eb6cf3322012e8429d44",
        "userid": "3"
      }
    }';
     
    $tr = json_decode($json,true);
     
    ?>
    <!DOCTYPE html>
    <html lang="en">
        <head>
            <meta charset="utf-8">
            <title>Test json</title>
            <meta name="description" content=" Je teste json">
        </head>
     
        <body>
            <?= $tr['code'].'<br>' ?>
            <?= $tr['message'].'<br>' ?>
    	<?= $tr['data']['sess_id'].'<br>' ?>
    	<?= $tr['data']['userid'].'<br>' ?>
        </body>
    </html>