Depois do script que envia e-mail, vamos fazer um outro que guarde as informações de um formulário HTML em um banco de dados.
Vamos usar o MySQL como banco de dados. Sugiro que você dê uma olhada no site http://www.tcx.se e leia um pouco sobre este servidor SQL. Vale a pena, pois ele é muito bom.
Funções
As funções no PHP não diferem muito das outras linguagens. Algumas características das funções:
• Devem ser declaradas antes de serem usadas.
• Podem receber parâmetros por valor ou por referência.
• Podem ter quantidade variável de parâmetros (Apenas a partir da versão 4).
• Os parâmetros podem ser declarados com um valor default.
• Uma vez definida, uma função não poderá ser "redefinida".
Alguns exemplos de funções:
/*
Esta função retorna TRUE ou FALSE, dependendo da validade ou não do e-mail informado.
*/
function verifica_email($email){
if strpos ($email, "@") = 0 {
return false;
} else {
return true;
}
}
/*
Neste exemplo calculamos o valor líquido, tendo o valor bruto e o desconto a ser aplicado. Se o desconto não for informado, utilizaremos 10% como padrão.
*/
function valor_liquido($valor_bruto, $desconto = 10) {
return ($valor_bruto - ($valor_bruto * $desconto/100));
}
Os dois exemplos acima receberam seus parâmetros por valor. Isso significa que as alterações de variáveis realizadas dentro da função só terão efeito no contexto da função, e estas mudanças não refletirão no resto do script. Em alguns casos pode ser interessante que os valores dos parâmetros sejam alterados pela função, e que seus novos valores reflitam no script como um todo. Para conseguir isto, usamos a técnica de passagem de parâmetro por referência. Vamos ver um exemplo:
function completaURL(&$v_URL) {
$v_URL .= "http://".$v_URL;
}
$URL = "www.ibestmasters.com.br";
completaURL($URL);
echo "A URL completa fica assim: $URL\n";
Daqui a pouco vamos ver um pouco mais sobre funções.
Strings
No módulo 2, foram vistas algumas operações com string. Vamos completar com estas, que são muito úteis no uso com banco de dados e para formatar a saída HTML:
• addslashes(str):
Esta função insere uma barra antes dos caracteres ', ", \ e NULL. Deve ser usada para formatar valores que serão inseridos em um banco de dados, pois estes caracteres, em especial o primeiro, podem causar erros no momento da inserção
Exemplo:
$sql = "insert into dados (produto, descricao) values ('".addslashes($prod) . ", '".addslashes($descr). "')";
Usando a função addslashes teremos certeza que a variável $sql estará formatada de acordo com a especificação da cláusula INSERT INTO. Se alguma das variáveis ($prod ou $descr) possuir acima, a função cuida de inserir uma barra (\) antes deles, para que a sentença seja entendida pelo banco.
• htmlspecialchars(string):
Função muito útil, pois "traduz" alguns caracteres nos seus equivalentes em HTML, conforme a tabela abaixo
Caracter
|
htmlspecialchars()
|
&
|
& amp;
|
|