Enviando E-mail com PHP

mais uma aula do professor Luis Azevedo

<?php
//Para quem vai ser enviado o email
$para = "seu-email@dominio.com.br";
//resgata o nome digitado no formulário e grava na variavel $nome
$nome = $_POST['nome'];
//resgata o assunto digitado no formulário e grava na variavel $assunto
$assunto = $_POST['assunto'];

//mensagem que vai ser enviado no e-mail
$mensagem = "<strong>Nome: </strong>".$nome;
$mensagem .= "<br> <strong>Mensagem: </strong>".$_POST['mensagem'];

//hader para o e-mail ir com codificações corretas e tudo mais.
$headers = "Content-Type:text/html; charset=UTF-8\n";
$headers .= "From: dominio.com.br<sistema@dominio.com.br>\n"; //Vai ser mostrado que o email partiu deste email e seguido do nome
$headers .= "X-Sender: <sistema@dominio.com.br>\n"; //email do servidor que enviou
$headers .= "X-Mailer: PHP v".phpversion()."\n";
$headers .= "X-IP: ".$_SERVER['REMOTE_ADDR']."\n";
$headers .= "Return-Path: <sistema@dominio.com.br>\n"; //caso a msg seja respondida vai para este email.
$headers .= "MIME-Version: 1.0\n";

mail($para, $assunto, $mensagem, $headers); //função que faz o envio do email.
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Enviando email pelo PHP - LuizAzevedo.com.br</title>
</head>

<body>
<form id="form1" name="form1" method="post" action="">
  <table width="500" border="0" align="center" cellpadding="0" cellspacing="2">
    <tr>
      <td align="right">Nome:</td>
      <td><input type="text" name="nome" id="nome" /></td>
    </tr>
    <tr>
      <td align="right">Assunto:</td>
      <td><input type="text" name="assunto" id="assunto" /></td>
    </tr>
    <tr>
      <td align="right">Mensagem:</td>
      <td><textarea name="mensagem" id="mensagem" cols="45" rows="5"></textarea></td>
    </tr>
    <tr>
      <td colspan="2" align="center"><input type="submit" value="Enviar" /></td>
    </tr>
  </table>
</form>
</body>
</html>

Colorindo tabela cor sim cor não no PHP

Codigo de professor Luis Azevedo

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Colorindo Linha Sim / Linha não - LuizAzevedo.com.br</title>
</head>

<body>

<table width="100%">

<?php    $linha = 0;
 for($i = 0; $i <= 20; $i ++){

 //Cor usada -> #33CCFF
 ?>
 <tr bgcolor="<?php if($linha % 2){ echo "#33CCFF"; }  ?>">
 <td>
 <?= $i ?>
 </td>
 </tr>

<?php $linha ++; } ?>

</table>

</body>
</html>

Algumas Formatações do PHP

Formatando Data e Hora do Mysql para PT-BR

<?php echo date( 'd/m/Y H:i', strtotime( $row_rsNoticias['strNotDateCad'])); ?>

Formatando Moeda do MYSQL para PT-BR

<?php
$numero = 5000;
echo 'R$ ' . number_format($numero , 2 , ',' , '.');
// iria imprimir R$ 5.000,00
?>

Limitando a quantidade de caracteres a ser exibida

<?php
//Sem a Formatação:
echo $row_rsComentarios['strComText'];

//Com Formatação:
echo substr( $row_rsComentarios['strComText'], 0, 50);
?>

Adicionando dias a uma data

<?php
//Variavel da data atual no formato MYSQL
$dataInicial = date('Y-m-d');

/*
//Pegar a hora agora
echo strtotime("now");

//Usando uma data textual
echo strtotime("10 September 2000");

//Adicionar um dia
echo strtotime("+1 day");

//Adicionar uma semana
echo strtotime("+1 week");

//Adicionar uma semana, dois dias, quatro horas e dois segundos
echo strtotime("+1 week 2 days 4 hours 2 seconds");

//Buscar por dia da semana, próxima quinta
echo strtotime("next Thursday");

//Buscar por dia da semana, última segunda
echo strtotime("last Monday");

//Pegar data de hoje e adicionar 10 dias
$now = strtotime("now");
echo strtotime("+10 day",$now);
*/

//Somando 30 dias na data atual
$data_vence = date("d/m/Y", strtotime("+30 day",strtotime($dataInicial)));

//Recuperando a data já somada os 30 dias
echo $data_vence
?>

Favicon – Icone do site no navegador

Para ter aqueles icones que ficam no navegador quando você coloca um site nos favoritos
é preciso ter ter um icone no tamanho de 16×16
com o nome de favicon.ico em seu site diretório principal http://www.seusite.com.br/

depois coloque isso no seu html

<HEAD>
<link rel="shortcut icon" href="favicon.ico">
</HEAD>

Pronto !

Codificação no PHP

Passeando a algum tempo pela internet, peguei este código em algum site que não me lembro qual foi, por isso não vou deixar os créditos, caso este código seja seu entre em contato comigo que vou colocar os créditos.

<?php
/*##########################################
MD5

A primeira que vou falar é sem dúvida a mais comum,
chama md5 que é um algoritmo de um hash de 128 bits.
Não vou tentar explicar o que é hash nem algoritmo agora…
Só vou explicar como você pode usar o md5 na sua aplicação.

O md5 gera uma string alfa-numérica de 32 caracteres,
não importa se você tá gerando o md5 de duas letras ou de um
texto de 20 parágrafos… O md5 gerado sempre vai ter 32 caracteres.

Você pode usar o md5 na hora de salvar um dado sigiloso (senhas) o banco…
Com isso, ninguém tem acesso à senha original do cliente.
Depois é só comparar o md5 do que foi digitado no campo senha
(na hora do login) com o que está armazenado no banco, se bater, tá tudo certo.

Infelizmente o md5 tem um “problema”… Você pode, com muita dificuldade
(preste atenção: muita dificuldade), gerar dois md5 iguais.
Duas strings diferentes que acabem como um mesmo md5.
Isso é raríssimo, mas pode acontecer.

Pra usar o md5 no PHP é só usar da seguinte forma:

##########################################*/

$string = 'O rato reu a ropa do rei de Roma';
$codificada = md5($string);
echo "Resultado da codificação usando md5: " . $codificada;
// 54cf74d1acdb4037ab956c269b63c8ac

/*#######################################
SHA1

A outra criptografia de mão única é o sha1.
Ele é praticamente identico ao md5, só que tem 160 bits,
o que acaba criando uma string-resultado maior:
40 caracteres alfa-numéricos.
Outro ponto do sha1 é que, por ser 160 bits e gerar uma cadeia de caracteres maior,
uma colisão (encontrar duas strings que, criptografadas, sejam a mesma coisa)
é bem mais rara que numa chave de 128bits.

Usar o sha1 no PHP é exatamente a mesma coisa que o md5, só que mudando o nome da função:

#########################################*/
$string = 'O rato reu a ropa do rei de Roma';
$codificada = sha1($string);
echo "Resultado da codificação usando sha1: " . $codificada;
// b186b709f7cf5a1d98d413379a66e511df8d59a4

/*############################################
BASE64

Essa criptografica eu gosto muito…
Se chama base64 e é um método para codificação dos dados para transferência na Internet.
Ela é uma codificação de mão dupla, e usando uma segunda função você pode descobrir a
string original de uma string codificada.

Para usar ela no PHP você tem as duas formas:
#############################################*/

$string = 'O rato reu a ropa do rei de Roma';

$codificada = base64_encode($string);

echo "Resultado da codificação usando base64: " . $codificada;
// TyByYXRvIHJldSBhIHJvcGEgZG8gcmVpIGRlIFJvbWE=

echo "<br /><br />";

$original = base64_decode($codificada);

echo "Resultado da decodificação usando base64: " . $original;
// O rato reu a ropa do rei de Roma

// Note que $original vai ser idêntica a $string
/*

*/
?>

Formatando Moeda do MYSQL para o Formato BRASIL

Para formatar um numero do formato americano (padrão MYSQL) para o Português BR, você pode usar o number_format

Sintaxe:
number_format($variavel_com_numero, int casa decimais, separador decimal , separador de milhares);

ex:

<?php
$num = 100000.50;

// repare que o padrão é no formato americano
echo 'R$' . number_format($num, 2); // retorna R$100,000.50

// nosso formato
echo 'R$' . number_format($num, 2, ',', '.'); // retorna R$100.000,50

//formato americano
echo 'R$' . number_format($num, 2, '.', ','); // retorna R$100,000.50
?>

Gerando um arquivo XML apartir do PHP com Resultado do MYSQL

Aprendendo a gerar um xml apartir do php

<?php
/*Faz a conexão com o banco de dados*/
require_once('conexao.php');
mysql_select_db($database_conexao, $conexao);

/*Busca os dados no banco de dados*/
// Montando a query
$query_rsGeraXML = "SELECT * FROM tabela ORDER BY IDCata ASC";
// Executando a query
$rsGeraXML = mysql_query($query_rsGeraXML, $conexao) or die(mysql_error());
$row_rsGeraXML = mysql_fetch_assoc($rsGeraXML);
$totalRows_rsGeraXML = mysql_num_rows($rsGeraXML);

/*Abre um arquivo cahamdo imagens.xml, como estou tentando abrir com o w+, se o arquivo não existir haverá a tentativa de criar ele*/
$vai_xml = fopen("imagens.xml","w+");

/*Gravamos os dados iniciais do xml*/
fwrite($vai_xml,'<?xml  version="1.0" encoding="ISO-8859-1"?>
<book pw="450" ph="585" linkborder="999999" linkcolor="999999" has_disabledlinks="0" has_toolbar="1" has_shadow="1" has_cover="1" has_nav="" autosize="1" >
<chapter name="default">
<blank/>

');

/*Looping para pegar os dados no banco de dados*/

do
{
    // varivel do ID
	$id       = $row_rsGeraXML['IDCata'];
	// variavel da imagem
	$imagem   = $row_rsGeraXML['ImagemCata'];

	// o conteudo do XML
	$conteudo  = "<page name=\"\" page_id=\"$id \" page_toc=\"\" cover=\"false\" page_num=\"0\" media_id=\"images/upload/thumbnails/$imagem\" media_width=\"450\" media_height=\"506\">
<zoom media_id=\"images/upload/$imagem\" media_width=\"1024\" media_height=\"1152\"/>
</page>

";
    // escrevendo o conteudo no arquivo XML
	fwrite($vai_xml,$conteudo);
// Terminando o while
} while ($row_rsGeraXML = mysql_fetch_assoc($rsGeraXML));

/*Fecho da estrutura do xml*/
fwrite($vai_xml,"<blank/>
</chapter>
</book>");

/*Fecha o arquivo aberto (não é necessário, mas é bom*/
fclose($vai_xml);

/*Fecha a conexão com o banco de dados*/
mysql_close($conexao);

?>

Criando uma paginação com PHP e Mysql

Vamos criar uma paginação do tipo (primeira página – 1 | 2 | 3 | 4 – última página)


<?php
//Conexão com o Banco de Dados
require_once('conexao.php');

// Começando a Paginação

// Quantidade de registros a ser mostrados
$quantidade = 12;

// Verificando se existe $_GET['pagina'], caso não exista atribuimos o valor 1 a ele
$pagina     = (isset($_GET['pagina']) ? (int)$_GET['pagina'] : 1);

// Fazendo um conta para saber apartir de qual registro ira começar a paginação
$inicio     = ($quantidade * $pagina) - $quantidade;

//Selecionamos o banco de dados
mysql_select_db($database_conexao, $conexao);

// Montamos a query e colocamos as variaveis criada no LIMIT do mysql para mostrar os registros
$query_rsFotos = "SELECT * FROM tabela ORDER BY ID DESC LIMIT $inicio, $quantidade";

// executamos a query
$rsFotos = mysql_query($query_rsFotos, $conexao) or die(mysql_error());
$row_rsFotos = mysql_fetch_assoc($rsFotos);
$totalRows_rsFotos = mysql_num_rows($rsFotos);

// Agora precisamos verificar a quantidade de registros
// Montamos a query
$sqlTotal    = "SELECT ID FROM tabela";

// Executamos a query
$qrTotal     = mysql_query($sqlTotal, $conexao) or die(mysql_error());

//recuperamos o total de registros
$numTotal    = mysql_num_rows($qrTotal);

// Aqui faremos uma conta, pegamos o total de registro e dividimos pela quantidade de registros que 

queremos mostrar e usamos a função ceil para arredondar o resultado
$totalPagina = ceil($numTotal/$quantidade);

/********************************************************/

//exibindo a paginação
// Verificamos se o total de paginas é maior que 1, se for vamos mostrar a paginação
if ($totalPagina > 1) {
// Criando o link para a página 1
echo "<a href=\"?pagina=1\">Primeira Página</a> - ";

// vamos começar um for para percorrer a quantidade de páginas
for($i = 1; $i <= $totalPagina; $i++){
        // verificamos se esta é a página atual, se for tiramos o link
	if($i == $pagina){
		echo $i . " ";
		} else {
                        // se não for colocamos o link
			echo "<a href=\"?pagina=$i\">$i </a>";
			}
	}
// Criando link para a ultima página
echo " - <a href=\"?pagina=$totalPagina\">Última Página</a>";
// Fim da paginação
} // fim do else

?>

Algumas Variaveis do PHP

<?php
//Retornamos um array do $_SERVER
echo '<pre>';
print_r($_SERVER);
echo '</pre>';
exit;

$server = $_SERVER['SERVER_NAME']; // Retorna o nome do servidor Ex. localhost
$endereco = $_SERVER ['REQUEST_URI']; // Retorna a url atual menos o nome do servidor Ex. /index.php?parametro=valor&para2=valor2
$arquivo = $_SERVER['PHP_SELF']; // Retorna o nome do arquivo atual Ex. index.php

echo "http://" . $server . $endereco; // Aqui retornamos a url completa
?>

Adicionando sombra a múltiplas imagens com CSS

Estava passeando pela net procurando alguma coisa sobre sombreamento em imagens, encontrei um tutorial muito legal na infowester, então resolvi compartilhar o link com vocês:
Link: http://www.infowester.com/tut_imagens_sombreadas.php