Programação para a Internet II
2.16. PHP – Vários
PHP – Hypertext Preprocessor
Encriptação de passwords
A forma mais simples de proceder à encriptação de
passwords é recorrendo à função md5().
Esta função devolve sempre uma chave com 32 caracteres,
independentemente do tamanho original, pelo que se se optar por usar este método, é necessário que o campo optar por usar este método, é necessário que o campo
password na Base de Dados comporte estes 32 caracteres.
Este método é irreversível, ou seja, não é possível
“desencriptar”, pelo que a password guardada na BD terá sempre que ser confrontada com uma password
encriptada.
outras formas de encriptação, poderá ver a função
crypt(), hash().
<?php
$passwd = "xpto15xyz"; $encpass = md5($passwd); ?>
PHP – Hypertext Preprocessor
Enviar mensagens de e-mail
Em inúmeras situações, há a necessidade de
automaticamente (ou não) proceder ao envio de mensagens de e-mail
Tal processo é bastante facilitado em PHP...
No entanto, é necessário ter acesso a um servidor SMTP
Ou instalado na própria máquina
Ou instalado noutra máquina, mas à qual tenhamos acesso
No ficheiro php.ini há que fazer algumas configurações:
SMTP = estgoh.ipc.pt smtp_port = 25
PHP – Hypertext Preprocessor
Enviar mensagens de e-mail
mail(to, subject, message [, headers ] );
<?php $to = "xpto@examplo.com"; $subject = "Assunto "; $msg = "mensagem"; mail($to, $subject, $msg); ?>
PHP – Hypertext Preprocessor
Enviar mensagens de e-mail (cont.)
Exemplos de headers “From:” “CC:” “BCC:” <?php $to = "xpto@examplo.com"; $subject = "Assunto "; $msg = "mensagem"; $from = "xpto1@examplo.com"; $cc = "xpto2@examplo.com"; $bcc = "xpto3@examplo.com";
mail($to, $subject, $msg, "From: $from\r\nCC: $cc\r\nBCC: $bcc\r\n"); ?>
PHP – Hypertext Preprocessor
Redireccionamento
Por vezes existe a necessidade de redireccionar o
utilizador para uma determinada página diferente daquela que foi pedida, fazê-lo em PHP é bastante simples...
<?php
header("Location: nome_do_ficheiro.php");
Dever-se-á prestar atenção ao “L” maiúsculo e ao espaço em branco entre “Location:” e o nome da página.
Convém referir que este pedaço de código não deverá ser executado após fazer um print ou echo...
header("Location: nome_do_ficheiro.php"); ?>
PHP – Hypertext Preprocessor
Tratamento de Excepções
<?php
function exceptionFunction() {
throw new Exception("A lançar uma excepção!"); }
try {
exceptionFunction(); } catch (Exception $e) {
echo "Excepção apanhada!\n"; }
PHP – Hypertext Preprocessor
Estrutura de directorias
Convém que o site seja bem estruturado...
Caso sejam identificados “módulos”, o código destes deverá encontra-se devidamente separado.
Os ficheiros deverão igualmente ser separados em função
Os ficheiros deverão igualmente ser separados em função da sua funcionalidade. Exemplos de directorias
usualmente existentes são:
images
layout
common
locale
PHP – Hypertext Preprocessor
Geração de ficheiros PDF (utilizando a biblioteca
FPDF)
<?php require('fpdf.php'); $pdf=new FPDF(); $pdf=new FPDF(); $pdf->AddPage(); $pdf->SetFont('Arial','B',16); $pdf->Text(10, 10,"Texto"); $pdf->Output(); //$pdf->Output("ficheiro.pdf","F"); ?>PHP – Hypertext Preprocessor
Considerações finais
Antes de começar a codificar, gaste algum tempo com análise, levantamento de requisitos, etc.
Estruture bem o seu código...
Para código usado recorrentemente, pense-se em criar
Para código usado recorrentemente, pense-se em criar
funções
Não complique... Não use programação orientada a
objecto só porque sim... Use-a se realmente trouxer vantagens...
Documente o seu código, ajuda-o a si e a quem possa vir a pegar no seu código de futuro
PHP – Hypertext Preprocessor
Considerações finais
Recorra à documentação... Nomeadamente à
documentação on-line
Lembre-se de não desistir ao primeiro contratempo!
Descanse pelo menos 10 minutos de duas em duas horas! :)