Aula 02 - Curso PHP e MySQL

2.838 visualizações

Publicada em

0 comentários
6 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
2.838
No SlideShare
0
A partir de incorporações
0
Número de incorporações
4
Ações
Compartilhamentos
0
Downloads
126
Comentários
0
Gostaram
6
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Aula 02 - Curso PHP e MySQL

  1. 1. falecomigo@neto.eti.br Faculdade Marista 2010.2 Aula - 02
  2. 2. O que veremos hoje? 1. Strings 2. Arrays 3. Formulários
  3. 3. String Em diversas situações precisaremos tratar uma String seja: Dividindo; Realizando parsers; Substituindo valores; Criptografando; Formatando; Etc.. O PHP fornece dezenas de funções relacionadas a String, é importante conhecê-las para tornar mais práticos e simples os códigos-fontes do seu projeto.
  4. 4. Obtendo o tamanho de uma String O comando strlen permite ao desenvolvedor descobrir qual o tamanho de uma string passada por parâmetro. (int) strlen(<string>); Retorno: o tamanho da string, caso seja vazia retornará 0. Obs. Dentre os vários usos podemos citar a validação se o tamanho da string está de acordo com os parâmetros de armazenamentos definidos em suas tabelas no MySQL.
  5. 5. Exemplo do strlen <?php $tamanho = strlen(‘Brasil’); echo ($tamanho. ‘<BR>’); // Resultado: 6 echo (strlen(‘ ’).’<BR>’); // Resultado: 0 ?>
  6. 6. Localizar uma substring dentro de uma string(strpos,strchr e strrchr) O comando strpos retorna a posição numérica da primeira ocorrência da substring que está sendo procurada na string principal, ou zero em caso de não haver resultados para a busca realizada. (int) strpos(<string>,<busca>[,<posicao_de_inicio_de busca>]);
  7. 7. Exemplo do strpos <?php echo(strpos(‘Brasil Pentacampeao’, ‘a’). ‘<BR>’); //Resultado: 2 echo(strpos(‘Brasil Pentacampeao’, ‘a’, 3). ‘<BR>’); //Resultado: 11 //exibindo todas ocorrências $offset = 0; while(($offset = strpos(‘Brasil Pentacampeao’, ‘a’, $offset + 1)) != 0){ echo($offset. ‘,’); } //Resultado: 2, 11, 13, 17 ?>
  8. 8. strchr e strrch Os comandos strchr e strrchr localizam a primeira e a última ocorrência da busca respectivamente. (string) strch(<string>,<busca>); (string) strrch(<string>,<busca>); Retorno: a substring formada pela posição de localização da busca até o final da string principal. Caso não haja resultados, será retornado FALSE.
  9. 9. Exemplo de strchr e strrch <?php echo(strchr(‘Brasil Pentacampeao’, ‘a’). ‘<BR>’); //Resultado: asil Pentacapeao echo(strrchr(‘Brasil Pentacampeao’, ‘a’). ‘<BR>’); //Resultado: ao echo(strrchr(‘Brasil Pentacampeao’, ‘y’). ‘<BR>’); //Resultado: ?>
  10. 10. Substituição de substring com str_replace O comando str_replace substitui todas as ocorrências de uma busca em string pelo valor informado. (mixed) str_replace(<busca>,<substituicao>,<string_original>); Retorno: a nova string com suas alterações.
  11. 11. Exemplo de str_replace <?php echo(str_replace(‘penta’,’hexa’, ‘Brasil penta’). ‘<BR>’); // Resultado: Brasil hexa echo(str_replace(‘USUARIO’,’Neto’, ‘Bem vindo USUARIO ao site!’). ‘<BR>’); // Resultado: Bem vindo Neto ao site! ?>
  12. 12. Caixa alta e baixa com stroupper, strolower e ucfirt A formatação de strings para caixa alta e caixa baixa pode ser realizada por meio dos comandos stroupper e strolower, respectivamente. Existe também o ucfirst que torna maiúscula a primeira letra da string. (string) stroupper(<string>); (string) strlower(<string>); (string) ucfirst(<string>); Retorno: a nova string com suas alterações.
  13. 13. Exemplo de stroupper, strolower e ucfirst <?php echo(strlower(‘jose NETO’). ‘<BR>’); //Resultado: jose neto echo(stroupper(‘jose NETO’).’<BR>’); //Resultado: JOSE NETO echo(ucfirst(‘andre MILANI’).’<BR>’); //Resultado: Andre MILANI ?>
  14. 14. Inverter string com strrev A função strrev, inverte a string passada como parâmetro. (string) strrev(<string>); Retorno: a nova string com suas invertida. Exemplo de strrev <?php echo(strrev(‘Brasil’)); Resultado: lisarB ?>
  15. 15. Criptografia de string com crypt, sha1 e md5 As funções crypt, sha1 e md5, são utilizadas para gerar os códigos hash das string passadas por parâmetro. Este recurso tem diversas aplicações, entre elas o armazenamento de senha em tabelas do banco de dados. O código hash é gerado a partir de algoritmos conhecidos como one-way(única direção), pois seus resultados não são reversíveis a ponto de se chegar a string original.” (string) crypt(<string>); (string) sha1(<string>); (string) md5(<string>); Retorno: código hash gerado a partir da string informada. ATENÇÃO MUITO USADO!
  16. 16. Exemplo de crypt, sha1 e md5 <?PHP $senhaCadastrada = 'minhaSenhaSeguraDeInternet'; echo(crypt($senhaCadastrada).'<BR>'); // Resultado: $1$eRl.t3cN$87toVnnbrp52Qo5N5LrH50 echo(sha1($senhaCadastrada).'<BR>'); // Resultado: bb8b564b31d1c4a736dbbca0fd3512a5246f3cd8
  17. 17. Exemplo de crypt, sha1 e md5 echo(md5($senhaCadastrada).'<BR>'); // Resultado: 852b340fd8be477f0418cdcf32450fa7 // Valor que deve ser armazenado no banco de dados $valorArmazenadoNoBanco = crypt($senhaCadastrada); // Autenticando um usuario $senhaInformadaNoLogin = 'minhaSenhaSeguraDeInternet'; if(crypt($senhaInformadaNoLogin) == $valorArmazenadoNoBanco) { echo('Sucesso!'); } ?>
  18. 18. Transformar string em arrays com explode e implode O explode, separa a string com base em um caractere divisor, que pode ser qualquer caracter. (array) explode(<divisor>,<string>[, numero_de_divisoes_maximo]); Retorno: array com cada parte da string em uma posição.
  19. 19. Exemplo de explode <?PHP $resultado = explode(' ', 'Brasil penta campeao'); echo $resultado[0].'<BR>'; // Resultado: Brasil echo $resultado[1].'<BR>'; // Resultado: penta $resultado = explode(' ', 'Brasil penta campeao', 2); echo $resultado[0].'<BR>'; // Resultado: Brasil echo $resultado[1].'<BR>'; // Resultado: penta campeao ?>
  20. 20. Transformar string em arrays com explode e implode O implode, monta uma string com base nas posições existentes em um array. Para organizar a string, é possível indicar qual o caractere de separação entra as partes deve ser utilizado na string final (array) implode(<divisor>,<string>); Retorno: string com as partes do array.
  21. 21. Exemplo de implode <?PHP $meuArray = array('Alpha', 'Beta', 'Gama'); $minhaString = implode(' - ', $meuArray); echo($minhaString); // Resultado: Alpha - Beta - Gama ?>
  22. 22. Remover espaços em branco com trim, ltrim e rtrim Os comandos trim, ltrim e rtrim removem o excesso de espaços em branco em diferentes partes da string passada por parâmetro. (string) trim(<string>); (string) ltrim(<string>); (string) rtrim(<string>); Retorno: string alterada.
  23. 23. Exemplo de trim, ltrim e rtim <?PHP echo(trim(' Brasil penta campeao ').'<BR>'); // Resultado: _Brasil penta campeao_ echo(ltrim(' Brasil penta campeao ').'<BR>'); // Resultado: _Brasil penta campeao _ echo(rtrim(' Brasil penta campeao ').'<BR>'); // Resultado: _ Brasil penta campeao_ ?>
  24. 24. ARRAY
  25. 25. Imprimindo um array O comando print_r é utilizado para exibir todo o conteúdo do array passado como parâmetro a essa função. O formato da impressão do array pelo comando print_r é de exibir sempre a chave e o valor correspondente de cada elemento do array. (mixed) print_r(<array>); Retorno: imprime no html as chaves e valores contidos no array.
  26. 26. Exemplo imprimindo um array <?PHP $meuArray = array('alpha' => 'valor1', 2, 'tres'); $meuArray[5] = 'Novo valor'; print_r($meuArray); // Resultado: // Array ( [alpha] => valor1 [0] => 2 [1] => tres [5] => Novo valor ) ?>
  27. 27. Arrays Multidimensionais <?PHP $arrayAlpha = array('a', 'b', 'c'); $arrayBeta = array('d', 'e', 'f'); $arrayMulti = array($arrayAlpha, $arrayBeta); echo($arrayMulti[0][2].'<BR>'); // Resultado: c echo($arrayMulti[1][2].'<BR>'); // Resultado: f ?>
  28. 28. Removendo elementos do array O comando unset destrói a posição do array em questão ou variável informada. (void) unset(<variavel_ou_posicao_do_array>); Retorno: void.
  29. 29. Exemplo do unset <?PHP $meuArray = array('a', 'b', 'c', 'd', 'e'); unset($meuArray[3]); print_r($meuArray); // Resultado: // Array ( [0] => a [1] => b [2] => c [4] => e ) ?>
  30. 30. Obtendo número de elementos do array É possível obter o número de elementos existentes em um array por meio das funções count e sizeof. (int) count(<variavel>); (int) sizeof(<variavel>); Retorno: número de elementos da variável ou array.
  31. 31. Exemplo do count e sizeof <?PHP $meuArray = array('a', 'b', 'c', 'd', 'e'); echo (count($meuArray).'<BR>'); // Resultado: 5 unset($meuArray[0]); echo (sizeof($meuArray).'<BR>'); // Resultado: 4 ?>
  32. 32. Navegação nos arrays (mixed) current(<array>) (mixed) key(<array>) (mixed) prev(<array>) (mixed) next(<array>) (mixed) end(<array>) (mixed) reset(<array>)
  33. 33. Retorno Descrição current Retorna o elemento da posição atual do array. key Retorna a chave da posição atual do array. next Avança o índice do array para a próxima posição e retorna o valor do elemento na posição em questão. prev Retrocede o índice do array para a posição anterior e retorna o valor do elemento na posição em questão. end Avança o índice do array para a última posição e retorna o valor do elemento na posição em questão. reset Retrocede o índice do array para a primeira posição e retorna o valor do elemento na posicão em questão
  34. 34. Exemplo navegação em arrays <?PHP $meuArray = array('a', 'b', 'c', 'd', 'e', 'f', 'g'); foreach($meuArray as $valor) { echo($valor." "); } // Resultado: a b c d e f g end($meuArray); prev($meuArray); prev($meuArray); prev($meuArray); next($meuArray); echo(key($meuArray)); // Resultado: 4 echo(current($meuArray)); // Resultado: e ?>
  35. 35. array_push e array_pop o array_push insere um valor no final de um arrray e o array_pop remove o último elemento de um array. (int) array_push(<array>,<elemento>); (mixed) array_pop(<variavel>); Retorno Descrição array_push Retorna o novo número de elementos do array. array_pop Retornao último elemento do array, eliminando-o do array.
  36. 36. Exemplo array_push e array_pop <?PHP $minhaPilha = array(); array_push($minhaPilha, 'a'); array_push($minhaPilha, 'b'); echo(array_push($minhaPilha, 'c').'<BR>'); // Resultado: 3 echo(array_pop($minhaPilha).'<BR>'); // Resultado: c print_r($minhaPilha); // Resultado: Array ( [0] => a [1] => b ) ?>
  37. 37. Enviar todos os elementos de um array para uma função com array_map Em determinados momentos pode ser necessário que todos os elementos de um array sejam enviados para uma função específica. A função array_map recebe um array como parâmetro e uma função e automatiza o envio de todos os elementos do array para tal instrução. (array) array_map(<nome_da_funcao>,<array>); Retorno: um novo array com os retornos da função para cada posição do array enviado como parâmetro.
  38. 38. Exemplo array_map <?PHP function calcularDobro($numero) { return $numero * 2; } $meuArray = array(1, 2, 3); $arrayAlterado = array_map('calcularDobro', $meuArray); print_r($arrayAlterado); // Resultado: Array ( [0] => 2 [1] => 4 [2] => 6 ) ?>
  39. 39. Achar uma chave com array_key e array_key_exists O comando array_keys retorna um novo array, em que cada posição é uma chave disponível no array mencionado no comando. Pode ser útil em situações nas quais não sabemos quais os elementos e quais chaves existem em um array. (array) array_keys(<array>);
  40. 40. Achar uma chave com array_key e array_key_exists Caso o você tenha uma determinada chave e precise descobrir se um array em particular contém um registro atribuído a essa chave, é possivel utilizar a função array_key_exists (bool) array_key_exists(<chave>,<array>);
  41. 41. Exemplo com array_key e array_key_exists <?PHP $meuArray = array('alfa' => 0, 1 => 1, 'dois' => 2); print_r(array_keys($meuArray)); // Resultado: Array ( [0] => alfa [1] => 1 [2] => dois ) echo(array_key_exists('dois', $meuArray)); // Resultado: 1 ?>
  42. 42. Localizar valores em arrays com array_search e in_array Para saber se um determinado valor está contido em um array utilie o array_search (mixed) array_search(<elemento>,<array>); Retorno: retorna a chave referente ao valor procurado, no caso de encontrá-lo se não retorna FALSE.
  43. 43. Exemplo array_search e in_array <?PHP $meuArray = array('aaa', 'bb', 'Chave do c' => 'c', 'ddd'); echo(array_search('aaa', $meuArray).'<BR>'); // Resultado: 0 echo(array_search('c', $meuArray).'<BR>'); // Resultado: Chave do c echo(array_search('nenhum', $meuArray).'<BR>'); // Resultado: <vazio> ?> Obs. Similar a função array_search, o comando in_array retorna TRUE caso encontre e FALSE caso não.
  44. 44. Misturar e ordenar arrays É possível ordenar arrays por ordem crescente(sort) e decrescente (rsort), bem como podemos embaralhá-lo(shuffle). (bool) sort(<array>); (bool) rsort(<array>); (bool) shuffle(<array>);
  45. 45. Exemplo misturar e ordenar arrays <?PHP $meuArray = array('a', 1, 'b', 'c', 2, '0', '4'); sort($meuArray); print_r($meuArray); // Resultado: // Array ( [0] => 0 [1] => 4 [2] => a [3] => b [4] => c [5] => 1 [6] => 2 ) echo('<BR>'); rsort($meuArray); print_r($meuArray); // Resultado: // Array ( [0] => 2 [1] => 1 [2] => c [3] => b [4] => a [5] => 4 [6] => 0 ) echo('<BR>'); shuffle($meuArray); print_r($meuArray); // Resultado: // Array ( [0] => c [1] => 0 [2] => 4 [3] => a [4] => 1 [5] => 2 [6] => b ) ?>
  46. 46. Formulários
  47. 47. $_POST e $_GET As supervariáves $_POST e $_GET são arrays que representam os dados enviados ao servidor pelo método post e get. Estas variáveis estão diponíveis em todas as partes em que forem requisitadas. $_REQUEST A supervariável $REQUEST reúne o conteúdo das supervariáveis $_POST, $_GET e $COOKIES. A vantagem é que, independete do método de envio dos dados de um formulário, é possível acessar o campo por seu nome.
  48. 48. Vamos PRATICAR?
  49. 49. Fomulário <HTML> <HEAD> <TITLE>EXEMPLO - Formul·rios</TITLE> </HEAD> <BODY> <FORM method="POST" action="?action=save" name="meuForm"> Nome: <INPUT type=TEXT name=CAMPO_NOME> <BR>Idade: <INPUT type=TEXT name=CAMPO_IDADE> <BR>E-mail: <INPUT type=TEXT name=CAMPO_EMAIL> <BR>Sexo: <INPUT type=RADIO name=CAMPO_SEXO value="M">Masculino <INPUT type=RADIO name=CAMPO_SEXO value="F">Feminino <BR>Curso: <SELECT name=CAMPO_CURSO> <OPTION selected>Selecione...</OPTION> <OPTION>CiÍncia da ComputaÁ„o</OPTION> <OPTION>Bacharelado em Inform·tica</OPTION> <OPTION>Engenharia da ComputaÁ„o</OPTION> </SELECT> <BR>Conhecimentos: <INPUT type=CHECKBOX name=CAMPO_CONHECIMENTOS[] value="Word">Microsoft Word <INPUT type=CHECKBOX name=CAMPO_CONHECIMENTOS[] value="HTML">HTML <INPUT type=CHECKBOX name=CAMPO_CONHECIMENTOS[] value="JS">JavaScript <INPUT type=CHECKBOX name=CAMPO_CONHECIMENTOS[] value="PHP">PHP <BR> <INPUT type=RESET value="Limpar"> <INPUT type=SUBMIT value="Enviar"> </FORM> </BODY> </HTML>
  50. 50. Validação de texto $tamanho_nome = strlen($_POST["CAMPO_NOME"]); if($tamanho_nome < 5 || $tamanho_nome > 64) { echo("O campo 'Nome' deve ter entre 5 e 64 caracteres.".$tamanho_nome); $formValid = FALSE; }
  51. 51. Validação número $idade = (int)$_POST["CAMPO_IDADE"]; if(is_NaN($idade) || $idade < 4 || $idade > 120) { echo("O campo 'Idade' deve ter preenchido corretamente."); $formValid = FALSE; }
  52. 52. Validação email $email = $_POST["CAMPO_EMAIL"]; $regex = "/^[^0-9][A-z0-9_]+([.][A-z0-9_]+)*[@][A-z0-9_]+([.][A-z0- 9_]+)*[.][A-z]{2,4}$/"; if(!preg_match($regex, $email)) { echo("O campo 'E-mail' deve ter preenchido corretamente."); $formValid = FALSE; }
  53. 53. Validação de radio $sexo = $_POST["CAMPO_SEXO"]; if($sexo != "M" && $sexo != "F") { echo("O campo 'Sexo' deve ser preenchido."); $formValid = FALSE; }
  54. 54. Validação lista de seleção $curso = $_POST["CAMPO_CURSO"]; if($curso == "" || $curso == "Selecione...") { echo("O campo 'Curso' deve ser preenchido."); $formValid = FALSE; }
  55. 55. Cabousse…

×