Précédent   Forum des professionnels en informatique > PHP > Langage > Fonctions
Fonctions Forum d'entraide sur les fonctions PHP. Avant de poster -> FAQ fonctions et Sources diverses
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 12/12/2011, 16h35   #1
Invité de passage
 
Homme
Étudiant
Inscription : décembre 2011
Messages : 7
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Suisse

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : décembre 2011
Messages : 7
Points : 0
Points : 0
Par défaut Renvoyer du JSON

Bonjour,

J'ai une chaîne en JSON prête a être envoyée, malheureusement je n'arrive pas à trouver comment... J'aimerai qu'elle passe dans le corps de la réponse HTML.

Pour vous éclairer un peu plus, j'ai un script php qui est appelé depuis une page de dokuWiki (http://www.dokuwiki.org/). La chaîne est composée de certains éléments qui se trouvent sur la page du wiki. Je crée ma chaîne puis j'aimerai la renvoyer par la réponse HTML.

Faisable ou pas?

Merci d'avance
dark_axi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/12/2011, 16h41   #2
Membre confirmé
 
Avatar de Pymento
 
Homme
Ingé. Info.
Inscription : janvier 2008
Messages : 339
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 24
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingé. Info.

Informations forums :
Inscription : janvier 2008
Messages : 339
Points : 273
Points : 273
Attention au vocabulaire inexact qui rend diffcile ton explication !
donc si j'ai bien ou mal compris surement, tu veux afficher ton json sur une page html ?
Code :
1
2
3
4
5
<html>
 <?php
  echo (json.decode($tonJson))
 ?>
<html>
la syntaxe est pas bonne c'est simplement pour te montrer le process.
__________________
Memento Quia Pulvis Es, Et In Pulverem ReverteriS
Pymento est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/12/2011, 16h54   #3
Invité de passage
 
Homme
Étudiant
Inscription : décembre 2011
Messages : 7
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Suisse

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : décembre 2011
Messages : 7
Points : 0
Points : 0
non, non, je ne veux pas l'afficher dans la page HTML, mais le renvoyer dans la réponse HTML, que l'on puisse, par exemple, le voir avec firebug dans la section JSON. Le but étant que si on smartphone avec une application spécifique puisse le récuperer.

je ne sais pas trop comment expliquer...
dark_axi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/12/2011, 17h03   #4
Membre confirmé
 
Avatar de Pymento
 
Homme
Ingé. Info.
Inscription : janvier 2008
Messages : 339
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 24
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingé. Info.

Informations forums :
Inscription : janvier 2008
Messages : 339
Points : 273
Points : 273
Ok, tu veux à l'aide d'un smartphone appeller une page.php (avec arguments ou pas) qui renvoi ta chaine json et récupérer uniquement ce résultat? c'est exactement pareil sauf que tu enlève les balises html

par réponse HTML tu entend la réponse du serveur j'imagine ?
__________________
Memento Quia Pulvis Es, Et In Pulverem ReverteriS
Pymento est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/12/2011, 17h07   #5
Invité de passage
 
Homme
Étudiant
Inscription : décembre 2011
Messages : 7
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Suisse

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : décembre 2011
Messages : 7
Points : 0
Points : 0
C'est a peu près ça, sauf que, en même temps ma page PHP affiche quelque chose à l'écran pour les utilisateurs qui passe par une machine standard.

Je sais, c'est bizarre mais on m'a imposé ça...
dark_axi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/12/2011, 17h14   #6
Membre confirmé
 
Avatar de Pymento
 
Homme
Ingé. Info.
Inscription : janvier 2008
Messages : 339
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 24
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingé. Info.

Informations forums :
Inscription : janvier 2008
Messages : 339
Points : 273
Points : 273
ok, donc ce que tu dois faire c'est en premier temps récupérer l'user-agent du visiteurs, ou tout autres chose pour savoir si c'est un mobile ou une machine( ex: question a l'utilisateur).

Ensuite tu fais un IF, si c'est une machine tu fais ce que tu as a faire, si c'est un mobile - > echo json.decode($tonJson)
__________________
Memento Quia Pulvis Es, Et In Pulverem ReverteriS
Pymento est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/12/2011, 09h29   #7
Invité de passage
 
Homme
Étudiant
Inscription : décembre 2011
Messages : 7
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Suisse

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : décembre 2011
Messages : 7
Points : 0
Points : 0
Ouais, je vois le truc mais le problème c'est que ça m'affiche automatiquement le tout, car c'est un wiki où je met du code PHP.

Code de la page:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
====== Coucou ======
Ce texte est sous le titre 1
===== hello =====
 
|[[wiki:syntax|{{wiki:image_1.jpg?50}}]]| Psyché|
|:::|Lien vers une image bizzare|
 
 
|{{wiki:image_2.png?50}}| Image de dokuwiki|
|:::|Lien vers l'image de doku|
 
|{{wiki:image_3.png?50}}| Petits bonhommes|
|:::|Lien vers des bonhommes|
 
 
 
<php>
//Ne pas effacer!!!!
include("returnJSON.php");
json_encode_this($this);
</php>
dark_axi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/12/2011, 13h58   #8
Membre confirmé
 
Avatar de Pymento
 
Homme
Ingé. Info.
Inscription : janvier 2008
Messages : 339
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 24
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingé. Info.

Informations forums :
Inscription : janvier 2008
Messages : 339
Points : 273
Points : 273
Je ne maitrise pas trop le wiki, peut être avec un

Code :
1
2
3
4
5
6
 
(:if equal "{$var}" "test":)
 
(:else:)
 
(:if:)
tu pourrais t'en sortir. Sauf qu'il faut que tu exécute du code php avant donc... je crois que mes compétences s'arrêtent ici pour l'instant. Mais je suis quand même le post, il faut que je me forme en wiki.
__________________
Memento Quia Pulvis Es, Et In Pulverem ReverteriS
Pymento est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/12/2011, 15h45   #9
Expert Confirmé
 
Avatar de grunk
 
Homme Olivier
Développeur Web
Inscription : août 2003
Messages : 1 837
Détails du profil
Informations personnelles :
Nom : Homme Olivier
Âge : 27
Localisation : France, Côte d'Or (Bourgogne)

Informations professionnelles :
Activité : Développeur Web
Secteur : Industrie

Informations forums :
Inscription : août 2003
Messages : 1 837
Points : 3 318
Points : 3 318
Si c'est dans une requête HTTP (et non HTML) que tu veux renvoyer ton json tu doit définir via un header le type de contenu que tu vas renvoyer

Code :
header('Content-type: application/json');
puis ensuite simplement renvoyer le contenu json :

Ce qui donnerais en gros :

Code :
1
2
3
4
5
6
7
8
9
10
if($smartphone)
{
    header('Content-type: application/json');
    echo $myJSON;
}
else
{
    header('Content-type: text/html');
    echo $mapageweb; 
}
grunk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/12/2011, 09h02   #10
Invité de passage
 
Homme
Étudiant
Inscription : décembre 2011
Messages : 7
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Suisse

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : décembre 2011
Messages : 7
Points : 0
Points : 0
C'est une bonne idée j'y avais pas pensé. Mais j'ai un petit warning...
Citation:
Warning: Cannot modify header information - headers already sent in D:\wamp\www\dokuwiki\returnJSON.php on line 2
Je vous ai mis mon script php avec au cas ou
Fichiers attachés
Type de fichier : php returnJSON.php (2,1 Ko, 2 affichages)
dark_axi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/12/2011, 13h50   #11
Expert Confirmé
 
Avatar de grunk
 
Homme Olivier
Développeur Web
Inscription : août 2003
Messages : 1 837
Détails du profil
Informations personnelles :
Nom : Homme Olivier
Âge : 27
Localisation : France, Côte d'Or (Bourgogne)

Informations professionnelles :
Activité : Développeur Web
Secteur : Industrie

Informations forums :
Inscription : août 2003
Messages : 1 837
Points : 3 318
Points : 3 318
Je sais pas ce que tu essa ide faire avec ce genre de chose :
Code :
function __construct($v=int, $i=string, $r=string, $t=string, $u=string) {
Mais c'est pas correct. Soit tu défini une valeur par défaut soit tu fais du type hinting avec des types personnalisés mais tu fait pas ce genre de chose ^^

Sinon voir : la FAQ pour ton erreur
grunk est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h10.


 
 
 
 
Partenaires

Hébergement Web