Kleber Carvalho Postado Fevereiro 4, 2013 Denunciar Share Postado Fevereiro 4, 2013 Pessoal, Tenho uma aplicação em HTML5/ JavaScript que envia um JSON para uma aplicação PHP.Tenho um ambiente de teste que é uma copia do ambiente de produção.Basicamente a aplicação recebe um JSON, coloca os dodos em um array, e faz um insert no banco de dados.A aplicação está funcionando corretamente no ambiente de teste, mas no ambiente de produção, a mesma aplicação não recebe o JSON corretamente:Log do JSON Recebido no ambiente de teste:{"id":"2","v1":"A1","v2":"A2","v3":"A3","v4":"A3","v5":"A4","v6":"A1","v7":"A2","v8":"A1","v9":"10:32-chrome"} Log do JSON Recebido no ambiente de produção:{\"id\":\"1\",\"v1\":\"A1\",\"v2\":\"A1\",\"v3\":\"A2\",\"v4\":\"A3\",\"v5\":\"A4\",\"v6\":\"A2\",\"v7\":\"A3\",\"v8\":\"A1\",\"v9\":\"10:46-chrome\"} <?php header('content-type: application/json; charset=utf-8'); header("access-control-allow-origin: *"); $json = $_GET['json']; $jsonarray = json_decode($json); $message = "Mensal inicial 2"; $success = FALSE; //include database configuration include 'config.php'; //var_dump($jsonarray); $v1 = $jsonarray -> v1; $v2 = $jsonarray -> v2; $v3 = $jsonarray -> v3; $v4 = $jsonarray -> v4; $v5 = $jsonarray -> v5; $v6 = $jsonarray -> v6; $v7 = $jsonarray -> v7; $v8 = $jsonarray -> v8; $v9 = $jsonarray -> v9; $query = "insert into lime_survey_764323 SET submitdate='1980-01-01 00:00:00', lastpage='1', startlanguage='pt-BR', 764323X2X17='$v1', 764323X2X18='$v2', 764323X2X19='$v3', 764323X2X20='$v4', 764323X2X21='$v5', 764323X2X22='$v6', 764323X2X23='$v7', 764323X2X24='$v8', 764323X2X24comment='$v9'"; $result = mysql_query($query); //insert query to the database if ($result) { $message = "if" + $query; $success = TRUE; } if (!$result) { $message = "else" + $query; $success = false; die('Could not query:' . mysql_error()); } //insert($jsonarray); $message = $query; $success = TRUE; if ($success == true) { $data = array('success' => true, 'message' => $message, 'value' => $json); echo isset($_GET['callback']) ? $_GET['callback'] . '(' . json_encode($data) . ')' : json_encode($data); } else { $data = array('success' => false, 'message' => $message, 'value' => $json); echo isset($_GET['callback']) ? $_GET['callback'] . '(' . json_encode($data) . ')' : json_encode($data); } ?>Minha dúvida é, como pode um código funcionar de um jeito em um servidor e funcionar de outra maneira em outro servidor?Qualquer ajuda é bem vinda. Muito Obrigado Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Fevereiro 4, 2013 Denunciar Share Postado Fevereiro 4, 2013 Observe que no ambiente de testes é adicionado \ na frente das aspas, provavelmente magic_quotes_gpc está ativa no servidor de produção. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Kleber Carvalho Postado Fevereiro 4, 2013 Autor Denunciar Share Postado Fevereiro 4, 2013 ESerra,Muito Obrigado pela ajuda.Observe que no ambiente de testes é adicionado \ na frente das aspas, provavelmente magic_quotes_gpc está ativa no servidor de produção.Fiz uma pesquisa sobre o magic_quotes_gpc e a maneira mais fácil de resolver isso é alterar o php.iniComo não queremos alterar nenhuma configuração do servidor, encontrei uma função nesse link:http://www.webdeveloper.com/forum/showthre..._quotes_gpc-0-)function unescape($text) { if(get_magic_quotes_gpc()) { $text = stripslashes($text); } return($text); }Vou testar essa função, e vou postar o resultado aqui.Obrigado Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Kleber Carvalho Postado Fevereiro 5, 2013 Autor Denunciar Share Postado Fevereiro 5, 2013 Pessoal, deu certo.Usei a função acima e resolveu o problema.Muito Obrigado pela ajuda. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 dedas Postado Fevereiro 5, 2013 Denunciar Share Postado Fevereiro 5, 2013 Não esquece de marcar o tópico como resolvido ;] Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Kleber Carvalho
Pessoal,
Tenho uma aplicação em HTML5/ JavaScript que envia um JSON para uma aplicação PHP.
Tenho um ambiente de teste que é uma copia do ambiente de produção.
Basicamente a aplicação recebe um JSON, coloca os dodos em um array, e faz um insert no banco de dados.
A aplicação está funcionando corretamente no ambiente de teste, mas no ambiente de produção, a mesma aplicação não recebe o JSON corretamente:
Log do JSON Recebido no ambiente de teste:
{"id":"2","v1":"A1","v2":"A2","v3":"A3","v4":"A3","v5":"A4","v6":"A1","v7":"A2","v8":"A1","v9":"10:32-chrome"}
Log do JSON Recebido no ambiente de produção:
{\"id\":\"1\",\"v1\":\"A1\",\"v2\":\"A1\",\"v3\":\"A2\",\"v4\":\"A3\",\"v5\":\"A4\",\"v6\":\"A2\",\"v7\":\"A3\",\"v8\":\"A1\",\"v9\":\"10:46-chrome\"}
Minha dúvida é, como pode um código funcionar de um jeito em um servidor e funcionar de outra maneira em outro servidor?
Qualquer ajuda é bem vinda.
Muito Obrigado
Link para o comentário
Compartilhar em outros sites
4 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.