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

JavaScript Discussion :

Array to String en JSON


Sujet :

JavaScript

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2016
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2016
    Messages : 5
    Points : 3
    Points
    3
    Par défaut Array to String en JSON
    Bonjour,

    J'ai une erreur de conversion JSON a cause de la ligne de code 62. Mais je ne vois où est mon erreur. Peut-être que quelqu'un le verra. Nom : Capture.PNG
Affichages : 154
Taille : 180,1 Ko
    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    <?php
    /**
     * Created by PhpStorm.
     * User: Killian Kaeses
     * Date: 02/05/2016
     * Time: 16:48
     */
    class Config{
        public $name;
        public $defaultName = "inc/config.ini.php";
        public $data;
        public $writer = "inc/useConfig.php";
        function __construct($nom = ""){
            if($nom == "")$this->name = $this->defaultName;
            $this->load();
        }
        function load(){
            $this->data=parse_ini_file($this->name, true);
        }
        public function getData($g, $n){
            if(isset($this->data[$g][$n])) return $this->data[$g][$n];
            else return "[$g][$n] inconnu";
        }
        public function getForm(){
            if(!isset($this->data)) return('config not loaded');
            $data = $this->data;
            $out[] = "<form id='conf' name='conf' method=\"post\" action=\"$this->writer\">";
            foreach($data as $group=>$property){
                if($group!="erreur")$out[]=$this->handleGroup($group, $property);
            }
            $out[]= "<input id='send' name='send' type=\"submit\" value=\"Envoyer\">";
            $out[]= "</form>";
            return implode("\n", $out);
        }
        function handleGroup($g, $p){
            $tmp = "<fieldset>
                      <legend>" . $g . "</legend>";
            if(isset($p["comment"])) $tmp .= "<p id=comment>".$p["comment"]."</p>";
            foreach($p as $k => $v){
                if($k!="comment"&&$k!="type"&&$k!="choix"&&$k!="min"&&$k!="max"){
                    if(is_numeric($v)) {
                        $tmp .= "<p><label for='" . $g."[".$k . "]' style='text-transform : capitalize;'>"
                            . $k . " : </label><input type=number value='"
                            . $v . "' step='1' id='" . $g."[".$k . "]' name='"
                            . $g."[".$k . "]'";
                        if (isset($p["min"])) {
                            $tmp .= " min='" . $p["min"] . "'";
                        }
                        if (isset($p["max"])) {
                            $tmp .= " max='" . $p["max"] . "'";
                        }
                        $tmp .= ">";
                        if(isset($p["min"])&&isset($p["max"])){
                            if($p["min"]==$p["max"]){
                                $tmp .= " (non modifiable) <script>document.getElementById(\"".$g."[".$k."]\").disabled = true;</script>";
                            }else{
                                $tmp .= " min($p[min]) max ($p[min]) step(1)";
                            }
                        }
                        $tmp .= "</p>";
                    }else{
                        $tmp .= "<p><label for='" . $g."[".$k . "]'>" . $k . " : </label><input type=text value='" .$v . "' id='" . $g."[".$k . "]' name='" . $g."[".$k . "]'></p>";
                    }
                }
            }
            if (isset($p["type"])&&isset($p["choix"])) {
                $tmp .= "<p style='text-transform : capitalize;'>type : ";
                foreach ($p["type"] as $v) {
                    $tmp .= "<input type='checkbox' name='" . $g."[".$v . "]' id='" . $g."[".$v . "]' style='margin-left : 10px;'><label for='" . $v . "'>" . $v . "</label>";
                }
                $tmp .= "</p>";
                foreach ($p["choix"] as $v) {
                    $tmp .= "<script> document.getElementById('" . $g."[".$v . "]').checked = true; </script>";
                }
            }
            $tmp .= "</fieldset>";
            return $tmp;
        }
        public function writeConfig(){
            unlink($this->name);
            $monfichier = fopen($this->name, 'a+');
            fputs($monfichier, "[erreur]\n");
            fputs($monfichier, "interdit = \"<?php echo 'Vous n\\'êtes pas autorisé à voir ce contenu.\"'; exit; ?>\"\n");
            fputs($monfichier, "comment = \"; Les commentaires commencent par ';', comme dans php.ini\"\n\n");
            foreach($this->data as $k => $v){
                $isArrayDone = 0;
                if($k != "erreur") {
                    fputs($monfichier, "[" . $k . "]\n");
                    foreach ($v as $k2 => $v2) {
                        if(is_array($v2)){
                            if($isArrayDone==0) {
                                foreach ($v2 as $i) {
                                    if (is_numeric($i)) {
                                        fputs($monfichier, $k2 . "[] = $i\n");
                                    } else {
                                        fputs($monfichier, $k2 . "[] = \"$i\"\n");
                                    }
                                }
                                foreach ($v2 as $i) {
                                    if (isset($_POST[$k][$i])) {
                                        if (is_numeric($i)) {
                                            fputs($monfichier, "choix[] = $i\n");
                                        } else {
                                            fputs($monfichier, "choix[] = \"$i\"\n");
                                        }
                                    }
                                }
                                $isArrayDone = 1;
                            }
                        }else if(isset($_POST[$k][$k2])){
                            if(is_numeric($_POST[$k][$k2])){
                                fputs($monfichier, $k2 . " = " . $_POST[$k][$k2]."\n");
                            }else{
                                fputs($monfichier, $k2 . " = \"" . $_POST[$k][$k2]."\"\n");
                            }
                        }else{
                            if(is_numeric($v2)){
                                fputs($monfichier, $k2 . " = ".$v2."\n");
                            }else{
                                fputs($monfichier, $k2 . " = \"".$v2."\"\n");
                            }
                        }
                    }
                    fputs($monfichier, "\n");
                }
            }
            fclose($monfichier);
            return "Configuration sauvegardée";
        }
    }
    Merci d'avance

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 661
    Points
    66 661
    Billets dans le blog
    1
    Par défaut
    ben faudrait voir la tête du string json ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2016
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2016
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Mais je veux bien, mais je n'en n'ai pas. Il ne me retourne rien.

  4. #4
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    16 959
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 959
    Points : 44 122
    Points
    44 122
    Par défaut
    Bonjour,
    Il ne me retourne rien.
    ben si puisse que l'on le devine dans l'image de ta console !

  5. #5
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2016
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2016
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Ce que je voulais dire c'est qu'il ne me réponds rien dans mon html. Je comprends pas pourquoi il ne me l'affiche pas

  6. #6
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    16 959
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 959
    Points : 44 122
    Points
    44 122
    Par défaut
    Malheureusement on n'a qu'une image et pas de code pour voir si réellement tu fait correctement, la seule chose qui apparaît est $('#title').html(e.innerHTML);, autant dire bonjour la nébuleuse ...

  7. #7
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2016
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2016
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    /**
     * Created by Killiresult Kaeses on 05/04/2016.
     */
     
    //Version du point 10
    $(document).ready(function () {
        gereClic('menu');
        gereClic('sous-menu');
        $.get("index.php?rq=accueil", function(result) {
            traiteRetour(JSON.parse(result));
        });
    /*
        $('.menu a').click(function(){
            var rq = $(this).attr("href").split(".")[0];
            $.get("index.php?rq=" + rq, function(result){
                traiteRetour(JSON.parse(result));
                $('input[type="submit"]').click(function(event){
                    var rq = $('form').attr('action');
                    var rq = rq.split(".")[0];
                    $.get('index.php?rq='+ rq+'&'+$('form').serialize(),function(result){
                        traiteRetour(JSON.parse(result));
                    });
                    event.preventDefault();
                });
            });
            $('.menu a #o_accueil').removeClass('selected');
            $(this).addClass('selected');
            $('title').html(rq);
            return false;
        });*/
    });
     
    $('#o_accueil').focus();
     
    function traiteRetour(objetJS){
        $.map(objetJS, function(val, i) {
            switch (i) {
                case 'menu' :
                case 'sous-menu' :
                case 'contenu' : $('#' + i).html(val);
                    break;
                case 'alerte' :
                case 'message' :
                case 'nomSite' :
                case 'imageFolder' :
                case 'logo' :
                default :
                    alert('Erreur retour : \nCas non traité = ' + i + '\n' + val);
             }
            switch (i){
                case 'menu' :
                    gereClic(i);
                    break;
                case 'sous-menu' :
                    gereClic(i);
                    break;
             }
        })
    }
    function gereClic(id){
        $('#'+id+' a').click(function(event){
            event.preventDefault();
            var e = this;
            var rq = e.getAttribute('href');
            rq = rq.substring(0, rq.lastIndexOf("."));
            $.get('index.php?rq='+rq,function(frm){
                console.log(frm);
                traiteRetour(JSON.parse(frm));
                $('title').html(e.innerHTML);
                $('input[type="submit"]').click(function(event){
                    var rq = $('form').attr('action');
                    var rq = rq.split(".")[0];
                    $.get('index.php?rq='+ rq+'&'+$('form').serialize(),function(result){
                        traiteRetour(testeJson(result));
                        traiteRetour(JSON.parse(result));
                    });
                    console.log(event);
                    event.preventDefault();
                });
            });
            $(".selected").removeClass('selected');
            $(this).addClass("selected");
        });
    }
     
    function testeJson(result) {
        var json = {};
        try {
            json = $.parseJSON(result);
        }
        catch (err) {
            json["message"] = {
                'text': "Json non valide : " + err,
                'title': "Retour Json Erroné",
                'dialogClass': "error"
            }
        }
        return json;
    }

  8. #8
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    16 959
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 959
    Points : 44 122
    Points
    44 122
    Par défaut
    As tu des éléments dans ta page ayant les id requises dans ta fonction traiteRetour ?

Discussions similaires

  1. [JSON] Problème de Cast Array en String
    Par helter_skelter dans le forum Format d'échange (XML, JSON...)
    Réponses: 0
    Dernier message: 21/10/2009, 12h02
  2. Convertir un cell array en string
    Par Sensib dans le forum MATLAB
    Réponses: 3
    Dernier message: 09/11/2006, 13h12
  3. [D6] Conversion Array of String en String
    Par wizdom dans le forum Delphi
    Réponses: 2
    Dernier message: 23/05/2006, 17h01
  4. [FreePascal] Array of string
    Par w0lf dans le forum Free Pascal
    Réponses: 3
    Dernier message: 21/01/2006, 18h46
  5. TStringList en array of string
    Par JediKerian dans le forum Langage
    Réponses: 2
    Dernier message: 20/03/2003, 15h37

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