IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
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

Langage PHP Discussion :

Réponse Json bloqué


Sujet :

Langage PHP

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    351
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 351
    Points : 333
    Points
    333
    Par défaut Réponse Json bloqué
    Bonjour,

    Je teste la création de Webservice PHP avec une base contenant les infos de diques.

    J'ai développé une réponse JSON en PHP. Quand je l'exécute avec mon easy PHP en local tout marche bien marche (PHP Version 5.4.6)

    Si j'appelle la page avec un IdCD il me donne répond avec les infos d'un Cd.
    Si j'appelle la page avec un IdCd =0 il me donne une liste avec les infos de tous les Cds.

    Je met la page en ligne (PHP Version 7.3.32)

    Si j'appelle la page avec un IdCd il me donne bien les infos du Cd
    Si j'appelle la page avec un IdCd = 0 il ne répond rien.
    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
    23
    24
    25
    <?php
    	//Retourne les infos d'un Cd si id > 0 de tous les Cds si Id vide ou = 0
    	// Se connecter à la base de données
    	include("fct.php");
     
    	if(empty($_GET["id"])){
    		$id = 0; 
    	}else{ 
    		$id = intval($_GET["id"]);
    	}
    	//$sql = "SELECT * FROM cd";
    	if($id > 0){
    		$sql = "SELECT * FROM cd WHERE IdCd=".$id." ";
    	}else{
    		$sql = "SELECT * FROM cd ";
    	}
    	$lst_Cd = array();
    	$result = mysqli_query($conn, $sql) or die ($sql) ;
    	while($ReqlstCd = mysqli_fetch_array($result, MYSQLI_ASSOC)){
    		$lst_Cd[] = $ReqlstCd;
    	}
    	header('Content-Type: application/json');
    	echo json_encode($lst_Cd, JSON_PRETTY_PRINT);
     
    ?>
    Si quelqu'un a une idée.

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 420
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 420
    Points : 15 789
    Points
    15 789
    Par défaut
    rajouter des affichages de débugage à toutes les lignes pour trouver à quel endroit s'arrête le code.

  3. #3
    Expert éminent Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    2 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Justicier interdimensionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 2 905
    Points : 6 693
    Points
    6 693
    Par défaut
    Je parie sur une erreur lors de l'encodage JSON. Ajoute echo json_last_error_msg(); à la fin de ton code pour savoir ce qu'il en est.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    351
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 351
    Points : 333
    Points
    333
    Par défaut
    Message d'erreur
    Malformed UTF-8 characters, possibly incorrectly encoded

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    351
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 351
    Points : 333
    Points
    333
    Par défaut
    C'est bien l'encodage des titres, il y a des caractères avec accent.
    Merci messieurs de votre aide.

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    351
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 351
    Points : 333
    Points
    333
    Par défaut
    Bonjour,

    Si ça peut aider.. j'ai complétement résolu le soucis en ajoutant un encodage sur le titre du Cd qui potentiellement peut contenir des accents.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $ReqlstCd["TitreCD"] = utf8_encode($ReqlstCd["TitreCD"]);
    merci encore de m'avoir mis sur la bonne piste.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponse JSON vers un objet Java
    Par sarah9999 dans le forum Format d'échange (XML, JSON...)
    Réponses: 3
    Dernier message: 04/07/2013, 00h22
  2. [ZF 1.11] Probléme d'une Réponse JSON bizarre
    Par zizou86 dans le forum Zend Framework
    Réponses: 4
    Dernier message: 30/01/2012, 06h17
  3. Struts dojo tags : traitement de la réponse JSON
    Par Flam dans le forum Struts 2
    Réponses: 1
    Dernier message: 29/05/2011, 02h03
  4. Caractère inconnu dans réponse JSON
    Par canardman dans le forum jQuery
    Réponses: 0
    Dernier message: 04/05/2011, 12h15
  5. réponse json mal formée ?
    Par Alexdezark dans le forum jQuery
    Réponses: 4
    Dernier message: 16/03/2010, 19h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo