Category Archives: PHP – Truques e Dicas

PHP – Truques e Dicas

PHP – Funções de tratamennto de arrays – Parte 1

Bom dia amigos, iremos ver uma pequena serie de funções standard do PHP para o tratameto de array, ou seja, lista de objetos chaves e seus valores. Se você ver, tudo no PHP é uma coleção de array, desde a consulta a um banco de dados, até a manipulação de arquivos no servidor. Neste post irei falar um pouco da função array_push(), muito útil para adicionar elementos novos em uma array “antiga”.

Função: array_push();
Parâmetros: nome_array e valor;

Exemplo de uso da função array_push();

<?php
$array_antiga = array("maça","pera","melão");
$array_nova = array_push($array_antiga, "melancia","abacate","abacaxi");
print_r($array_nova);
/*
array(6) {
[0]=>string(4) "maça"
[1]=>string(4) "pêra"
[2]=>string(5) "melão"
[3]=>string(8) "melancia"
[4]=>string(7) "abacate"
[5]=>string(7) "abacaxi"
}
*/
?>

Esta é a parte 1 de uma coleção de post sobre array e PHP.

abs
Léo

?>

Imagem de verificação utilizando JPGRAPH

JPGRAPH é uma ferramenta extremamente útil para criação de gráficos de uma maneira rápida, fácil e extremamente eficiente.
Além de uma programação sólida e de fácil entendimento, eles distribuem uma documentação completa, explicando passo a passo de como fazer os gráficos.
Este post demostrará como desenvolver a imagem de verificação utilizando esta poderosa ferramenta

Introdução
Gráficos utilizando JPGRAPH:

Dentre outros que nesse momento não nos importará no momento.

Imagens de Segurança
Em alguns cadastros críticos como fale conosco ou suporte técnico, ou até mesmo cadastrar usuários, temos que ter certeza de que quem esta fazendo o cadastro é uma pessoa, e não algum script a fim de prejudicar seu sistema.
Para isso não ocorrer, ou evitar ao máximo, utilizamos um componente de verificação de caracteres em imagem, ou seja a pessoa deve digitar exatamente os caracteres que estão na imagem, em um input box destinado.

Como disse, o JPGRAPH possui uma funcionalidade que cria essas imagens de um modo fácil sem muita programação.
Por motivos de confusão o JPGRAPH não usa nem a letra “O” nem o número “0″, pois podem ser confudidos.

Iniciando o desenvolvimento
Obviamente é necessário que seja feito o download do componente JPGRAPH para a versão do seu PHP, de preferência a maior versão estável pelo link (Download JPGRAPH).
Feito isso, é necessário colocá-lo na pasta do seu projeto, inicialmente, depois se for melhor para você, pode ser colocado em algum lugar comum para todos seus projetos, ai não é necessário copiar para cada projeto o JPGRAPH.

Iniciando o SPAM CHALLANGE.
Para iniciá-lo você pode incluir somente a biblioteca que a funcionalidade for usar:
require_once “path/to/jpgraph/src/jpgraph_antispam.php”;

Feito isso a classe AntiSpam já estará disponível para seu sistema.
Normalmente por questões de segurança, não guardaremos os caracteres gerados em um campo hidden, iremos gravá-lo em uma sessão, assim ficará acessível à toda a aplicação e ficará dificil de ser quebrada.
Existem 2 tipos de gerar os caracteres de segurança:

Utilizando a propriedade rand($valor)
Utilizando a propriedade set($valor)

rand($valor)
A propriedade rand faz com que sejam gerados caracteres aleatórios na quantidade que foi passado por parâmetro, excluindo o “O” e o “0″, evitando a confução, retornando em uma variável.

set($valor)
A propriedade set faz com que o sistema de segurança coloque exatamente os caracteres que você estipulou, mas neste caso se você digitar um “O” ou um “0″ a imagem não irá aparecer para evitar as confusões, e além é claro de não aceitar caracteres com acento.

Como ficaria o código

{imagemSeguranca.php} Utilizando o rand
require_once "path/to/jpgraph/src/jpgraph_antispam.php";
$spam = new AntiSpam();
$str = $spam->rand(6);
$_SESSION['caracteres'] = base64_encode($str);
$spam->stroke();
?>

Feito isso você pode criar uma página HTML chamando o seguinte:

Retornará pra você a seguinte imagem:

{imagemSeguranca.php} Utilizando o set
require_once "path/to/jpgraph/src/jpgraph_antispam.php";
$spam = new AntiSpam();
$str = $spam->set(‘Fabrica’);
$_SESSION['caracteres'] = base64_encode($str);
$spam->stroke();
?>

Feito isso você pode criar uma página HTML chamando o seguinte:

Retornará pra você a seguinte imagem:

Como foi gravado como base64_encode o caractere da sessão, quando você fizer o POST, basta só fazer isso em qualquer uma das opções escolhidas:

// seu codigo acima….

if($_POST){

if(base64_encode($_POST['digitacao']) == $_SESSION['caracteres']){

// Passou , então faz o cadastro

}else{

// Digitou alguma coisa errado, exibe erro

}

}

Agora é só otimizar seus cadastros com esse novo aprendizado que aqueles spams chatos dificilmente voltarão!

Fonte: http://my.opera.com/artigos/blog/show.dml/2607180

Extend no PHP

Essa encontrei na net, simples exemplo de como criar herança no PHP usando OOP. Daqui a pouco vou postar uma class que estou fazendo no trabalho para conexão ao MySQL.

abs

<?php
abstract class Mamifero
{
    private $habitat;
    private $no_patas;

    protected function setHabitat ($habitat)
    {
    	$this->habitat = $habitat;
    }

    protected function setNoPatas ($integer)
    {
    	$this->no_patas = $integer;
    }
}
?>

setHabitat ('terrestre');
        	$this->setNoPatas (2);
	}

	public function fala ($texto)
	{
        	echo $texto;
	}
}
?>

PHP – Manipulando textos a sua vontade

Olá amigos, tudo bem?
Estou aqui para dar algumas dicas sobre manipulação de textos usando algumas funções do PHP. Vamos lá?

1. strtoupper(); – É usada para formatar um texto qualquer(string) em maiúsculo.
Ex:

<?php
$texto = "Minha casa é muito bonita!";
$novo_texto = strtoupper($texto);
echo $novo_texto;
// O resultado é MINHA CASA É MUITO BONITA!
?> 

Comparando a versão do PHP com outra.

É bem fácil. Caso você precisar comprar a versão correndo do PHP no server você poderá usar esse comando.

version_compare( ’4.3′, phpversion(), ‘>’ ), ou seja, você quer saber se a versão 4.3 é maior que a versão da function phpversion.(). Simples.

Abraços