Este free PDF book é destinado a programadores PHP que desenvolvem aplicações para banco de dados Oracle.

Este book é interessante para:
    - Quem está começando a aprender PHP com Oracle;
    - Quem é um programador PHP e deseja aprender Oracle;
    - Quem está inseguro sobre como instalar o PHP, ou Oracle;
    - Quem pretende apenas saber as boas práticas de PHP e Oracle.

Este livro dá-lhe a base fundamental e necessária para criar aplicações web de alta performance com PHP e Oracle.


Olá pessoal,

Hoje falarei um pouco de um problema relativamente comum entre os atuantes da área de desenvolvimento: acentuação.

Este tutorial foi testado no seguinte ambiente/situação:

- S.O.: CentOS 5.2
- PHP : 5.2
- OCI : Oracle Instant Client 10g

Ao tentar acessar (de outro servidor) uma view de um banco de dados Oracle, os caracteres especiais eram exibidos com '?' (interrogação).


Recentemente tive um problema de conexão com banco de dados em localhost usando CodeIgniter e Doctrine.

Se você já usou Doctrine, sabe que ele se conecta ao banco de dados por PDO.

O erro apresentado era este: PDO::__construct() [pdo.--construct]: [2002] Invalid argument


Em vários servidores web (geralmente Apache), existe um arquivo de configuração a nível de diretório chamado .htaccess. A utilização deste arquivo permite o gerenciamento descentralizado do seu servidor, permitindo que se aplique configurações personalizadas a nível de servidor para cada diretório (site) do seu server.

Em outras palavras...

Você pode colocar configurações do Apache dentro deste arquivo para que somente o site em questão "entenda" essas configurações.


Olá, hoje registrarei uma dica de como resolver um probleminha chato que pode ocorrer durante o desenvolvimento de uma aplicação Flex + PHP.

O erro descrito na imagem abaixo, ocorreu quando o Flex se comunicava com o PHP através do AMFPHP.

O erro nos diz que não foi possível fazer a inclusão de uma classe (PHP) embora ela exista.


Hoje mostrarei uma forma extremamente fácil e rápida de criar uma navegação por abas em páginas web.

Veja aqui como vai ficar o exemplo do tutorial finalizado (caso as abas não apareçam, é algum problema com esse servidor gratuito que eu arranjei, rs).

Printscreen das abas:


Utilizaremos neste tutorial jQuery UI. O jQuery UI fornece abstrações de baixo nível de interação e animação, efeitos avançados de alto nível, widgets personalizáveis, construídos em cima da jQuery JavaScript Library, que você pode usar para construir aplicações web altamente interativas (jQuery UI).

Para realizar este tutorial precisaremos da lib jQuery versão 1.4.2, jQuery UI versão 1.8.2 e do css da jQuery UI para montar as abas.

Todos estes arquivos e o projeto realizado neste tutorial, você pode baixar aqui.

Caso prefira fazer os passos do tutorial, baixe o arquivo do projeto e separe em um diretório os arquivos:

  • jquery-1.4.2.min.js
  • jquery-ui-1.8.2.custom.min.js
  • css/smoothness/*


Já vi vários programadores PHP apanhando para fazer um simples envio de valores via checkbox, portanto, vou deixar registrado aqui a simplicidade de se implementar esta funcionalidade.

Crie uma página HTML com alguns checkbox. Coloque a propriedade "name" dos checkbox com o nome de chk[]. Na propriedade "value" coloque qualquer valor.


Olá!

Este é o segundo de dois tutoriais destinados a iniciantes na tecnologia Java para web.

Os tutoriais que compõe esta série estão a seguir:


Este tutorial irá mostrar como criar o famoso “Hello World” em JSF e RichFaces. Partirei do ponto que você já tem o ambiente de desenvolvimento configurado corretamente, conforme o tutorial que precede este: Iniciando em JSF e RichFaces – Instalação e Configuração do Ambiente (Parte I).


Olá!

Este é o primeiro de dois tutoriais destinados a iniciantes na tecnologia Java para web.

Os tutoriais que compõe esta série estão a seguir:


Antes de começarmos, vamos dar uma breve definição sobre o que é JSF e RichFaces.

  • JavaServer Faces (JSF) é um framework  MVC para o desenvolvimento de aplicações Web, que permite o desenvolvimento de aplicações para a internet de forma visual, ou seja, arrastando e soltando os componentes na tela (JSP), definindo propriedades dos mesmos, etc. Mais informações no Wikipédia.
  • RichFaces é uma biblioteca de componentes open source para aplicações web que trabalha com a framework JSF. Com ela, podemos fazer uma fácil integração de Ajax com as aplicações. Mais informações no Wikipédia.

Para este tutorial, utilizaremos os seguintes programas/ferramentas:

Nota: As versões dos programas abaixo listados, foram testados e são compatíveis entre si. Caso venha a instalar uma outra versão, verifique se existe compatibilidade entre as ferramentas.


Primeiramente baixe o eclipse e descompacte o arquivo no seu computador. Em seguida, acesse o diretório e execute o eclipse.

img1


tomcat0

Se você pretende rodar aplicações web feitas em Java, um servidor que “entenda” a linguagem é necessário, e este tutorial visa justamente ajudar os iniciantes que desejam se aventurar nesta área.

O Tomcat é um servidor web Java, mais especificamente, um container de servlets. Embora o Tomcat possua características de um servidor de aplicação, não pode ser considerado um, já que não preenche alguns requisitos específicos. Para maiores informações, consulte o Wiki.


Fica registrado aqui mais uma dica encontrada durante o processo de desenvolvimento de sites.

Este dica é referente a um erro encontrado e solucionado por Neil Tanaka, coordenador chefe da equipe de desenvolvimento do local onde trabalho, durante análises a um antigo site.

Descrição do problema: Em um site comum (PHP), existe um painel de login dentro de um iframe. Este arquivo que faz o login do usuário é chamado dentro do iframe, e ele envia para si mesmo, os dados do formulário de login. Ao validar um usuário, o arquivo abre uma janela popup. Esta janela popup, verifica se existe uma sessão em PHP antes de exibir o conteúdo. Caso não encontre nenhuma sessão ativa, ela exibe o texto "acesso restrito".
Em navegadores Internet Explorer, a sessão funcionava corretamente. Porém nos navegadores Mozilla Firefox e Google Chrome, a mensagem "acesso restrito" era exibida, indicando que a sessão não foi gravada. No entanto, o fato do Firefox e do Chrome não gravarem a sessão, não era uma regra. Em alguns computadores, a janela popup exibia o conteúdo corretamente, em outro computadores, "acesso restrito".


Se você trabalha com desenvolvimento web ou cuida de servidores com suporte a PHP, é importante que saiba os passos para habilitar ou desabilitar a exibição de erros e warnings para os desenvolvedores.

Os 4 passos para habilitar ou desabilitar a exibição de erros são os mesmos tanto no Windows como no Linux.


Se você trabalha com desenvolvimento de sites, saber como trocar a porta de operação do Apache é essencial, pois além de ser muito simples, pode nos evitar algumas dores de cabeça como conflito de portas na máquina.

Vamos imaginar a seguinte situação: Você está desenvolvendo um site no seu computador pessoal (Windows) e possui instalado e rodando o Skype (programa de comunicação via internet). O Skype é um programa que opera por padrão na porta 80 (a mesma do Apache) ou na 443. Supondo que você não soubesse que o Skype opera na mesma porta que o Apache e tentasse iniciar o Apache, este emitiria um erro, informado que a porta está em uso.

Ao invés de você sair vasculhando seu computador todo, em busca de um programa que esteja rodando da porta 80, você poderia simplesmente trocar a porta de operação do Apache para a 8080! Simples não?!

Este foi só um exemplo, mas é um exemplo real.

Os passos para trocar a porta do Apache são os mesmos tanto no Windows como no Linux.


Você já se deparou com a seguinte situação e ficou se perguntando como fazer isso?

"Queria que quando um usuário entrasse no meu site, fosse redirecionado para meu novo site"

Sim, esta é uma perguntando que acompanha vários desenvolvedores! Nem sempre queremos redirecionar usuários para outros sites, mas as vezes, temos a necessidade de redirecioná-lo para outra página do nosso site.

Outra situação muito comum (embora existam outras formas mais adequadas), é colocar uma página "index.html" dentro de um diretório no servidor para fazer o redirecionamento dos usuários que tentarem acessar essa pasta, não permitindo que seja listado o conteúdo do diretório.


Mas como redirecionar o usuário usando somente HTML?

Utilizaremos a tag META dentro das tags HEAD do nosso HTML, dessa forma:


Olá,

Hoje falarei um pouco sobre como trabalhar com arquivos no PHP.

Para trabalhar com arquivos, precisamos primeiramente abrir um arquivo ou então criá-lo (caso ainda não exista). Para abrir um arquivo, utilizamos o comando fopen(), seguido da letra que representa a opção do modo de abertura (leitura, escrita, leitura e escrita, etc).

A seguir, uma tabela com as opções do modo de abertura de arquivo:


Se você é utilizador da distribuição Linux, Mandriva, e utiliza a versão lançada em 2008 ou anterior, já deve ter notado que não é possível instalar programas e serviços (ssh, apache, etc) utilizando o URPMI sem os cds/dvd de instalação. Isso se deve ao fato que o sistema operacional vem pré-configurado para procurar os programas na fonte de instalação (CDs ou DVD), já que não é todo usuário que tem acesso a internet, porém, isto não impede que o utilizador do sistema o reconfigure para procurar os programas diretamente da web.

Para configurar as mídias on-line, é necessário acessar o site do easyurpmi: http://easyurpmi.zarb.org/



Quem trabalha com desenvolvimento web sabe a dificuldade que é criar páginas que sejam visualizadas corretamente na maioria dos navegadores.

Dentre os navegadores utilizados hoje, sem dúvida, o mais "temido" de todos é o nosso querido Internet Explorer (em especial versão 6). É incrível como praticamente tudo dá bug nele! (E quem é desenvolvedor sabe do que estuo falando!)

Um dos problemas do qual vi alguns programadores penando para resolver foi deixar desabilitado a tag  <option> de um combobox (<select>) no IE6.

Com algumas pesquisas na internet achei esta solução em um site americano, que utiliza jQuery, e foi a maneira mais fácil de resolver o problema que encontrei (e também a que utilizou menos código para isso!).


As unidades de medida para controle de tráfego no Linux tem uma pequena diferença em relação a que conhecemos. Isso se deve ao fato de que a base de cálculos para controle de tráfego é decimal, diferente de quando medimos mémória ou processamento, quando a base é binária.

A tabela a seguir contém as unidades usadas nas versões atuais das ferramentas de controle de tráfego e seu significado correspondente.

Nota: As ferramentas de controle de tráfego citadas são referentes ao Mandriva Linux.


Unidade
Valor
1kbps
1.000 bytes/s
1kibips
1.024 bytes/s
1bps
1 byte/s
1kbit
1.000 bits
1kibit
1.024 bits
1b ou 1
1 byte
1Mbps
1.000kbps
1MiBps
1.024kbps










Recentemente me deparei com um problema aparentemente simples, mas que me custou mais tempo do que o previsto para resolvê-lo por falta de um material mais claro e direto para auxílio que pudesse ser encontrado na web.

Como agora já desvendei a solução do problema, resolvi deixar registrado esta dica aqui no blog para que outros programadores não percam tempo.

Caso deseje enviar algum dado criptografado do Flex para uma outra linguagem (como o PHP) que trabalhe no server-side da aplicação, podemos utilizar o algoritmo de hash MD5.

Nota: Para este tutorial estou utilizando o Adobe Flex Builder 3.

A método responsável por fazer a criptografia é a MD5.hash(), passando como parâmetro a string a ser codificada. O Flex não vem nativamente com a biblioteca que contém esta função, como tantos outros pacotes que já vem inclusos como o mx, flash e com.adobe, portanto, é necessário baixar a lib as3corelib.swc, que pode ser obtido através deste link: http://as3corelib.googlecode.com/files/as3corelib-.92.1.zip

Após baixar o arquivo zip e extrair, verá que o arquivo continha 2 diretórios. Acesse o diretório as3corelib-.92.1/ e em seguida o diretório lib/. Dentro do diretório lib/ encontra-se o arquivo que precisamos: as3corelib.swc! Copie este arquivo para dentro do diretório libs/ do seu projeto Flex.

Agora dentro do Flex Builder, clique nas propriedades do projeto. A seguir, clique em Flex Build Path no menu (passo 1), depois na aba Library path e no diretórios libs (passo 2), e por fim, clique no botão “Add SWC..” (passo 3), localize o arquivo as3corelib.swc que copiamos e clique no botão “OK”.


Figura 1 - Etapas de anexo da lib ao projeto


O Flex Builder dará um build no workspace e então poderemos utilizar o MD5.

Para utilizar o método precisamos importar a classe MD5, usando a seguinte linha no Action Script:
import com.adobe.crypto.MD5;
Pronto!!! Já podemos criptografar qualquer string. Segue um exemplo de como criptografar:
var cript:String = MD5.hash(senha.text);
Espero que façam bom proveito!
:-)