Programação Web Prof. Wladimir Linguagem PHP @wre2008 1
Sumário PHP: Tipos de dados; Manipulação de dados; Utilizando formulário. @wre2008 2
Tipos de dados As variáveis são declaradas no momento de sua atribuição. Podendo ser do tipo: Inteiro; $numero1=-12; $numero2=64; Floating point: $a=1.12; $b=1.21e4; Array: $a[0]="azul"; $a[1]="amarelo"; $a[2]="vermelho"; @wre2008 3
Tipos de dados Função array: $a = array( "cor" => "Vermelho", "gosto" => "Doce", "formato" => "Redondo", "nome" => "Maça"); Strings: $nome= Wladimir"; $sobrenome= Esposito"; Concatenar strings utiliza o sinal.. $nome = $nome..$sobrenome. @wre2008 4
As variáveis em PHP são obrigatoriamente precedidas do sinal $. Existem dois tipos básicos de variáveis: Numéricas: podem ser decimais, octal ou hexadecimais. Não há distinção entre números reais ou inteiros. Não há necessidade de declarar as variáveis! $numero_inteiro = 10; $numero_real = 25.45; $resultado = $numero_inteiro + numero_real; echo $resultado; @wre2008 5
Texto: armazena seqüências de caracteres sendo limitados por,,` `. As aspas influenciam na variável! Aspas simples ( ): Determina textos simples. Para imprimir o próprio caractere ( ), deve-se utilizar o caracter \. $texto = E ai tche <br> ; echo $texto; $texto2 = Hey, Let\ s go! ; echo $texto2; @wre2008 6
Aspas duplas ( ): Determina textos mais complexos, podendo utilizar meta-caracteres. Meta-carateres: \n = Nova linha; \t = Tabulação; \$ = Caractere $; \\ = Caractere \; \ = Caractere ; @wre2008 7
<html> <body> <?php $texto3 = Não esquecer <br> ; $texto4 = 1.Café\n2.Leite\n3.Pão\n ; echo $texto3$texto4;?> </body> </html> @wre2008 8
Aspas invertidas (` `) Permite execução de comandos do SO, ou seja, envia comandos para o Windows ou Linux do servidor. O comando é executado no servidor e mostrado ao navegador. echo `ls-l`; // exemplo Linux echo `dir c:\`; // exemplo Windows @wre2008 9
Comentários: Podem ser de três tipos: # // /* */ @wre2008 10
Operadores aritméticos:são utilizados para realizar operações sobre elementos numéricos. $n1 = 3; $n2 = 23.6; $total = ($n1 + $n2) / ($n2 * $n1); echo $total; + soma - subtração / divisão % resto da divisão ++ incrementador -- decrementador @wre2008 11
Operadores de atribuição: são utilizados para atribuir e modificar valores de variáveis. $a = 10; $a += 5; // $a = $a + 5; (+=, -=, *=, /=, %=) $txt = Olá, ; $txt.= Wla ; /* $txt = $txt + Wla, concatenar, saída igual a Olá, Wla*/ @wre2008 12
Exemplo: <html> <?php $a = 10; $a += 5; $txt = <br> A aula está no ; $txt.= fim ; echo $a; echo $txt;?> </html> @wre2008 13
Operadores lógicos: Os operadores lógicos implementam lógica booleana, retornando um valor verdadeiro (1) ou um falso (0). Exemplo Nome Resultado $a and $b $a && $b $a or $b $a $b And Or verdadeiro se $a e $b são verdadeiros verdadeiro se $a ou $b são verdadeiros!$a Not Verdadeiro se $a for falso @wre2008 14
Operadores relacionais. Exemplo Nome Resultado $a == $b Igual Verdadeiro se $a for igual a $b $a!= $b Diferente Verdadeiro se $a for diferente a $b $a < $b Menor Verdadeiro se $a for menor a $b $a > $b Maior Verdadeiro se $a for maior a $b $a <= $b Menor ou igual $a >= $b Maior ou igual Verdadeiro se $a for menor ou igual a $b Verdadeiro se $a for maior ou igual a $b @wre2008 15
Estruturas de controle: If (semelhante a linguagem C) if (condição) { //Código se a condição for verdadeira else { //Código se for falsa a condição @wre2008 16
Estruturas de controle: if (semelhante a linguagem C), exemplo: $a = 2; $b = 4; If ($a==$b) { echo ("A é igual a B."); else { echo ("B é diferente de A."); @wre2008 17
Estruturas de controle: Switch: switch (variável) { case valor1: //Bloco de comandos Comandos... break; case valor2: //Bloco de comandos Comandos... break; case valor3: //Bloco de comandos Comandos... break; @wre2008 18
Estruturas de controle: switch, exemplo: $a = Programa ; switch ($a) { case PHP : echo A variável a é igual a PHP ; break; case curso : echo A variável a é igual a curso ; break; case Programa : echo A variável a é igual a Programa ; break; @wre2008 19
Estruturas de controle: while: while (condição) { //Bloco de comandos... Exemplo: $aux=0; while ($aux<=10){ echo $aux; $aux++; @wre2008 20
Estruturas de controle: for: for (inicio; fim; incremento) { //Bloco de comandos... Exemplo: for ($contador=1; $contador<=10; $contador++) { echo $contador; if ($contador == 8) { echo Sai do laço quando o contador for 8 ; break; @wre2008 21
Funções: function nome_função ($arg_1, $arg_2,..., $arg_n) { //Bloco de comandos... return $valor_retorno; Toda função em PHP tem de ser construída antes da sua respectiva chamada. @wre2008 22
Funções, exemplo: <?php function media($a, $b) { $valor_retorno = ($a + $b) / 2; return $valor_retorno; echo media(4,6);?> @wre2008 23
Funções, passagem por valor: o valor original não é alterado. <?php $cont = 10; function contador($a) { $a++; contador($cont); echo $cont;?> @wre2008 24
Funções, passagem por referência: o valor original é alterado. <?php $cont = 10; function contador(&$a) { $a++; Contador($cont); echo $cont;?> @wre2008 25
Função include: permite adicionar outros arquivos em um documento.html. Salvar com o nome data.php. <?php $meses = array (1 => Janeiro, 2 => Fevereiro, 3 => Março,4 => Abril, 5 => Maio, 6 => Junho, 7 => Julho, 8 => Agosto, 9 => Setembro,10 => Outubro, 11 => Novembro,12 => Dezembro ); $datahoje = getdate(); $dia = $datahoje[ mday ]; $mes = $datahoje[ mon ]; $nomemes = $meses[$mes]; $ano = $datahoje[ year ]; //print_r($datahoje); echo Olá hoje é dia $dia do mês de $mes e do ano $ano ;?> @wre2008 26
Incluir a função de data no documento.html. <html> <head> <title> Utilizando um include </title></head> <body> <?php include ( data.php );?> </body> </html> @wre2008 27
Um Utilizando parâmetro o método é separado Get: $_GET[ valor ]; pelo sinal de? Caso Exemplo: haja mais que um parâmetro, estes são separados pelo <html> sinal & <head><title>aprendendo PHP</title></head> <body> <?php if (isset($_get[ texto ])) { $textodigitado = $_GET[ texto ]; echo "Você digitou $textodigitado <br><br>";?> <form method= get action= # > <input type="text" name="texto" value="" size=10> <br> <input type="submit" name="sub" value="enviar!"> </form> </body> </html> @wre2008 28
<html> <head><title>aprendendo PHP</title></head> <body> <?php if (isset($_get[ valor ])) { $valordig = $_GET[ valor ]; echo "Você digitou \"$valordig \"<br><br>"; else { echo Clique em um dos links abaixo <br> ;?> <a href= teste.php?valor=1 > Link 1</a> <a href= teste.php?valor=2 > Link 2</a> <a href= teste.php?valor=3 > Link 3</a> <a href= teste.php?valor=4 > Link 4</a> </body> </html> @wre2008 29
<html> <head><title>aprendendo PHP</title></head> <body> <?php if (isset($_get[ nome ]) && isset($_get[ sobrenome ])) { $nomecara = $_GET[ nome ]; $sobrenomecara = $_GET[ sobrenome ]; echo "Você clicou no nome \"$nome $sobrenome \"<br><br>"; else { echo Clique em um dos links abaixo <br> ;?> <a href= teste.php?nome=wladimir&sobrenome=esposito > Wladimir Esposito</a> <a href= teste.php?nome=silvio&sobrenome=santos > Silvio Santos</a> </body> </html> @wre2008 30
<html> <head><title>aprendendo PHP</title></head> <body> <?php if (isset($_get["num1"]) && isset($_get["num2"])) { $num = $_GET["num1"]; $num2 = $_GET["num2"]; if ($num2 == 0) { echo "<strong>segundo número não pode ser 0 </strong><br><br>"; else { $total = $num / $num2;?> @wre2008 31
<form method="get" action="#"> Digite o primeiro número: <input type="text" value="<?php echo $num;?>" name="num1"> <br> Digite o segundo número: <input type="text" value="<?php echo $num2;?>" name="num2"> <input type="submit" name="resul" value="resultado"> </form> <?php if ($total!= '') {?> <table border="1"> <tr> <td> O resultado da divisão foi: </td> <td> <?php echo $total;?></td> </tr> </table> @wre2008 32
<?php if ($total!= '') {?> <table border="1"> <tr> <td> O resultado da divisão foi: </td> <td> <?php echo $total;?></td> </tr> </table> <?php?> </body> </html> @wre2008 33
Exercício 1: Utilizando a função Get, crie um formulário que peça dois valores para o usuário e mostre o resultado da soma, subtração, multiplicação e divisão destes valores. Exercício 2: Faça um formulário que peça o nome e o sobrenome, CPF, RG, endereço e telefone e mostre para o usuário os valores digitados @wre2008 34
Exercício 3: Utilizando a função Get, crie um formulário que peça e informe as opções escolhidas pelo usuário, como, qual a comida preferida, qual o time de futebol preferido, tipo musical, opinião, etc. Utilizar radio, select e texarea. Ao enviar o site deve mostrar o perfil do usuário sendo obrigatório os campos, nome, sobrenome, CPF e email. @wre2008 35
Utilizando o método POST: $_POST[ valor ]; Exemplo: <html> <head><title>aprendendo PHP</title></head> <body> <? if (isset($_post[ texto ])) { $textodigitado = $_POST[ texto ]; echo "Você digitou \"$textodigitado\"<br><br>";?> <form method= post action= # > <input type="text" name="texto" value="" size=10> <br> <input type="submit" name="sub" value="enviar!"> </form> </body> </html> @wre2008 36
Pegando valores de checkbox. Exemplo: HTML <form action='resposta.php' method='post'> <input type='checkbox' name='valores[]' value='valor1'> 1<br> <input type='checkbox' name='valores[]' value='valor2'> 2<br> <input type='checkbox' name='valores[]' value='valor3'> 3<br> <input type='checkbox' name='valores[]' value='valor4'> 4<br> <input type='checkbox' name='valores[]' value='valor5'> 5<br> <input type="submit" name="enviar" value="enviar" /> </form> PHP <? $valores = $_POST[ valores ]; echo $valores[0]. $valores[1]. $valores[2]. $valores[3]. $valores[4];?> @wre2008 37
Exercício 4: Utilizando a função Post, faça um formulário que peça o nome e o sobrenome, CPF, RG, endereço e telefone e mostre para o usuário os valores digitados @wre2008 38