Howto: Querys mais simples em PHP.

Uma dica do Fábio Vedovelli de como você pode fazer para simplificar suas querys em PHP, vejamos.

Digamos que você tem um formulário extenso, onde diversos valores serão gravados no banco, é fácil se enrolar na recuperação dos valores do form e por algum motivo você acaba deixando algo sem preecher e fica quebrando a cabeça pra debugar qual foi o campo que não passado.

Para contornar este tipo de problema, basta ler a variável $_POST, que nada mais é do que um array com os nomes dos campos do form e seus valores, inseridos pelo visitante.

Suponhamos que seu form tenha os seguintes campos: nome, email, cidade e estado. Normalmente você faria da seguinte forma:

$query=”INSERT INTO suatabela (nome,email,cidade,estado) VALUES (‘$nome’,’$emai’l,’$cidade’,’$estado’)”;

Se o seu formulário tiver só esses campos, maravilha. Agora imagine um formulário com uns 50 campos? É bota trabalhão nisso… pois podemos facilmente fazer assim:

foreach($_POST AS $k => $v){
$query1[]=$k;
}
foreach($_POST AS $k => $v){
$query2[]=”‘$v'”;
}
$query=”INSERT INTO suatabela (“.implode(“,”,$query1).”) VALUES (“.implode(“,”,$query2).”)”;

Com isso, o nome dos campos do form serão inseridos, todos separados por vírgula dentro dos primeiros parênteses e seus valores inseridos também separados por vírgula dentro dos segundos parênteses.

Alguns cuidados a tomar:

1) Os campos na tabela do banco de dados devem ter o mesmo nome dos campos do formulário
2) Se você tiver algum hidden field cujo valor não deve ser gravado no banco, ou melhor, qualquer campo que não se queira que seja gravado no banco deve-se anular este valor ANTES do primeiro foreach, usando:

unset($_POST[’nome do campo’]).

É muito comum anular o nome do input type submit.

Howto: Como fazer backup do Active Directory

Sem dúvida esta ai um assunto que é uma salvação de muitos empregos.

Backup/Restore do Active Directory no Windows 2000/2003

Por Fabiano de Santana, MCP – MCSA 2000 Security – MCSE 2000 Security – MCSA 2003

Quando fazemos o backup do Active Directory, o único tipo de backup suportado é o Normal. Esse tipo de backup faz uma cópia de todos os dados do servidor. Devemos fazer o backup do System State (Estado do Sistema) quando desejarmos fazer o backup do Active Directory.
Read More

Howto: Instalando o PHP 5 no Red Hat Enterprise 4

Mais um howto, agora de como instalar o PHP 5 em uma distribuição do Red Hat Enterprise 4. Note que o PHP 5 não é oficialmente suportado pela Red Hat, então utilize estas dicas por sua conta e risco.
=============================
1º Passo
=============================

Obter os pacotes:
# cd /tmp
# wget http://www.cyberciti.biz/files/lighttpd/rhel4-php5-fastcgi/php-5.1.4-1.esp1.src.rpm
# rpm -ivh php-5.1.4-1.esp1.src.rpm

OBS: Provalvelmente ao tentar instalar este pacote, reportará alguns erros de dependência como:

aspell-devel >= 0.50.0 is needed by php-5.1.4-1.esp1.i386
httpd-devel >= 2.0.46-1 is needed by php-5.1.4-1.esp1.i386
libstdc++-devel is needed by php-5.1.4-1.esp1.i386
pcre-devel >= 4.5 is needed by php-5.1.4-1.esp1.i386
libtool >= 1.4.3 is needed by php-5.1.4-1.esp1.i386

e outros… neste caso você deve resolver tais pendências antes, utilizando o YUM ou o UP2DATE.

# yum install bzip2-devel aspell-devel …. (todos os pacotes com pendência).

# up2date bzip2-devel aspell-devel …. (todos os pacotes com pendência)

=================================
2º Passo – Rebuild pacote RPM para RHEL – 32 bit
=================================

# cd /usr/src/redhat/SPECS
# rpmbuild -bb php.spec

OBS: no meu caso precisei instalar este pacote do rpm-build

Pacote: rpm-build-4.3.3-22_nonptl.i386.rpm (fácil de achar por ai)
# wget http://afs.caspur1.it/afs/italia/project/bigbox/e4/i386/latest/BigBox/RPMS/rpm-build-4.3.3-22_nonptl.i386.rpm

# rpm -ivh rpm-build-4.3.3-22_nonptl.i386.rpm

Ai sim, depois disso pode executar novamente o:

# rpmbuild -bb php.spec

A recompilação irá demorar alguns minutos…

=================================
3º Passo – Instalando os pacotes
=================================

Os pacotes .rpm estarão dentro do diretório: /usr/src/redhat/RPMS/i386

# cd /usr/src/redhat/RPMS/i386
# rpm -Uvh php*

Provavelmente irá reclamar de um pacote chamado php-pear. O pacote que você terá que localizar é o: php-pear-1.4.9-1.2.noarch.rpm

# wget http://hosting.xoxidemods.com/rpms/php-pear-1.4.9-1.2.noarch.rpm

Ai sim, agora você pode rodar novamente:

# rpm -Uvh php*

Ao terminar você já estará com o PHP instalado e configurado com seu Apache.

Fonte:
http://www.cyberciti.biz/tips/how-to-install-php5-redhat-enterprise-linux4.html
http://hosting.xoxidemods.com/rpms/

Howto: Yum no Red Hat Enterprise Linux 4

Depois de um bom tempo sem postar nada nesta categoria de HowTo, segue um tutorial que tive que implementar esta semana.

HowTo: Instalando o YUM no Red Hat Enterprise Linux 4

YUM significa Yellow dog Updater, Modified, trata-se de um software desenvolvido pela Duke University para ser um instalador, atualizador e removedor de pacotes RPM, semelhante ao apt-get do Debian.

Ele trata automaticamente as dependências de arquivos não sendo necessário ficar buscando e instalando as dependências manualmente, lógico que para ele fazer tudo sozinho todas as dependências tem que estar nos repositórios configurados na maquina.

Por padrão o Red Hat não vem com o YUM e sim o Up2date, que só baixa os arquivos dos repositórios oficiais da Red Hat, mediante ao pagamento é claro. Já com YUM não, você pode colocar diversas bases de pesquisa, ficando assim livre do up2date. Vamos la:

==================================
1º Passo – Instalação:
==================================

Baixe e instale a versão do YUM para Red Hat 4. É fácil de ser encontrado na web, basta procurar por: yum-2.4.2-0.4.el4.rf.noarch.rpm

Para fazer a instalação basta rodar o:
# rpm -hiv yum-2.4.2-0.4.el4.rf.noarch.rpm

Bem, pode acontecer alguns problemas de dependências, como:

Error: Failed dependencies:
python-elementtree is needed by yum-2.4.2-0.4.el4.rf.noarch
python-sqlite is needed by yum-2.4.2-0.4.el4.rf.noarch
urlgrabber is needed by yum-2.4.2-0.4.el4.rf.noarch

Então será necessário instalar estes outros pacotes (que também é fácil achar pela web). Vou colocar aqui uns links da onde eu baixei, mas quando você for fazer, pode não estar ativos, ai você pode localizar pelo google o nome do pacote:

Pacote: python-elementtree-1.2.6-7.el4.rf.i386.rpm
wget ftp://194.199.20.114/linux/dag/redhat/el4/en/i386/dag/RPMS/python-elementtree-1.2.6-7.el4.rf.i386.rpm
# rpm -hiv python-elementtree-1.2.6-7.el4.rf.i386.rpm

Pacote: python-sqlite-1.0.1-1.2.el4.rf.i386.rpm
wget ftp://194.199.20.114/linux/dag/redhat/el4/en/i386/dag/RPMS/python-sqlite-1.0.1-1.2.el4.rf.i386.rpm
# rpm -hiv python-sqlite-1.0.1-1.2.el4.rf.i386.rpm

Pacote: python-urlgrabber-2.9.7-1.2.el4.rf.noarch.rpm
wget ftp://194.199.20.114/linux/dag/redhat/el4/en/i386/dag/RPMS/python-urlgrabber-2.9.7-1.2.el4.rf.noarch.rpm
# rpm -hiv python-urlgrabber-2.9.7-1.2.el4.rf.noarch.rpm

Pronto, já está instalado, porém sem repositórios para fazer as buscas.

==================================
2º Passo – Configuração:
==================================

Vamos criar os arquivos a seguir, lembrando que todos dentro do /etc/yum.repo.d
Arquivo com nome dag.repo:

[dag]
name = Dag
enabled = 1
baseurl = http://dag.freshrpms.net/redhat/el4/en/$basearch/dag/
http = //ftp.heanet.ie/pub/freshrpms/pub/dag/redhat/el4/en/$basearch/dag/
gpgcheck = True

Arquivo com nome dries.repo:

[dries]
name=Extra RedHat EL 4 rpms dries – $releasever – $basearch
baseurl=http://apt.sw.be/dries/redhat/el4/en/$basearch/dries/RPMS
gpgcheck=1
enabled=1
gpgkey=http://dries.ulyssis.org/ayo/RPM-GPG-KEY.dries.txt

Arquivo com nome livna.repo:

[livna]
name=Fedora Core 4 – i386 – livna
baseurl=http://rpm.livna.org/fedora/4/i386/RPMS.lvn
failovermethod=priority

E por último o arquivo jpackage.repo:

[jpackage-generic]
name=JPackage (free), generic
mirrorlist=http://www.jpackage.org/jpackage_generic.txt
failovermethod=priority
gpgcheck=1
gpgkey=http://www.jpackage.org/jpackage.asc
enabled=1

Seguindo a mesma linha iremos montar o repositório dos arquivos liberados pela Red Hat e reunidos no projeto CentOS.

Criar um arquivo dentro do /etc/yum.repo.d com o nome de centos.repo:

[base]
name=CentOS-$releasever – Base
baseurl=http://mirror.centos.org/centos/4/os/i386/
gpgcheck=1

[updates]
name=Red Hat Linux $releasever – Updates
baseurl=http://mirror.centos.org/centos/4/os/i386/
gpgcheck=1

Criar um outro arquivo

Vamos rodar:

# yum clean all

Ele irá limpar todas as entradas do “banco de dados” do yum.

# yum check-update

Depois de alguns minutinhos o yum já foi em todos os repositórios, fez as conexões e montou um banco de dados com os arquivos que estão disponíveis para serem baixado da forma como conhecemos o Linux, LIVRE.

Fontes:
http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=6581
http://www.lupaworld.com/24527/viewspace_3008.html
http://www.sk360.info/wiki/articles/7/1/Install-yum-on-RHEL4/Page1.html
http://maimon-it.blogspot.com/2005/06/install-yum-on-redhat-enterprise-linux.html

Howto – Integrando TinyMCE com FCKEditor em JSP

FCKEditor e TinyMCE são editores HTML (WYSIWYG) muito poderosos. Que permitem serem integrados em sistemas adminstrativos de maneira muito satisfatória.

Entretando, o FCKEditor é muito grande, e o TinyMCE não possui um administrador de uploader livre (Ibrowser só funciona com PHP). Precisei implementar um sistema de notícias com características de upload de imagens na própria edição, foi então que encotrei o TinyFCK, como seu nome mesmo diz, é uma integração do TyneMCE com o admnistrador de upload do FCKEditor.

Realizei a integração com JSP com sucesso. Vamos as etapas:

Read More

Howto – Configurando Acesso ao VNCServer em RedHat e Derivados

::==========================================::
CONFIGURANDO ACESSO AO VNCSERVER NO RED HAT
::==========================================::

Inicie o serviço com:
#service vncserver start

Feito isso, ele vai pedir para ser definido um usuário e senha para acesso ao vnc.
Lembrando que ao definir uma senha, automaticamente será para o usuário que esta logado, ou seja:
Pra definir senha pro usuário root, para usuário comum precisa estar logado como tal, executar:
#vncpasswd

depois digite:

#vncserver

Vai aparecer algo como isto:

New 'server.dominio.com.br:2 (usuario)' desktop is server.dominio.com.br:2
Creating default startup script /home/usuario/.vnc/xstartup
Starting applications specified in /home/usuario/.vnc/xstartup
Log file is /home/usuario/.vnc/usuario.dominio.com.br:2.log

Ou seja, já esta configurado o acesso via vnc a nosso servidor, agora você vai testar com um cliente de VNC (vncviewer) e digitar a maquina seguida da porta que foi gerada no start do serviço, ou seja, você coloca assim: server.dominio.com.br:2 ou pelo IP do servidor, sempre colocando a porta, e pronto.

HowTo – Configurando layout do teclado no Linux

Trocando o layout do teclado.

Segue a solução para acentuação.

Edite o arquivo /etc/profile como super usuário e inclua a linha abaixo para resolver o problema do layout US com deadkeys (sem cedilha):

Setando o layout do teclado para US com deadkeys
# setxkbmap -model pc104 -layout us_intl -variant basic

Para setar o layout para abnt2, segue a linha a ser incluída no arquivo /etc/profile:
Setando o layout do teclado para ABNT2
# setxkbmap -model pc104 -layout br -variant abnt2

Também é possível fazer em tempo de execução, digitando os comandos acima diretamente na console.