Apresentação - Funpar

Propaganda
PHP - Revisão
Aula R
Prof. Naércio Filho
Técnico em Informática
www.funpar.ufpr.br:8080/naercio
PHP - Revisão

Sumario
–
–
–
–
–
–
–
–
–
–
–
–
Sintaxe
Variáveis
Strings
IF
Array
Looping
Funções
Formulários
Scripts Externos
Sessão
Upload de Arquivos
Banco de Dados
PHP - Sintaxe
Sintaxe
 o código php é delimitado por
<?
//código
?>

PHP - Variáveis
as variáveis do php são especificadas por $ antes
do nome
 dispensam tipagem, ou seja, não é preciso
especificar com qual tipo de dado irá se trabalhar
<?
$ze = “nome”;
$nu = 6;
$bo = true;
?>

PHP - Strings

as string em PHP possuem uma qualidade especial, as
delimitadas por " serão interpretadas primeiro
por exempo
<? $x = "abc";
$y = "$x def";
?>
o resultado será : abc def
ja em
<? $x = "abc";
$y = '$x def';
?>
o resultado será apenas : $x def

para concatenar uma string em php usa-se o ( . ) ponto
<? $z = $x . $y; ?>
o resultado será : abcdef
PHP - IF

sua estrutura em php é
If (condicao){
// codigo
} else {
// codigo
}

podendo agrupar outros dentro dele, ou em seu else
<?php
$d=date("D");
if ($d=="Fri")
echo "hoje é sexta-feira =)";
elseif ($d=="Sun")
echo "hoje é Domingo =/";
else
echo "hoje não é sexta-feira =(";
?>
PHP - Arrays


permitem guardar os dados em vetores
Numéricos
–
–

possuem seu índice como um valor numérico
podem ser criados de dois modos
automaticamente
$nomes = array("Joao","Maria","Jose");
ou
$nomes[] = "Joao";
$nomes[] = "Maria";
$nomes[] = "Jose";

Ou podem ser definidos manualmente
$nomes = array(5 => "Joao",32 => "Maria", 26 => "Jose");
ou
$nomes[5] = "Joao";
$nomes[32] = "Maria";
$nomes[26] = "Jose";
PHP - Arrays



Associativos
possuem seu índice como um texto
na criação precisam ter seu índice informado explicitamente
$idades = array('Joao' =>32, 'Maria' => 30, "Jose" => 34);
Ou assim:
$idades["Joao"] = "32";
$idades["Maria"] = "30";
$idades['Jose'] = "34";


Multidimensionais
são arrays que possuem outros arrays dentro
$nomes = array("Joao","Maria","Jose");
$idades = array('Joao' =>32, 'Maria' => 30, "Jose" => 34);
$turma = array($nomes, $idades);
PHP - Loopings
while
 verifica a condição antes de executar o bloco de códigos.
while (condicao){
// bloco de codigos
}
<?
$i=1;
while($i<=5) {
echo "O Numero é " . $i;
$i++;
}
?>

PHP - Loopings
do ... while
 executa o bloco de comandos uma vez antes de verificar a
condição
do {
// bloco de comandos
} while (condição);

<?
$i=0;
do {
$i++;
echo "o numero é " . $i;
} while ($i<5);
?>
PHP - Loopings
for
 é usado para situações quando se conhece a quantidade de
vezes a ser repetido
 a cada interação haverá uma variável contador disponível
for (inicialização; condição; incremento) {
// bloco de códigos
}
<?
for ($i=1; $i<=5; $i++) {
echo "o numero é " . $i;
}
?>

PHP - Loopings
foreach
 usado em Arrays, percorre o mesmo desde sua primeira
posição até a ultima, em cada interação haverá uma variável
com o índice e outra com o valor atual
foreach (array as índice => valor) {
//Bloco de comandos;
}
<?
$arr=array("um", "dois", "três");
foreach ($arr as $k => $v) {
echo "Posição: ". $k;
echo " Valor: " . $v;
}
?>

PHP - Funções
especialmente para reutilizar códigos, as funções ainda
facilitam a manutenção do código em rotinas que se repetem
function Nome_da_Funcao($parametros) {
Código a ser executado;
return valor de retorno;
}
 podem ter ou não parâmetros e um valor de retorno
<?
function soma($x,$y) {
$total = $x + $y;
return $total;
}
?>

PHP - Formulários

executam a interação entre um usuário e o sistema,
são por eles que os dados serão cadastrados
<form action="entra.php" method="post">
Nome: <input type="text" name="nome" />
senha: <input type="password" name="senha" />
<input type="submit" />
</form>


o tipo de método de envio (method) ira definir como
esses dados serão tratados no PHP
se esse dado for enviado pelo endereço da pagina
irá ser tratado como method="get"
PHP - Variáveis Especiais


os Arrays $_GET e $_POST, irão permitir
que os dados enviados por um formulário
sejam acessados por uma pagina em php
nesses vetores cada um dos elementos
serão um campo do formulário
Olá <?=$_POST["nome"]; ?>.<br />
Sua senha é <? echo $_POST["senha"]; ?>.
PHP - Scripts Externos
as vezes é preciso para evitar códigos duplicados
deixar algumas informações em scripts únicos,
então para inserir um cabeçalho, rodapé, menu, ou
um pacote de funções usa-se incluir arquivos dentro
de outros, esse é um modo de dizer ao PHP para
procurar dados dentro de outros arquivos
 Usa-se include / require
<?php
include("pagina.php");
// ou
require("pagina.php");
?>

PHP – Sessão $_SESSION





o Array de sessão permite que um dado (variável) permaneça
vivo durante toda a execução da aplicação
para trabalhar com sessões precisamos
iniciar uma sessão (pelo php podemos deixar essa fase
automática)
armazenar/ utilizar os dados
destruir a sessão
<? session_start(); // precisa ser a primeira coisa a ser escrita na pagina
$_SESSION['USUARIO'] = 'jose'; // armazenamos os dados como em um array
$_SESSION['SENHA'] = "1234";
echo $_SESSION['USUARIO']. " – " . $_SESSION['SENHA']; // e acessamos assim
// para destruir a sessão
unset($_SESSION['USUARIO']); //podemos destruir apenas um dado
session_destroy(); // ou toda a sessão
?>
PHP – Upload de Arquivos

usando o mesmo conceito de formulários, podemos
enviar arquivos para a aplicação
<form action="upload.php" method="post" enctype="multipart/form-data">
Arquivo:<input type="file" name="arquivo" id="arquivo" />
<input type="submit"/>
</form>


prestamos atenção à propriedade
enctype="multipart/form-data" do formulário, ela irá
informar que será enviado um arquivo nesse
formulário
e o campo input usamos o type="file", que irá
habilitar a pesquisa e a seleção do arquivo no
computador local
PHP – $_FILES


após ser enviado para o servidor para manipularmos
o arquivo temos outro array do php o $_FILES que
será indexado da seguinte forma:
no qual o índice "arquivo" possuirá o nome do input
do type="file" no formulário
$_FILES["arquivo"]["name"] - O nome do Arquivo.
$_FILES["arquivo"]["type"] - O Tipo do Arquivo.
$_FILES["arquivo"]["size"] - O Tamanho do Arquivo em Bytes.
$_FILES["arquivo"]["tmp_name"] - O nome temporário dado ao
arquivo no servidor.
$_FILES["arquivo"]["error"] - A Mensagem de erro caso exista.
PHP – $_FILES

após carregado no servidor podemos usar o comando
move_uploaded_file(tmp, original); para armazenar o arquivo
onde precisamos.
<?
if ($_FILES["arquivo"]["error"] > 0) {
echo "Codigo de Erro: " . $_FILES["arquivo"]["error"] . "<br />";
} else {
if (file_exists("upload/" . $_FILES["arquivo"]["name"])) {
echo $_FILES["arquivo"]["name"] . " Arquivo já existente. ";
} else {
move_uploaded_file($_FILES["arquivo"]["tmp_name"],
"upload/" . $_FILES["arquivo"]["name"]);
echo "Armazenado em: " . "upload/" . $_FILES["arquivo"]["name"];
}
}
?>
PHP – Banco de Dados






Ao usar bancos de dados em nossas
aplicações precisamos seguir alguns passos
1 - Fazer a conexão, abrir um link de
comunicação entre a aplicação e o SGDB
2 - Abrir uma transação
3 - Executar Comandos SQL, Selects,
Inserts, Updates, Deletes
4 - Finalizar a transação (commit, Rollback)
5 - Fechar a Conexão
PHP – Mysql
para o mysql podemos omitir as fazes de
abrir/fechar transação
 para fazer uma conexão usamos
mysql_connect(servidor,usuário,senha);
 Tambem precisamos escolher com qual
banco de dados trabalhar
mysql_select_db("Banco_de_dados",
Id_conexão);

PHP – Mysql
para executar uma ação no banco de dados
fazemos
mysql_query("sql",id_conexão);
 mysql_query executa qualquer
ação,comandos SQL, no banco de dados
(select, insert, update, delete, create, drop,
etc...)

PHP – Mysql
ao usar o mysql_query para executar um
select teremos um resultado para a
pesquisa, podemos acessa-lo com
mysql_fetch_array(Resultado da pesquisa);
 seu resultado será um array com as colunas
da tabela, como informado no sql, ou como
foi definido no BD (no caso de select *)
 caso seja usado para as outra ações irá
retornar apenas verdade para sucesso, ou
falso para falha.

PHP – Mysql

para acessar a msg de erro caso exista usa-se
mysql_error();

Após utilizar a conexão com o banco é necessário
fecharmos, existem dois caminhos
1 - podemos esperar a execução do código e o
termino do script (mais usado)
2 - podemos usar a função mysql_close(id_conexão)
PHP – Mysql
<?php
if ($con = mysql_connect("localhost","turma","abc123")){
mysql_select_db("aula", $con);
$result = mysql_query("insert into pessoa (nome, idade) values ('juvenal', 23)");
if ($result = mysql_query("SELECT nome, idade FROM pessoa")){
while($row = mysql_fetch_array($result)) {
echo $row['nome'] . " - " . $row['idade'];
echo "<br />";
}
} else {
echo mysql_error();
}
} else {
echo mysql_error();
}
?>
PHP - Exercícios

Exercícios das aulas anteriores em especial
os da aula 7 de montagem de formulário e
gravação de dados em um banco de dados.
PHP - Exercícios

Utilizando o formulário para gravação dos
dados, montar um formulário para enviar
usuário e senha, verificar no banco de dados
se o usuário esta cadastrado, e se a senha
confere, então salvar um identificador do
usuário na sessão e dar acesso a ele para
usar as telas de inclusão, alteração e
exclusão, dos exercícios da aula 7.
Download