720 likes | 978 Views
Capítulo I. Utilizando o PHP. PHP e MySQL. Material Livro: PHP e MySQL – Desenvolvimento Web Autores:Luke Welling, Laura Thomson Edição: Tradução da Terceira Edição Editora: Campus Prof. Everton Hipólito de Freitas. PHP e MySQL. Introdução Para que aprender PHP e MySQL?
E N D
Capítulo I Utilizando o PHP
PHP e MySQL • Material • Livro: PHP e MySQL – Desenvolvimento Web • Autores:Luke Welling, Laura Thomson • Edição: Tradução da Terceira Edição • Editora: Campus • Prof. Everton Hipólito de Freitas
PHP e MySQL • Introdução • Para que aprender PHP e MySQL? • HTML é um desenvolvimento estático onde não permite interação entre site e usuário. • PHP e MySQL lhe tornará apto a desenvolver páginas WEB dinâmicas. • Personalizáveis • Possuem informações em tempo real armazenadas no banco de dados MySQL.
PHP e MySQL • Introdução • O que é PHP? • É uma linguagem de criação de scripts do lado do servidor que foi projetada para Web. • HTML e PHP juntos. • O PHP será interpretado no servidor Web. • PHP foi criado em 1994 por Rasmus Lerdorf. • PHP é um produto de código aberto, ou seja, o usuário pode utilizá-lo, alterá-lo, distribuí-lo sem pagar nada. • PHP (Personal Home Page). • PHP também é conhecida como Hypertext Preprocessor. Uma linguagem de computador interpretada (também chamada linguagem de script) são linguagens de programação executadas em um interpretador. Por esse motivo, os scripts, que são as instruções formais escritas com as linguagens interpretadas, são diferentes de programas de computador; enquanto programas de computador são convertidos em formatos executáveis binários para serem usados, scripts mantém seu formato e são interpretados comando à comando cada vez que são executados.
PHP e MySQL • Introdução • Páginas de apoio a PHP • www.php.net • Página oficial do PHP. • www.zend.com • Zend Technologies é a desenvolvedora comercial do PHP. • Certificações
PHP e MySQL • Introdução • O que é MySQL? • É um sistema de gerenciamento de Banco de Dados (BD) relacional poderoso e muito rápido. • Possui acesso múltiplos, ou seja, diversos usuários podem estar conectados ao banco ao mesmo tempo. • O que pode ser feito em um BD? • Armazenar informações • Classificar e recuperar dados de forma eficiente. • Atualizar e excluir informações, etc.
PHP e MySQL • Introdução • O que é MySQL? • Utiliza a linguagem SQL (Structured Query Language). • SQL é uma linguagem padrão de consulta a banco de dados universal. • MySQL está disponível em duas versões: • Open Source (GPL – General Public License) • Licença comercial para aplicativos comerciais que utilizam o MySQL. GNU General Public License (Licença Pública Geral), GNU GPL ou simplesmente GPL, é a designação da licença para software livre idealizada por Richard Stallman no final da década de 1980, no âmbito do projecto GNU da Free Software Foundation (FSF). A GPL é a licença com maior utilização por parte de projectos de software livre, em grande parte devido à sua adoção para o Linux. O software utilizado para administrar o conteúdo da Wikipédia é coberto por esta licença, na sua versão 2.0 ou superiores.
PHP e MySQL • Introdução • Porque utilizar PHP e MySQL? • Com PHP e MySQL o usuário poderá criar aplicações poderosas, multiplataformas (WEB), com controle de banco de dados eficiente e seguro.
PHP e MySQL • Introdução • Algo mais!!!!! • O PHP se encontra na versão 5. • O PHP é gratuito. • A sintaxe do PHP é baseado em outras linguagens de programação, principalmente C e Perl. • PHP possui suporte a orientação a objetos. • PHP está disponível para muitos sistemas operacionais. • Linux • FreeBSD • Windows
PHP e MySQL • Material Fonte • Livro: PHP e MySQL – Desenvolvimento Web. • Capítulo: Introdução.
PHP e MySQL • Utilizando o PHP • Visão geral do PHP • O que é necessário para desenvolvermos aplicações em PHP? • Servidor Web que interprete o PHP • Será utilizado o servidor Apache 2.2.4 • Download www.apache.org • PHP 5.0 • Download www.php.net • Como instalar o PHP e MySQL se encontra no final do livro que estamos usando. (Apêndice A)
PHP e MySQL • Comunicação entre aplicações PHP.
PHP e MySQL • Criando uma aplicação de exemplo. Figura 1.1
PHP e MySQL • Conhecimento necessário(figura 1.1): • Conhecer HTML • Texto simples • Formulários • Campos de formulário <input> • Type: text • <Select> • Botão de envio • Type: submit • Atribuir nomes aos elementos do formulário para facilitar a manipulação das informações.
PHP e MySQL • Procedimentos necessários (figura1.1) • Definir o Layout do seu site. • Configurar a ação do formulário (action). • Arquivo responsável por processar o pedido do cliente. • Configurar o método de envio a ser utlizado (method) • Get • Será enviado como parte da url. • Ex: http://localhost/exemplo.php?nome=everton&idade=26 • Post • Será enviado como um pacote separado contendo as informações pertencentes ao formulário.
PHP e MySQL • Procedimentos necessários (figura1.1) • Dar nomes significativos aos elementos do formulário. • No momento de trabalhar com estes campos, será mais fácil o desenvolvimento da aplicação se os nomes forem sugestivos.
PHP e MySQL • Processando o formulário (figura1.1). Formulário vazio Formulário preenchido
PHP e MySQL if( $totalqty == 0) { echo 'You did not order anything on the previous page!<br />'; } else { if ( $tireqty>0 ) echo $tireqty.' tires<br />'; if ( $oilqty>0 ) echo $oilqty.' bottles of oil<br />'; if ( $sparkqty>0 ) echo $sparkqty.' spark plugs<br />'; } $totalamount = 0.00; define('TIREPRICE', 100); define('OILPRICE', 10); define('SPARKPRICE', 4); $totalamount = $tireqty * TIREPRICE + $oilqty * OILPRICE + $sparkqty * SPARKPRICE; echo 'Subtotal: $'.number_format($totalamount,2).'<br />'; $taxrate = 0.10; // local sales tax is 10% $totalamount = $totalamount * (1 + $taxrate); echo 'Total including tax: $'. number_format($totalamount,2).'<br />'; if($find == 'a') echo '<p>Regular customer.</p>'; elseif($find == 'b') echo '<p>Customer referred by TV advert.</p>'; elseif($find == 'c') echo '<p>Customer referred by phone directory. </p>'; elseif($find == 'd') echo '<p>Customer referred by word of mouth. </p>'; else echo '<p>We do not know how this customer found us.</p>'; ?> </body> </html> <?php // create short variable names $tireqty = $_POST['tireqty']; $oilqty = $_POST['oilqty']; $sparkqty = $_POST['sparkqty']; $find = $_POST['find']; ?> <html> <head> <title>Bob's Auto Parts - Order Results</title> </head> <body> <h1>Bob's Auto Parts</h1> <h2>Order Results</h2> <?php echo '<p>Order processed at '; echo date('H:i, jS F'); echo '</p>'; echo '<p>Your order is as follows: </p>'; $totalqty = 0; $totalqty = $tireqty + $oilqty + $sparkqty; echo 'Items ordered: '.$totalqty.'<br />'; • Processando o formulário (figura1.1).
PHP e MySQL • Processando o formulário (figura1.1). • OBS: • É possível códigos de PHP e HTML juntos. • A página de resposta do servidor é enviada com códigos em HTML. • Todos os códigos PHPs são processados no servidor Web, ou seja, o navegador do usuário não precisa entender sobre PHP. O javascript ao contrário do PHP pode ser interpretado no lado do cliente, e para isso o Browse (Internet Explorer) deverá interpretar códigos javascript.
PHP e MySQL • Estilos de tags no PHP. • <?php ...?> • <? ... ?> • <script language=‘php’> ... </script> • <% ... %> • Será adotado a tag <?php ...?> • Atenção • Os “...”(três pontos) usados a cima indica que neste espaço ocorreria comandos(instruções) da linguagem. Para ativar o estilo de tag desejado, leia no material de referência a página 07 e 08.
PHP e MySQL • Instruções de PHP • As instruções do PHP são inseridas entre as Tags <?php instruções ?> • Instrução echo • Imprime para o navegador a string passada a ela. • echo ‘aula de php’; • Todo final de instrução termina com ; (“ponto- virgula”); • Esquecer de usar “;” no final da instrução é um erro de sintaxe.
PHP e MySQL • Espaços em branco • PHP ignora espaços em branco • Ex: echo ‘maria’; echo ‘joao’; E echo ‘maria’;echo ‘joao’; Resultado: mariajoao Lembre-se: para pular uma linha, o código utilizado é <br>.
PHP e MySQL • Comentários • São expressos por: • # ou // • Indica que a linha será comentada • /* */ • Indica que o bloco existente entre /* e */ é comentário.
PHP e MySQL • Como chamar funções • Funções podem receber parâmetros, ou não. • funcDados(); • funcDados($teste,$nome); • Funções podem retornar algum valor, ou não. • $var1 = funcDados(); • funcDados($teste,$nome); • Usando a função date() • Função pré-defina em Php que retorna uma data formatada. • Ex: date(‘H:i, jS F’);
PHP e MySQL • Acessando variáveis do formulário • O método de acesso a variável do formulário depende da versão do PHP que está utilizando e de configurações no arquivo php.ini • O acesso as variáveis pode ser feito das seguintes formas: • De maneira simples: • $nomeVariavel; • Através do método de envio post. • $HTTP_POST_VARS[‘nomeVariavel’]; • $_POST[‘nomeVariavel’]; • Através do método de envio get. • $_GET[‘nomeVariavel’]; • Indiferente do método de envio • $_REQUEST[‘nomeVariavel’];
PHP e MySQL • Definição do método de acesso (formulário) POST Envio dos campos do formulário é feito através de pacotes. GET Envio dos campos do formulário é feito através da url. O método POST é o mais utilizado devido ao limite de informações que podem ser enviadas.
PHP e MySQL if( $totalqty == 0) { echo 'You did not order anything on the previous page!<br />'; } else { if ( $tireqty>0 ) echo $tireqty.' tires<br />'; if ( $oilqty>0 ) echo $oilqty.' bottles of oil<br />'; if ( $sparkqty>0 ) echo $sparkqty.' spark plugs<br />'; } $totalamount = 0.00; define('TIREPRICE', 100); define('OILPRICE', 10); define('SPARKPRICE', 4); $totalamount = $tireqty * TIREPRICE + $oilqty * OILPRICE + $sparkqty * SPARKPRICE; echo 'Subtotal: $'.number_format($totalamount,2).'<br />'; $taxrate = 0.10; // local sales tax is 10% $totalamount = $totalamount * (1 + $taxrate); echo 'Total including tax: $'. number_format($totalamount,2).'<br />'; if($find == 'a') echo '<p>Regular customer.</p>'; elseif($find == 'b') echo '<p>Customer referred by TV advert.</p>'; elseif($find == 'c') echo '<p>Customer referred by phone directory. </p>'; elseif($find == 'd') echo '<p>Customer referred by word of mouth. </p>'; else echo '<p>We do not know how this customer found us.</p>'; ?> </body> </html> <?php // create short variable names $tireqty = $_POST['tireqty']; $oilqty = $_POST['oilqty']; $sparkqty = $_POST['sparkqty']; $find = $_POST['find']; ?> <html> <head> <title>Bob's Auto Parts - Order Results</title> </head> <body> <h1>Bob's Auto Parts</h1> <h2>Order Results</h2> <?php echo '<p>Order processed at '; echo date('H:i, jS F'); echo '</p>'; echo '<p>Your order is as follows: </p>'; $totalqty = 0; $totalqty = $tireqty + $oilqty + $sparkqty; echo 'Items ordered: '.$totalqty.'<br />'; • Identificando variáveis do formulário (figura1.1).
PHP e MySQL if( $totalqty == 0) { echo 'You did not order anything on the previous page!<br />'; } else { if ( $tireqty>0 ) echo $tireqty.' tires<br />'; if ( $oilqty>0 ) echo $oilqty.' bottles of oil<br />'; if ( $sparkqty>0 ) echo $sparkqty.' spark plugs<br />'; } $totalamount = 0.00; define('TIREPRICE', 100); define('OILPRICE', 10); define('SPARKPRICE', 4); $totalamount = $tireqty * TIREPRICE + $oilqty * OILPRICE + $sparkqty * SPARKPRICE; echo 'Subtotal: $'.number_format($totalamount,2).'<br />'; $taxrate = 0.10; // local sales tax is 10% $totalamount = $totalamount * (1 + $taxrate); echo 'Total including tax: $'. number_format($totalamount,2).'<br />'; if($find == 'a') echo '<p>Regular customer.</p>'; elseif($find == 'b') echo '<p>Customer referred by TV advert.</p>'; elseif($find == 'c') echo '<p>Customer referred by phone directory. </p>'; elseif($find == 'd') echo '<p>Customer referred by word of mouth. </p>'; else echo '<p>We do not know how this customer found us.</p>'; ?> </body> </html> <?php // create short variable names $tireqty = $_POST['tireqty']; $oilqty = $_POST['oilqty']; $sparkqty = $_POST['sparkqty']; $find = $_POST['find']; ?> <html> <head> <title>Bob's Auto Parts - Order Results</title> </head> <body> <h1>Bob's Auto Parts</h1> <h2>Order Results</h2> <?php echo '<p>Order processed at '; echo date('H:i, jS F'); echo '</p>'; echo '<p>Your order is as follows: </p>'; $totalqty = 0; $totalqty = $tireqty + $oilqty + $sparkqty; echo 'Items ordered: '.$totalqty.'<br />'; • Manipulando o conteúdo das variáveis (figura1.1).
PHP e MySQL • Concatenação de strings. • Permite realizar a junção entre duas, ou mais strings. • O símbolo que indica a concatenação de string é o “.”(ponto). • echo “Meu nome é”.” Everton”; • echo “Meu”.” nome é “.” Everton”; • echo “Meu nome é ”.$nomeVar; • echo $nomeVar.” é meu nome”; • echo “Meu nome é <br>”.$nomeVar.” hipólito”;
PHP e MySQL if( $totalqty == 0) { echo 'You did not order anything on the previous page!<br />'; } else { if ( $tireqty>0 ) echo $tireqty.' tires<br />'; if ( $oilqty>0 ) echo $oilqty.' bottles of oil<br />'; if ( $sparkqty>0 ) echo $sparkqty.' spark plugs<br />'; } $totalamount = 0.00; define('TIREPRICE', 100); define('OILPRICE', 10); define('SPARKPRICE', 4); $totalamount = $tireqty * TIREPRICE + $oilqty * OILPRICE + $sparkqty * SPARKPRICE; echo 'Subtotal: $'.number_format($totalamount,2).'<br />'; $taxrate = 0.10; // local sales tax is 10% $totalamount = $totalamount * (1 + $taxrate); echo 'Total including tax: $'. number_format($totalamount,2).'<br />'; if($find == 'a') echo '<p>Regular customer.</p>'; elseif($find == 'b') echo '<p>Customer referred by TV advert.</p>'; elseif($find == 'c') echo '<p>Customer referred by phone directory. </p>'; elseif($find == 'd') echo '<p>Customer referred by word of mouth. </p>'; else echo '<p>We do not know how this customer found us.</p>'; ?> </body> </html> <?php // create short variable names $tireqty = $_POST['tireqty']; $oilqty = $_POST['oilqty']; $sparkqty = $_POST['sparkqty']; $find = $_POST['find']; ?> <html> <head> <title>Bob's Auto Parts - Order Results</title> </head> <body> <h1>Bob's Auto Parts</h1> <h2>Order Results</h2> <?php echo '<p>Order processed at '; echo date('H:i, jS F'); echo '</p>'; echo '<p>Your order is as follows: </p>'; $totalqty = 0; $totalqty = $tireqty + $oilqty + $sparkqty; echo 'Items ordered: '.$totalqty.'<br />'; • Concatenando strings (figura1.1).
PHP e MySQL • Exemplo prático(arquivo html)
PHP e MySQL • Exemplo prático(arquivo php)
PHP e MySQL • Exemplo prático(arquivo html)
PHP e MySQL • Exemplo prático (arquivo php)
PHP e MySQL • Variáveis e literais • Variáveis começam com o símbolo $. • $teste = 10; • $teste1 = ‘everton’; • Literais são representados por ‘ ’ (aspas simples). • $teste = ‘Declaracao’; • echo ‘$teste de variáveis’; • A instrução acima resulta em $teste de variáveis. • echo “$teste de variáveis”; • A instrução acima resulta em Declaração de variáveis.
PHP e MySQL • Identificadores • São nomes dados as variáveis. • Podem ser de qualquer comprimento. • Podem consistir em letras, números, sublinhados e sinais de cifrão. • Não podem iniciar com dígitos. • São case sensitive (Maiúsculas <> Minúsculas)
PHP e MySQL • Identificadores • Variáveis não precisam de ser declaradas. • Simplesmente atribua valores a elas. $teste = 9; $nome = 1; $ab1212 = 3; • A atribuição de valores a uma variável é feita através do símbolo = (igualdade). • PHP é fracamente tipada.
PHP e MySQL • Tipos de variáveis • Integer • Float (double) • String • Boolean • Array • Objeto • NULL • *as variáveis que não foram inicializadas receberão como valor padrão NULL. • <?php • $nome; //veriavel definida como nula. • ?>
PHP e MySQL • Conversão do tipo • $var1 = 0; //variável definida do tipo inteiro • $var2 = 0.00; //variável definida do tipo real • Conversão simples • $var2 = ‘string de texto’; //variavel redefinida como string • Casting (coerção de tipos) • $var1 = 0; • $var2 = (double) $var1; Atenção, quando não for possível a conversão, o retorno será zero.
PHP e MySQL • Declarando e usando constantes • Uma constante armazena um valor como uma variável, mas seu valor é configurado uma vez e não pode ser alterado em outras partes do script. • Exemplo: • define(‘preco’,100); • echo preco; • Observação: • Constante não utiliza $. • Constantes suportam boolean, integer, float, string. • Nota:Constantes podem ser utilizadas quando se faz o uso de uma variável (a constante) por determinadas partes do código.
PHP e MySQL • Escopo de variável • Variáveis super globais pré-definidas pelo PHP • São visíveis por toda parte dentro de um script. • Constantes • São visíveis globalmente, ou seja, dentro de funções, em todo o script. • Variáveis globais • Quando declaradas dentro de um script, são visíveis por todo ele, exceto dentro de funções. • Variáveis utilizadas dentro de funções que são declarados como globais reférem-se a variável global do mesmo nome. • Variáveis declaradas dentro de funções como estática (static), são visíveis somente no escopo da função mas mantém seu valor entre as execuções. • Variáveis declaradas dentro de funções são visíveis somente dentro da função.
PHP e MySQL • Exemplo <?php /*DEFININDO ESCOPO DE VARIÁVEIS*/ define ('idade',27); $nomeGlobal = 'Everton'; $sobreNome = 'Hipólito'; function showName(){ echo "Sobre nome: $sobreNome<br>"; global $nomeGlobal; echo "Nome: $nomeGlobal <br>"; echo "(Constante) ".idade." anos de idade.<br>"; return; } echo "******** Dados Pessoais ********** <br>"; echo "Chamando a função.<br>"; showName(); echo "Retorno ao programa principal."; ?>
PHP e MySQL • Operadores • $a=0; • $b = 6 + ($a = 5) // resultado 11
PHP e MySQL • Operadores de atribuição de combinação
PHP e MySQL • Operadores de comparação
PHP e MySQL • Operadores Lógicos
PHP e MySQL • Operador Ternário • É semelhante a operação if • (condition) ? <true> : <false>; • Condition representa a condição a ser analisada. • ? • Se verdadeiro será executado o código que estiver aqui. • : • Se falso, será executado o código que estiver neste local. ($grade >= 50 ? ‘Passed’ : ‘Failed’)
PHP e MySQL • (Pré e Pós) incremento e decremento • $a=2; • echo ++$a; //resultado 3(valerá 3) • echo $a++; //resultado 2(valerá 3) • Os exemplos acima servem para o caso de decremento. • Referência • Símbolo &(E comercial) • $a= 5; • $b = $a • No exemplo acima é realizado uma cópia da variável $a para $b. Alterar $a ou $b não altera a variável oposta. • $a = 8; • $b = &$a; • $b = 90; • No exemplo acima, a alteração da variável b resulta em $a. As variáveis estão apontando para o mesmo local. • Para perder o vínculo use unset($b);
PHP e MySQL • Operador de supressão de erro • O operador @ é um operador que omite a ocorrência de alguns erros. • Pode ser utilizado na frente de qualquer expressão, ou seja, qualquer coisa que gere um valor como resposta. <?php $x = @(34/0); echo "Resultado:".$x; ?> <?php $x = 34/0; echo "Resultado:".$x; ?>
PHP e MySQL • Operador de supressão de erro • Se você está utilizando o operador @ e o php esta habilitado a opção track_errors (arquivo php.ini), toda vez que um erro ocorrer uma mensagem será atribuída a variável global $php_errormsg.