





Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Encontra documentos específicos para os exames da tua universidade
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Apostilas de Informática sobre MySQL, Principais Características, Estrutura, Sistema de privilégios, Ambiente MySQL, PHP, Operações Matemáticas, Tratando formulários, Funções, Classes.
Tipologia: Notas de estudo
1 / 9
Esta página não é visível na pré-visualização
Não perca as partes importantes!






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(&$mv_URL) { $mv_URL .= "http://".$mv_URL; }
$URL = "www.inf.ufsc.br"; completaURL($URL);
echo "A URL completa fica assim: $URL\n";
Como não poderia deixar de ter, PHP também possui suporte a criação de classes e objetos de forma simples:
class carro {
var $estado; // Estado do carro: ligado ou desligado
function liga() { if ($this->estado != “ligado”) { $this->estado = “ligado”; return true; } else { return false; } } }
$carro1 = new carro; $carro1->liga();
O método construtor da classe (método que é executado quando a classe é criada) é uma função com o mesmo nome da classe:
class Pessoa { var $idade; function Pessoa() { $idade = 0; //Todo objeto desta classe é criado com 0 anos } }
As classes podem herdar características de outras classes. Criando uma classe derivada de uma outra classe, como no exemplo a seguir da criação da classe Aluno, derivada da classe Pessoa:
class Pessoa { var $nome; var $endereço; }
class Aluno extends Pessoa { var $matricula; }
Neste ponto já temos uma conexão com o servidor e já criamos um link com o banco de dados. Agora podemos enviar os comandos SQL que desejarmos. Se você não souber SQL, aprenda :-) Agora segue nosso exemplo prático: Vamos usar o script do módulo passado e alterá-lo de modo que os dados digitados no formulário sejam gravados no banco de dados Curso antes de enviar o e-mail.
if strpos ($email, "@") = 0 { $erro .= "O e-mail digitado não é válido\n"; }
echo("\n"); echo("\n");
if ($erro == "") { $conn = mysql_connect("localhost", "visitante", "temp99"); $db = mysql_select_db("Curso", $conn); $sql = mysql_query("insert into Aluno (Nome, Email, Telefone) values ('".addslashes($nome). "','".addslashes($email)."', '".addslashes($email)."')" or die ("Não foi possível atualizar a tabela"); mysql_close($conn); mail("[email protected]", "Dados do Formulário"," Nome: $nome\n E-mail: $email\n Telefone: $telefone\n","From: $email\nDate: $date\n"); echo("Obrigado por enviar este formulário!\n"); } else { echo("Não foi possível enviar o formulário! Verifique as mensagens abaixo:
\n");
echo("$erro \n"); echo("Voltar\n"); } echo("");
Este é o procedimento padrão para usar servidores de banco de dados com o PHP:
A novidade deste exemplo fica por conta do comando die que finaliza o script caso a função que o precede não possa ser executada.
Algumas vezes pode ser útil que nosso script execute um outro script ou então transfira um arquivo para outro servidor. Para isso, podemos executar comandos HTTP e FTP de dentro do PHP. Veja os exemplos:
HTTP: Podemos fazer, dentro do script PHP, uma chamada a outro script ou programa CGI hospedado em outro servidor. Isto é muito útil quando queremos consultar algum dado em um servidor remoto, ou até mesmo para abrir uma página, usando o protocolo HTTP. Para isso, basta chamar a função Header("location: pagina.htm") para redirecionar para uma página específica ou então o usar o comando abaixo para executar um CGI passando parâmetros via URL:
header("location: http://server/cgi/script.pl?p=". $param);
Onde $param é uma variável que pode vir de uma consulta a banco de dados ou mesmo de um formulário. Outra função HTTP importante é o uso de "cookies" para gravar alguma informação no browser de quem estiver visitando sua página. Para gravar um "cookie", usamos a função setcookie(), como mostrado abaixo:
setcookie("Visitou", "Sim", time()+3600);
que para se manipular arquivos, tem-se que abrir e fechar o arquivo. O PHP possui as seguintes funções para se abrir e fechar arquivos:
Estes modos de abrir o arquivo podem ser os seguintes:
r somente leitura; posiciona-se no início do arquivo.
r+ leitura e escrita; posiciona-se no início do arquivo.
w somente escrita; posiciona-se no início do arquivo e o trunca para tamanho zero. Caso o arquivo não exista o PHP tenta criá-lo.
w+ leitura e escrita; posiciona-se no início do arquivo e o trunca para tamanho zero. Caso o arquivo não exista o PHP tenta criá-lo.
a somente escrita; posiciona-se no final do arquivo. Caso o arquivo não exista o PHP tenta criá-lo.
a+ leitura e escrita; posiciona-se no final do arquivo. Caso o arquivo não exista o PHP tenta criá-lo.
Após abrir um arquivo, pode-se ler o conteúdo ou escrever em seu conteúdo, de acordo com a forma que se abriu o arquivo.
Exemplos:
$nomedoarquivo = "/tmp/teste.txt"; $fp = fopen ($nomedoarquivo, "r"); $contents = fread ($fd, filesize ($nomedoarquivo)); fclose ($fp);
$fp = fopen(“/tmp/teste.txt”, “a”); fwrite($fp, “bla bla bla \n”); fclose($fp);
$fp = fopen ("/tmp/teste.txt", "r"); while ( !feof($fp) ) { $buffer = fgets($fp, 4096); echo “$buffer ”; } fclose ($fp);
Neste último exemplo, pega-se linha a linha de um arquivo e imprime em HTML separando as linhas pela tag “”.
O PHP tem um esquema especial de "debugging" (tratamento e verificação de erros), que é acessado por uma porta TCP, que permite acompanhar a execução dos scripts e ver quaisquer erros que estiverem acontecendo.
Além disso o tratamento de erros pode ser feito no próprio script, conforme explicado abaixo:
O PHP possui 4 níveis de erros e avisos, que são:
1 - Erros de normais de Funções 2 - Avisos Normais 4 - Erro de interpretação 8 - Avisos que você pode ignorar, mas que podem causar danos à execução normal do script.
O padrão do PHP é o nível 7 (1 + 2 + 4), mas este nível pode ser alterado tanto no arquivo de configuração quanto em tempo de execução, chamando a função error_reporting($nivel) com o nível desejado. Se usarmos o valor 0 (zero) nenhum aviso ou mensagem de erro será gerada em tempo de execução. Neste caso, podemos usar uma variável especial ($php_errormsg) que conterá o último erro gerado pelo script, para que possamos criar rotinas específicas para tratamento de erros. Podemos fazer uma analogia ao comando on error resume next do ASP, técnica muito útil para personalizarmos mensagens de erro para o usuário, entre outras coisas.