Ajax + PHP Retornando HTML e JSON

Vou mostrar neste artigo como realizar chamada de uma função PHP via Ajax utilizando método GET através de um evento de clique de botão de uma maneira simples. Neste pequeno tutorial iniciante vou exemplificar uma página HTML contendo o JQuery que executará a chamada via Ajax, a função PHP que fará qualquer coisa retornando primeiramente o HTML a ser impresso e depois retornando um Array em JSON.   HTML 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   <html> <head> <!-- Incluindo a biblioteca JQuery na página--> <script type="text/javascript" src="js/jquery-1.4.1.min.js"></script> <title>Este é um teste Ajax</title>   <!--Chamada Ajax para execução de nossa função php--> <script> $(document).ready(function() { //Declaração da minha função que retornará o HTML $("#btnGeraHtml").click(function () { var variavel = $("#numParagrafos").val(); //pegou o valor digitado no input texto $.ajax({ type: "GET", //método escolhido url: "funcao.php", //arquivo php chamado data: "funcao=html&valor="+variavel, dataType: "html",//tipo de função a ser retornada error: function(){ $("#retorno").html("Erro ao carregar HTML! Tente de novo!"); }, success: function(html){ $("#retorno").html(html); } }); });   //Declaração da minha função que retornará o JSON $("#btnGeraJson").click(function () { var variavel = $("#numParagrafos").val(); //pegou o valor digitado no input texto var conteudo = ""; $.ajax({ type: "GET", url: "funcao.php", data: "funcao=json&valor="+variavel, dataType: "json", error: function(){ $("#retorno").html("Erro ao carregar JSON! Tente de novo!"); }, success: function(dados){ for(j=0;j<dados.length;j++) { conteudo =...

Homepages diferentes para Usuários Logados e Não Logados

Olá, recentemente precisei trabalhar em uma rede social com WordPress e BuddyPress e precisei fazer muitas customizações e alterações no fonte. Uma delas que vi que seria importante compartilhar era setar uma página inicial diferente para quando o usuário estivesse logado ou não. Para isso, nenhum plugin me ajudou, embora existam plugins como o Peter’s Login que redirecionam após o login para uma página específica. Mas eu queria que a homepage mesmo já fosse uma diferente quando, por exemplo, o usuário escolhe por permanecer registrado. Eu vi várias formas de fazer isso, mas a maioria causava eu loop de redirecionamentos e então a melhor maneira que encontrei foi a seguinte:   1 2 3 4 5 6 7   <?php if (is_front_page() && is_user_logged_in()) { wp_redirect ( home_url("/pagina-desejada") ); exit; } ?> <?php if (is_front_page() && is_user_logged_in()) { wp_redirect ( home_url("/pagina-desejada") ); exit; } ?>   Este trecho de código foi adicionado no início do arquivo index.php no diretório do meu tema (localizado em /wp-content/themas/<seu-tema>).   Você pode alterar este arquivo de duas formas: Alterando via FTP acessando com seu usuário e senha e navegando até o diretório (Geralmente a raíz do site fica dentro de um diretório chamado public_html ou httpdocs. Dessa forma, a partir deste diretório, você encontrará o diretório citado acima).   A segunda forma de alterar é diretamente pelo admin do WordPress. Acessando o painel de administração naquele link wp-admin, você terá do lado esquerdo um menu chamado: “Aparência”->”Editor”     Ao clicar no menu, você se deparará com uma tela como a mostrada abaixo. Na caixa de seleção no topo estará seu tema selecionado, e...

Instalando e configurando Homestead

Eu tive um problema quando comecei a usar o Laravel nos hrefs e src da pasta public quando criava uma rota como Usuarios/create em ambiente localhost. Inicialmente eu utilizava o Laravel diretamente com apache fazendo com que a aplicação pudesse ser vista no navegador como localhost/<meu-projeto>/public. Em rotas e views com apenas um nível, não havia problema algum, eu apontava no href e no src normalmente. Quando me deparei com uma rota como a citada acima, os apontamentos saíam todos errados pois era como se o diretório base tivesse mudado (Ex no caso de Usuarios/create, eu deveria apontar o que estava em imagens dentro de public da seguinte maneira: ../imagens ao invés de somente imagens). O problema de fazer isso, é que para cada nível eu precisaria fazer um layout no blade diferente e isso geraria um trabalho maior. Foi então que resolvi usar o Homestead. A documentação do Laravel me ajudou muito a instalar e configurar, mas algumas coisas não estavam totalmente escritas e por isso resolvi criar este post. Segue a documentação para o Homestead: https://laravel.com/docs/5.1/homestead Obs: Eu utilizo Linux como sistema operacional para desenvolvimento. Vamos lá, passo a passo: 1º Instalar VirtualBox e Vagrant 2º Após instalar os dois programas, executar o seguinte comando para adicionar a pasta do laravel ao vagrant ~$ vagrant box add laravel/homestead https://atlas.hashicorp.com/laravel/boxes/homestead Este comando irá fazer download e é um passo que pode demorar alguns minutos. 3º O próximo passo é configurar as chaves SSH. Para tal, caso não possua a aplicação instalada, pode executar este comando para instalar ~$ sudo apt-get install openssh-client Caso já possua, basta aplicar o comando...

Erro “fatal: The remote end hung up unexpectedly”

Olá pessoal, este erro aconteceu comigo ao comitar uma branch com o comando $ git push EU não soube muito bem o que fazer, até que procurando na internet, vi que estava relacionado ao tamanho de arquivo enviado pois alguns servidores proxys não suportam a codificação “Transfer-Encoding: chuncked” usado pelo git em requisições POST quando o pacote enviando contém algum arquivo com mais de 1MB de tamanho. Gerando o erro abaixo: Counting objects: 2332669, done. Delta compression using up to 16 threads. Compressing objects: 100% (360818/360818), done. error: RPC failed; result=22, HTTP code = 411 fatal: The remote end hung up unexpectedly Writing objects: 100% (2332669/2332669), 483.30 MiB | 114.26 MiB/s, done. Total 2332669 (delta 1949888), reused 2330461 (delta 1949349) fatal: The remote end hung up unexpectedly Para resolver este problema é relativamente simples. Basta aumentar o tamanho máximo de envio de cada arquivo com o comando: $ git config –global http.postBuffer 157286400   Problema resolvido! Dúvidas, sugestões, enfim, deixem nos comentários....

Princípios de HTML

O HTML ou HyperText Markup Language é uma linguagem de marcação extremamente utilizada, ainda mais com o crescimento do desenvolvimento de sistemas onlines, websites e aplicativos mobile. Além do HTML, estão presentes num sistema online ou website o JavaScript e o CSS, além do Ajax e JQuery que complementam e resultam em toda interatividade na página. Para entender melhor o conceito de uma página web e como cada uma dessas tecnologias se conversam fazendo uma comparação ao corpo humano. Dessa forma: HTML -> Ossos e articulações. O HTML contém toda a estrutura da página que diz o que é o quê desde às mais antigas e primitivas como listas, links, tabelas, parágrafos, etc até os mais recentes como cabeçalho, menu, rodapé, seção e etc. CSS -> Roupas e acessórios. O CSS é responsável pelo estilo da página, cores, tamanhos, transformações, efeitos e etc, tudo que personaliza uma estrutura é de função do CSS. Para conhecer mais sobre CSS, visite a categoria de CSS. JavaScript -> Movimentos e dinâmica do corpo. O Javascript é responsável por interações na página sem conversar com o servidor, ele pode criar inúmeras dinâmicas de páginas, e pode ter funções completas sem precisar recarregar a página e, pelo contrário, ele perde toda alteração feita ao recarregar uma página. O desenvolvimento desta tecnologia, surgiu o Ajax, que tornou possível a comunicação com o lado servidor sem precisar recarregar uma página que se tornou muito útil, pois consultas podem ser feitas dinamicamente, tornando o carregamento da página mais rápido. Para saber mais de Javascript, clique aqui e para saber mais de Ajax, clique aqui. Após este pequeno resumo,...

Apresentação

Olá a todos, este é o primeiro artigo do blog que pretendo escrever para ajudar todos os desenvolvedores com problemas que eu tive que enfrentar, muitos deles inclusive tive que pensar numa solução contando com pouca ajuda na web. Gostaria de registrar que não sou nem nunca serei o dono da razão, posso postar alguma solução que não seja ideal ou dar uma opinião que transmita falta de confiança Caso isso aconteça, será um prazer que compartilhe comigo em prol do conhecimento universal e caso discorde de alguma coisa que ler por aqui, podemos promover uma discussão saudável. Espero que curtam e que seja proveitoso para todos...