Olá caro(a) amigo(a), esses dias ando sem tempo pois peguei três projetos de uma vez para fazer, e por isso não elaborei nenhuma coluna para postar aqui, mas embreve estarei postando novidades.

Hoje irei apresentar uma biblioteca simples e muito boa para quem esta começando no php, essa biblioteca chama-se CrisLib e foi desenvolvida por meu amigo Tiago Floriano, e nessa coluna estarei apresentando-a, está bem comentada e facil de entender.


##################
### crisLib - biblioteca de auxilio no desenvolvimento em php
### funções
### - segurança
### - banco de dados
### - arquivos
### - protocolos
### - ajax

##################
### SEGURANÇA

# - Nome: URL ?pagina em vez de ?page=pagina
# - modo de utilização: chamando a função da seguinte forma:
//$path = url($_SERVER['REQUEST_URI" target="_blank">);
//include($path);
function url($uri,$pasta){
if($uri == "/$pasta"){ $uri = "/?home"; }
$uri = explode("?",$uri);
$uri = explode("&",$uri[1]);
$uri = $uri[0];
$arquivo = "pages/".$uri.".php";//pages é o nome da pasta onde ficarão os arquivos internos que guardam o conteúdo, que serão inseridos no arquivo principal, no lugar do conteúdo. Mude para o nome da pasta onde você guarda os arquivos.
if(is_file($arquivo)){
$path = $arquivo;
}else{
$path = "pages/erro.php";
}
return $path;
}

# - Nome: SQL-Injection
function inj($termo){
if(function_exists(mysql_real_escape_string)){
$termo = mysql_real_escape_string($termo);
}else{
$termo = htmlspecialchars($termo);
}
return $termo;  
}

# - Nome: Autentica usuário
function login($usuario,$senha,$tabela_de_usuarios,$tabela_de_sessoes,$destino){
//verifica se o usuário e a senha constam na tabela
$sel = sel($tabela,"usuario = '$usuario' and senha = '$senha'","","");
if(mysql_num_rows($sel) == 0){//se não existir, mostra a mensagem abaixo
echo "Este usuário não existe!";
exit; //encerra a execução do arquivo, não permitindo que o usuário prossiga
}else{
//guarda usuario e senha
$_SESSION["usuario"] = $usuario;
$_SESSION["senha"] = $senha;
//guarda um valor de sessão único para gravar que o usuário está logado
if($tabela_de_controle_de_sessoes != ""){
$_SESSION["idsession"] = date("H") + date("i") + date("s") + date("d") + date("m") + date("Y");
$idsession = $_SESSION["idsession"];
ins("sessao","usuario, senha, sessao, status","'$usuario', '$senha', '$idsession','online'");
}
echo "";
}
}

# - Nome: Desautentica usuário
function logoff($usuario,$senha,$tabela,$tabela_de_sessoes){
if($tabela_de_sessoes != ""){
$sel = sel($tabela_de_sessoes,"usuario = '$usuario and senha = '$senha'","","");

}
}

# - Nome: verifica se o usuário está autenticado
function autentica($tabela,$destino,$tabela_de_sessoes){
$usuario = $_SESSION["usuario"];
$senha = $_SESSION["senha"];
$sel = sel($tabela,"usuario = '$usuario' and senha = '$senha'","","");
if(mysql_num_rows($sel) == 0){
echo "Este usuário não existe!";
exit;
}else{
if($tabela_de_sessoes != ""){
$sessao = sel("sessao","usuario = '$usuario' and senha = '$senha'","","");
if(mysql_num_rows($sessao) == 0){
echo "Você não estã logado!";
echo "";
exit;
}
}
}
}

##################
### BANCO DE DADOS

# - Nome: Conectar ao banco de dados
function con($usuario,$senha){
if(!mysql_connect("localhost",$usuario,$senha)){
echo "Erro ao conectar no db.";
}
}

# - Nome: Selecionando um db
function db($db){
if(!mysql_select_db($db)){
echo "Erro ao selecionar db.";
}
}

# - Nome: Selecionar
function sel($tabela,$condicoes,$ordem,$limite){
$query = "SELECT * FROM $tabela";
if($condicoes != "") {
$query .= " WHERE $condicoes";
}
if($ordem != ""){
$query .= " ORDER BY $ordem";
}
if($limite != ""){
$query .= " LIMIT $limite";
}
$sql = mysql_query($query) or die($erro_select);
return $sql;
}

# - Nome: Paginação
function pag($num_result,$tipo){//$num_result = número de resultados por página / $tipo = numerada ou com botão próximo e avançar

}

# - Nome: Busca interna
function busca($tabela,$campo,$termo,$ordem,$num_result,$tipo){
$query = "SELECT * FROM $tabela WHERE $campo LIKE '%$termo%' ORDER BY $ordem";
$sql = pag($num_result,$tipo);
return $sql;
}

# - Nome: Inserir
function ins($tabela,$campo,$valor){
$query = "INSERT INTO $tabela ($campo) VALUES ($valor)";
if(mysql_query($query)){
$sql = 0;//ok
}else{
$sql = 1;//erro
}
return $sql;
}

# - Nome: Atualizar
function upd($tabela,$dados,$id){
$query = "UPDATE $tabela SET $dados WHERE id = '$id'";
if(mysql_query($query)){
$sql = 0;//ok
}else{
$sql = 1;//erro
}
return $sql;
}

# - Nome: Deletar
function del($tabela,$id){
$query = "DELETE FROM $tabela WHERE id = '$id'";
if(mysql_query($query)){
$sql = 0;//ok
}else{
$sql = 1;//erro
}
return $sql;
}

# - Nome: exibe dados em colunas
function table($tabela,$ordem_de_exibicao,$total_a_ser_exibido,$num_de_colunas){
echo "";
$select_cat = mysql_query("SELECT * FROM $tabela ORDER BY $ordem_de_exibicao DESC LIMIT $total_a_ser_exibido") or die($erro_select);
while($row = mysql_fetch_array($select_cat)){
$cont = $cont + 1;
$numresult = $numresult + 1;
if($cont == 1){
echo "";
}

echo "";

if($cont == $colunas){
echo "";
$cont = 0;
}
if(mysql_num_rows($select_cat) == $numresult && mysql_num_rows($select_cat) < $cont){
$queb = $colunas - $cont;
$num = $num + 1;
while($num < $queb){
echo "";
}
echo "";
}
}
echo "
";

//conteúdo
echo "CONTEUDO";
//fim conteudo

echo "
";
}

##################
### ARQUIVOS

# - Nome: Upload de arquivos
function up($arquivo,$destino,$extensoes){//para permitir todas extensões de arquivos, deixe a $extensoes em branco, se não, informe todas as extensões permitidas

}

# - Nome: Gera miniatura de imagem JPG, porém a idéia é pegar o mime-type do arquivo, ver qual tipo ele é e criar a miniatura de acordo com seu tipo (gif, png, jpg...)
function im($url_imagem,$altura,$largura){
// **** configurações da miniatura *******
$tamanho_fixo = "S";    // S ou N
$largura_fixa = $w;    // usado somente com tamanho_fixo=S
$altura_fixa = $h;    // usado somente com tamanho_fixo=S

$arquivo_miniatura = explode('.', $imagem);
// monta o nome do arquivo resultante
if(!file_exists($arquivo_miniatura[0]."_mini.jpg" or ImagesX($imagem) != $w)){
$arquivo_miniatura = $arquivo_miniatura[0]."_mini.jpg";

// lê a imagem de origem e obtém suas dimensões
$img_origem = ImageCreateFromJPEG($imagem);
$origem_x = ImagesX($img_origem);
$origem_y = ImagesY($img_origem);

// se não for tamanho fixo, calcula as dimensões da miniatura
if($tamanho_fixo=="S")
{
$x = $largura_fixa;
$y = $altura_fixa;
}
else
{
$x = intval ($origem_x * $percentual/100);
$y = intval ($origem_y * $percentual/100);
}

// cria a imagem final, que irá conter a miniatura
$img_final = ImageCreateTrueColor($x,$y);

// copia a imagem original redimensionada para dentro da imagem final
ImageCopyResampled($img_final, $img_origem, 0, 0, 0, 0, $x+1, $y+1, $origem_x , $origem_y);

// salva o arquivo
ImageJPEG($img_final, $arquivo_miniatura);

// libera a memória alocada para as duas imagens
ImageDestroy($img_origem);
ImageDestroy($img_final);
$imagem = $arquivo_miniatura;
}else{
$arquivo_miniatura = explode('.', $imagem);
$arquivo_miniatura = $arquivo_miniatura[0]."_mini.jpg";
$imagem = $arquivo_miniatura;
}
return $imagem;
}

# - Nome: Exibe arquivos de uma pasta
function pasta($diretorio){

}

# - Nome: Edita arquivo
function arq($arquivo){

}

##################
### PROTOCOLOS

# - Nome: envia E-mail
function sendmail($destino,$assunto,$mensagem,$remetente,$tipo,$protocolo){//o $tipo é se o e-mail é html ou somente texto, o $protocolo é se é usando a função mail ou smtp

}

# - Nome: Criar conta de e-mail no cPanel
function criamail($email,$senha){

}

# - Nome: Deleta e-mail do cPanel
function delmail($email,$senha){

}

##################
### PLUGINS
/*
para adicionar novas extensões, adicione as seguintes linhas abaixo:

if(file_exists("./plugin/nomedoarquivo.php")){
include("./plugin/nomedoarquivo.php");
}

*/


# - Nome: pesquisa domínios nacionais e internacionais com detalhes de whois ou não
# - Notas: este plugin foi retirado e adaptado do script http://www.phpbrasil.com/scripts/script.php/id/1170
if(file_exists("./plugin/whois.php")){
include("./plugin/whois.php");
}

# - Nome: previsão do tempo
# - Notas: estou procurando a origem deste script, caso o autor apareça, por favor, entre em contato para que eu possa colocar os créditos aqui.
if(file_exists("./plugin/previsao_tempo.php")){
include("./plugin/previsao_tempo.php");
}
?>


Download da Biblioteca + Plugins.

Ta aí, qualquer dúvida pode perguntar que respondo, embreve estarei postando mais colunas!