PHP e MySQL
PHP e MySQL
WEBSITES COM
PHP E MYSQL
Sobre o Instrutor
• Formado em Ciências da Computação e pós-Graduado em Sistemas de
Informação.
• Atuo como Gerente de TI do Coren-DF.
• Atuei por mais de 15 anos como professor universitário.
• Atuei por 5 anos como instrutor de cursos técnicos e de qualificação
profissional no Senac.
2
Sobre você
• Nome e como gostaria de ser chamado(a).
• Local onde mora.
• Porque está fazendo este curso?
• Quais são suas expectativas?
3
Sobre o curso
• Este curso tem como objetivo proporcionar ao aluno, conceito e conhecimento
sobre desenvolvimento de sites utilizando a linguagem de programação PHP,
além de apresentar as principais características de Bancos de Dados, com foco no
MySQL.
• É destinado a pessoas interessadas em desenvolver websites com linguagem de
programação PHP e Banco de Dados MySQL.
4
INTRODUÇÃO E
UTILIZAÇÃO DE
UM AMBIENTE
DE
PROGRAMAÇÃ
O WEB
World Wide Web (WWW)
• O World Wide Web (WWW) é um termo técnico (e anglicismo de tecnologia da
informação) que foi traduzido para a língua portuguesa como rede mundial de
computadores, também conhecido como Web, que designa um sistema de
documentos em hipermídia que são interligados e executados na Internet.
• Os documentos podem estar na forma de vídeos, sons, hipertextos e imagens.
Para consultar a informação, pode-se usar um programa de computador
chamado navegador web (Internet Explorer, Google Chrome, Mozilla Firefox,
Microsoft Edge, Opera etc), para baixar informações (chamadas "documentos" ou
"páginas") de servidores web (ou "sítios") e mostrá-los na tela do usuário (tela do
utilizador).
• O usuário (utilizador) pode então seguir as hiperligações (links) na página para
outros documentos ou mesmo enviar informações de volta para o servidor para
interagir com ele. O ato de seguir hiperligações é, comumente, chamado
"navegar" ou "surfar" na Web. 7
Padrões
• A funcionalidade da web é baseada em três padrões:
• Uniform Resource Locator (URL) ou ocalizador uniforme de recursos, um sistema
que especifica como cada página de informação recebe um "endereço" único
onde pode ser encontrada.
• protocolo://domínio:porta/caminho/recurso?query_string#fragmento
• Hypertext Transfer Protocol (HTTP) ou Protocolo de Transferência de Hipertexto,
um protocolo que especifica como o navegador e servidor web comunicam entre
si.
• HyperText Markup Language (HTML) ou Linguagem de Marcação de Hipertexto,
uma linguagem de marcação para codificar a informação de modo que possa ser
exibida em uma grande quantidade de dispositivos.
8
Funcionamento
• Visualizar uma página web ou outro recurso disponibilizado normalmente inicia
ou ao digitar uma URL no navegador ou seguindo (acessando) uma hiperligação.
Primeiramente, a parte da URL referente ao servidor de rede é separada e
transformada em um endereço IP, por um banco de dados da Internet chamado
domain name system (DNS). O navegador estabelece, então, uma conexão TCP-IP
com o servidor web localizado no endereço IP retornado.
• O próximo passo é o navegador enviar uma requisição HTTP ao servidor para
obter o recurso indicado pela parte restante da URL (retirando-se a parte do
servidor). No caso de uma página web típica, o texto HTML é recebido e
interpretado pelo navegador, que realiza então requisições adicionais para
figuras, arquivos de formatação, arquivos de script e outros recursos que fazem
parte da página.
• O navegador, então, renderiza (reconstitui) a página na tela do usuário
(utilizador), assim como descrita pelos arquivos que a compõe. 9
Funcionamento - Modelo Cliente
Servidor na Web
10
Client-side
• É tudo processado no lado do cliente. O client-side é interpretado diretamente
pelo browser (navegador) do usuário.
• Sendo assim ao acessar uma página web o HTML, CSS e JavaScript são
interpretados todos pelo navegador sem intervenção nenhuma de um servidor.
Por isso podemos exibir o código fonte em nosso browser e visualizar o HTML,
CSS e o JavaScript.
11
Server-side
• O oposto do client-side. Aqui as informações são processadas por um servidor
web que interpretara e retornará o resultado que será exibido no browser. Sendo
assim não é possível visualizar o código de uma aplicação rodando no Server-side.
12
Servidor Web
• Servidor web é um software responsável por aceitar pedidos em HTTP de
clientes, geralmente os navegadores, e servi-los com respostas em HTTP,
incluindo opcionalmente dados, que geralmente são páginas web, tais como
documentos em HTML com objetos embutidos (imagens, etc.) ou um
computador que executa um programa que provê a funcionalidade descrita
anteriormente.
• Os sites e as aplicações web são implantados em computadores denominados
Web Servers.
• O mais popular, e mais utilizado no mundo, é o servidor Apache (software livre).
A Microsoft possui a sua própria solução denominada IIS (Internet Information
Services).
13
Aplicação web
• Em computação, aplicação web designa, de forma geral, sistemas de informática
projetados para utilização através de um navegador, através da internet ou
aplicativos desenvolvidos utilizando tecnologias web HTML, JavaScript e CSS.
Pode ser executado a partir de um servidor HTTP (Web Host) ou localmente, no
dispositivo do usuário.
• Uma aplicação web também é definida em tudo que se é processado em algum
servidor, exemplo: quando você entra em um e-commerce a página que você
acessa antes de vir até seu navegador é processada em um computador ligado a
internet que retorna o processamento das regras de negócio nele contido. Por
isso se chama aplicação e não simplesmente site web.
14
Desenvolvimento Web
• Desenvolvimento web é o termo utilizado para descrever o desenvolvimento de
sites, na Internet ou numa intranet. Este é o profissional que trabalha
desenvolvendo websites, podendo ser um Web Designer (Desenvolvedor do
Layout), ou Web Developer(Desenvolvedor de sistemas).
• O desenvolvimento refere-se a um processo de construção e testes do software
especifico para a web, com a finalidade de se obter um conjunto de programas,
que satisfazem as funções pretendidas, quer em termos de usabilidade dos
usuários ou compatibilidade com outros programas existentes.
• O desenvolvimento web pode variar desde simples páginas estáticas a aplicações
ricas, comércios eletrônicos ou redes sociais.
15
Codificação no cliente (Front-end)
• A separação de sistemas de software em front-end e back end simplifica o
desenvolvimento e separa a manutenção.
• Uma regra de ouro é que o lado front (ou "cliente") é qualquer componente
manipulado pelo usuário.
• Desenvolvedor front-end: é o responsável que projeta as interfaces de um
website. São eles que trabalham com o HTML, JavaScrip e o CSS para construir as
páginas web.
• O desenvolvedor front-end é responsável por “dar vida” à interface. Trabalha com
a parte da aplicação que interage diretamente com o usuário. Por isso, é
importante que esse desenvolvedor também se preocupe com a experiência do
usuário.
• Na parte de estudo, este profissional foca em HTML (linguagem de marcação),
CSS (linguagem de estilo) e JavaScript (linguagem de script/programação). 16
Codificação no servidor ( Back-
end )
• O código do lado servidor (ou "back-end") reside no servidor.
• Desenvolvedor back-end: é o responsável por dinamizar o site através das
linguagens de programação.
• Desenvolvedores que preferem se especializar apenas em back-end, geralmente,
não são muito bons em deixar páginas bonitas e com boa usabilidade, mas são
melhores em regras de negócio, banco de dados e todas as coisas que rodam no
servidor.
• É o back-end que fornece e garante todas as regras de negócio, acesso a banco de
dados, segurança e escalabilidade.
• Esses desenvolvedores trabalham com linguagens de programação como, por
exemplo, Java, C#, PHP, Python, Ruby ou até mesmo JavaScript (sim, tem jeito de
rodar JavaScript no servidor também).
17
18
Conceitos
básicos de
HTML5
O que é HTML?
• O HTML é uma das linguagens que utilizamos para desenvolver websites. O
acrônimo HTML vem do inglês e significa Hypertext Markup Language ou em
português Linguagem de Marcação de Hipertexto.
• O HTML é a linguagem base da internet. Foi criada para ser de fácil entendimento
por seres humanos e também por máquinas, como por exemplo o Google ou
outros sistemas que percorrem a internet capturando informação.
• Atualmente a HTML encontra-se na versão 5 e é padronizada pelo W3C (World
Wide Web Consortium), uma organização internacional responsável por
estabelecer padrões para a internet, como a linguagem XML, as CSS e o SOAP.
20
O que é HTML segundo W3C
• HTML significa Hyper Text Markup Language.
• HTML descreve a estrutura das páginas da Web usando marcação.
• Os elementos HTML são os blocos de construção de páginas HTML.
• Os elementos HTML são representados por tags.
• As tags HTML peças de conteúdo, como "título", "parágrafo", "mesa", e assim por
diante
• Browsers não exibem as tags HTML, mas usa para processar o conteúdo da
página.
21
Quem criou o HTML?
• Tim Berners-Lee. Esse é o nome do homem que criou o HTML. Ele criou o HTML
para a comunicação e disseminação de pesquisas entre ele e seu grupo de
colegas. O HTML ficou bastante conhecido quando começou a ser utilizada para
formar a rede pública daquela época, o que se tornaria mais tarde a internet que
conhecemos hoje.
22
Marcas ou marcadores (tags)
• Todo documento HTML possui marcadores (do inglês: tags), palavras entre
parênteses angulares (chevron) (< e >).
• Os marcadores são os comandos de formatação da linguagem.
• Um elemento é formado por um nome de marcador (tag), atributos, valores e
filhos (que podem ser outros elementos ou texto).
• Os atributos modificam os resultados padrões dos elementos e os valores
caracterizam essa mudança.
23
Estrutura Básica HTML
• doctype – tipo do documento
• <html> – tag principal, ela marca o início e o final
do documento.
• <head> – tag usada para delimitar o cabeçalho do
documento. Dentro dela outras tags de cabeçalho
serão usadas, como o title, meta, link, entre
outros.
• <title> – tag usada para indicar o título do
documento.
• <body> – tag usada para definir o corpo do
documento. Dentro dela serão colocadas as tags
que irão compor a nossa página
24
25
26
27
HTML Títulos
• Cabeçalhos HTML são definidas com a <h1> de <h6> tags.
• <h1> define o título mais importante. <h6> define o título menos importante:
• Exemplo
• <h1>This is heading 1</h1>
• <h2>This is heading 2</h2>
• <h3>This is heading 3</h3>
28
HTML parágrafos
• Parágrafos HTML são definidas com a <p> tag:
• Exemplo:
• <p>This is a paragraph.</p>
• <p>This is another paragraph.</p>
29
Links em HTML
• Links HTML são definidas com a <a>tag:
• Exemplo:
• <a href="https://www.w3schools.com">This is a link</a>
30
Imagens de HTML
• Imagens HTML são definidas com a <img> tag.
• O arquivo de origem ( src), texto alternativo ( alt), width e height são fornecidos
como atributos:
• Exemplo:
• <img src="w3schools.jpg" alt="W3Schools.com" width="104" height="142">
31
Botões HTML
• Botões HTML são definidas com a <button>tag:
• Exemplo:
• <button>Click me</button>
32
Listas de HTML
• Listas HTML são definidas com a <ul>(lista não ordenada / bala) ou o
<ol>(ordenado / lista numerada) tag, seguido por <li> tags (os itens da lista).
• Exemplo:
• <ul>
<li>Coffee</li>
<li>Tea</li>
<li>Milk</li>
• </ul>
33
HTML Styles
• O HTML styleatributo tem a seguinte sintaxe :
• <tagname style="property:value;">
• O background-color propriedade define a cor de fundo para um elemento HTML.
• <body style="background-color:powderblue;">
• O color propriedade define a cor do texto para um elemento HTML:
• <h1 style="color:blue;">This is a heading</h1>
• A font-family propriedade define a fonte a ser usado para um elemento HTML:
• <h1 style="font-family:verdana;">This is a heading</h1>
• A font-size propriedade define o tamanho do texto para um elemento HTML:
• <h1 style="font-size:300%;">This is a heading</h1>
• A text-align propriedade define o alinhamento do texto horizontal para um elemento HTML.
• <h1 style="text-align:center;">Centered Heading</h1>
34
Elementos formatação HTML
• <b> - Texto em negrito
• <strong> - texto Importante
• <i> - O texto em itálico
• <em> - texto enfatizado
• <mark> - texto marcado
• <small> - texto pequeno
• <del> - O texto excluído
• <ins> - Texto inserido
• <sub> - Texto Subscrito
• <sup> - texto sobrescrito
35
HTML tags de comentário
• <!-- This is a comment -->
• <p>This is a paragraph.</p>
36
Valores de cor
• Em HTML, as cores também pode ser especificado usando valores RGB, valores HEX, valores HSL,
valores RGBA e valores HSLA:
• Em HTML, uma cor pode ser especificado como um valor RGB, usando a seguinte fórmula: RGB
( vermelho, verde , azul )
• Cada parâmetro (vermelho, verde e azul) define a intensidade da cor entre 0 e 255.
• Por exemplo, RGB (255, 0, 0) é apresentado como vermelho, vermelho porque é definido para o
valor mais alto (255) e os outros são definidos como 0.
• Para exibir a cor preta, todos os parâmetros de cor deve ser definida como 0, assim: rgb (0, 0, 0).
• Para exibir a cor branca, todos os parâmetros de cor deve ser definida para 255, assim: rgb (255,
255, 255).
• <h1 style="background-color:#ff6347;">...</h1>
37
Valores de cor
38
HTML Tabelas
• Uma tabela HTML é definido com a <table> tag.
• Cada linha da tabela é definida com a <tr> tag.
• Um cabeçalho da tabela é definida com a <th>.
• Por padrão, títulos de tabela estão em negrito e centralizados
• Um dados / célula da tabela é definida com a <td> etiqueta.
39
O elemento <form>
• O HTML <form> elemento define uma forma que é utilizado para a recolha de
entrada de usuário.
• O action atributo define a ação a ser executada quando o formulário é enviado.
• O method atributo especifica o método HTTP ( GET ou POST ) para ser utilizado
aquando da apresentação de dados do formulário.
40
O elemento <input>
• O <input> elemento é o mais importante elemento de formulário.
• O <input> elemento pode ser apresentado de várias maneiras, dependendo do
tipo de atributo.
• Aqui estão alguns exemplos:
• <Input type = "text"> Define um campo de entrada de texto de uma linha
• <Input type = "radio"> Define um botão de rádio (para a seleção de uma das
muitas escolhas)
• <Input type = "submit"> Define um botão de envio (para enviar o formulário)
41
Exemplo <form>
42
43
Tipos que podem ser utilizados com a
tag <input>
• button: Insere um botão
• checkbox: Insere um checkbox; para vários itens, basta inserirmos vários “inputs” deste tipo
• file: Insere botão seleção de arquivo através de uma caixa de diálogo
• hidden: Campo pertencente ao formulário, mas que não será exibido na página
• image: Insere uma imagem como um botão submit
• password: Insere um campo password (caracteres digitados não aparecem)
• radio: Insere um radiobox (análogo ao checkbox)
• reset: Restaura os valores iniciais do formulário
• submit: Encaminha os dados inseridos para algum arquivo
• text: Insere um campo de edição de texto
44
Input Type
45
Web Design Responsive
• Web Design Responsive é sobre o uso de HTML e CSS para redimensionar
automaticamente, ocultar, reduzir ou ampliar, um site, para torná-lo ficar bem em
todos os dispositivos (computadores, tablets e telefones).
• Exemplo:
• <meta name="viewport" content="width=device-width, initial-scale=1.0">
46
Exercício: Criar em HTML um
formulário
47
VSCode IDE
• O Visual Studio Code é um editor de código-fonte desenvolvido pela Microsoft
para Windows, Linux e macOS.
• Ele inclui suporte para depuração, controle Git incorporado, realce de sintaxe,
complementação inteligente de código, snippets e refatoração de código.
• Extensão:
• Emmet - https://docs.emmet.io/cheat-sheet/
• Tema: Omni
• Live Server: Alt+l+O
• Identação de Código: Shift+Alt+F
48
Conceitos
básicos de
CSS
Introdução a CSS
CSS é a sigla em inglês para Cascade Style Sheet (Folha de
Estilo em Cascata)
É um mecanismo simples para adcionar estilos (fontes, cores, espaçamentos,
bordas, etc) aos documentos web
CSS é um Web Standard
conjunto de normas, diretrizes, recomendações produzidos pelo W3C e destinados
a orientar desenvolvedores para o uso de práticas que possibilitem a criação de
uma Web acessível para todos (independente de dispositivo ou necessidades
especiais.
Porque usar CSS?
Regra de estilo
seletor { propriedade: valor; }
Declaração
body{
background-color: blue;
}
A regra CSS e sua sintaxe
body{
background-color: blue;
}
No exemplo
o seletor é o documento todo
(body)
a propriedade é a cor do fundo
e o valor é a cor azul
A regra CSS e sua sintaxe
body{
background-color: blue;
font-familly: “Arial Narrow”;
}
• A declaração da folha de estilo é realizada dentro da tag <head> e com o elemento <style>
• A folha de estilo fica incorporada nas tags <style> e </style> da página em questão
<!DOCTYPE...>
<html xmlns=...>
<head>
<title> Exemplo de CSS </title> ...
<style> <body>
p{ <p>
color: white; Este parágrafo tem cor
background-color: green; branca, fundo verde, está
text-align: center; centralizado, fonte Arial
font-family: “Arial Narrow , tem tamanho 15 e
Narrow”; font-size: está em negrito.
15pt; </p>
font-weight: bold;
} </body>
</style> </html>
</head>
...
Estilos INCORPORADOS
Estilos Externos
Nesse método, a declaração é definida em um arquivo externo
com extensão .css contendo as regras de estilo e pode ser
aplicada a vários documentos (várias páginas)
Existem 2 tipos
Folhas de estilo “linkadas” – é criado um link para o arquivo externo no
elemento <head>, com o uso do elemento link
...
<head>
<link rel=“stylesheet” type=“text/css” href=“estilo.css” media=“all”>
</head>
...
Estilos Externos
Estilos Externos
Folhas de estilo “importadas” – usa-se a diretiva @import dentro do
elemento <style>
...
<head>
<style type=“text/css”>
@import url(“estilo.css”) all;
</style>
</head>
...
Seletor Universal
Aplicado a todos os elementos do documento.
O exemplo abaixo indica que todos os elementos textuais terão a
cor
azul
* { color: blue; }
Seletor de Tipo
O estilo é aplicado diretamente a um determinado elemento de
marcação
No exemplo abaixo, a folha de estilo criada (meuestilo.css) indica
que todos os parágrafos estarão em itálico com cor verde, os
cabeçalhos h3 e h4 serão da fonte Arial e os itens de uma lista
terão tamanho 12px.
É possível definir a mesma regra para vários elementos, separando-os por vírgulas
Seletor de Tipo
É possível ainda, ter várias regras para o mesmo
elemento
h3, h4 {
font-family: Arial;
}
h3{
color: blue;
}
h4{
color: yellow;
}
Seletor de Tipo
Propriedades
color: define a cor de primeiro plano de um elemento. Já vimos o
que essa propriedade faz em exemplos anteriores
background-color: define a cor de fundo de um elemento
Propriedades (Background)
background-image: usada para definir uma imagem de fundo para
a página
Propriedades (Background)
background-repeat: usada para definir a frequencia de
repetição da imagem de fundo.
Por padrão, o valor é repeat (repetir na direção x e y)
Propriedades (Background)
background-position: permite alterar a posição padrão de uma
imagem de fundo
Por padrão, o valor é canto superior esquerdo
Propriedades (Background)
background-attachment: permite fixar o plano de fundo. Quando
rolar pela página, permanecerá fixo.
background-attachment: fixed;
background-attachment: scroll;
Propriedades (Fontes)
font-family: prioridade para apresentação de um elemento em uma página. Se a
primeira fonte da lista não estiver disponível na máquina do usuário, deverá
ser usada a segunda e assim por diante:
font-sytle: pode assumir os valores normal, italic ou oblique.
font-weight: normal, bolder, bold, lighter,...
Unidades de Medidas
Quando valores são definidos para as
propriedades CSS, são utilizadas algumas
medidas;
Dividem-se em 2 grupos:
Unidades absolutas:
in – polegada
cm – centímetro
mm – milímetro
pt – ponto
Unidades relativas:
pc – pica. 1 pc = 12 pt
font-size: 30px;
%
font-size:
em – 1 em é igual ao tamanho da fonte
definido 12pt; font-
ex – 1 ex equivale à altura da letra “x”
minúscula
size: 120%;
px – define o tamanho de um pixel no font-size:
monitor
1em;
Propriedades (Fontes)
o elemento <img> terá seu alinhamento alterado caso seja definido uma
propriedade text-align para um elemento de bloco onde o <img> esteja
aninhado, pois ele é um elemento de linha!
Um pouco sobre cores
Sistema de Cores
RGB
O vermelho (R - red), o verde (G – green) e o azul (B – blue) são combinados
para formar outras cores.
Um pouco sobre cores
CSS permite especificar cores de diferentes modos
As cores podem ser definidas usando seu nome
Mas só há apenas algumas cores que são definidas pelo nome: aqua, black, blue, fuchsia, gray,
green, lime, maroon, navy, olive, orange, purple, red, silver, teal, white, yellow
Ou ainda...
h3{
color: rgb(0, 255, 255);
}
Ou ainda...
h3{
color: #00FFFF;
}
Tabela de Cores RGB
Neste endereço pode ser encontrada uma tabela com diversos
códigos de cores RGB
Entretanto, são possíveis 16 milhões de combinações
Tipos de Seletores
Como fazer para aplicar diferentes estilos a elementos de um
mesmo tipo?
Se quiser que os dois parágrafos abaixo possuam estilos diferentes?
p{ p{
border: 1px solid blue; border: 3px dashed purple;
color: red; color: gray;
} }
Seletor de Classe
Utiliza o atributo “class” diferencia elementos (não deve ser
iniciada com
números)
p.tipo1{ p.tipo2{
border: 1px solid blue; border: 3px dashed purple;
color: red; color: gray;
} }
ERRADO:
CERT
O:
<h1 id=“meucabecalhoh1”> Cabeçalho h1 </h1>
<h2 id=“meucabecalhoh2”> Cabeçalho h2 </h1>
Seletor de atributo
Adcionando estilo em elementos com atributos
específicos.
input[type=“text”]
{ background-color:
blue; color: white;
}
Links
Aplicar propriedades aos links de acordo com o seu estado
(visitado, não visitado, ativo)
Normalmente (dependendo do navegador)
Links não visitados são da cor azul
Links visitados são da cor roxa
VER EXEMPLO
Utilização de pseudo-classes
Adcionar “efeitos especiais” a alguns seletores
Utilização de “:”
Links
Elemento a. Pseudo-classe:
link
a:link{
color: green;
}
Links
Elemento a. Pseudo-classe:
hover
a:hover{
color: gray;
}
Links
Elemento a. Pseudo-classe:
visited
a:visited{
color: yellow;
}
Links
Dica: removendo o sublinhado de
links
a{
text-decoration: none;
}
ul{ ul{
list-style-type: circle; list-style-type: square;
} }
Listas Desordenadas
list-style-
type
Valor Descrição
none Sem marcador
disc Default. O marcador é um círculo preenchido
circle O marcador é um círculo
square O marcador é um quadrado
Listas Ordenadas
list-style-
type
Valor Descrição
none Sem marcador
circle Círculo
disc Default. Círculo preenchido
square Quadrado
armenian Número Armenian
decimal Número
decimal-leading-zero Número com zeros iniciais (01, 02, 03, etc.)
georgian Numeração georgiano tradicional (an, ban, gan, etc.)
lower-alpha Letra minúscula (a, b, c, d, e, etc.)
lower-greek Grego minúsculo (alpha, beta, gamma, etc.)
lower-latin Latin minúsculo (a, b, c, d, e, etc.)
lower-roman Romano minúsculo (i, ii, iii, iv, v, etc.)
upper-alpha Letra maiúscula (A, B, C, D, E, etc.)
upper-latin Latino Maiúsculo (A, B, C, D, E, etc.)
upper-roman Romano Maiúscula (I, II, III, IV, V, etc.) A
a
l
b
Listas
O Modelo de Caixa (Box Model)
<p>
“HERCULE POIROT PAROU no patamar por um instante
com a cabeça um pouco inclinada, como se esperasse ouvir
alguma coisa. Nenhum ruído vinha do andar de baixo.
Aproximou-se da janela e viu Mary Restarick embaixo
novamente entretida com a jardinagem”
</p>
<h4>
Trecho retirado do livro “A Terceira Moça” de Agatha
Christie
</h4>
O Modelo de
Caixa
Com um pouco de estilo, podemos
transformar
O Modelo de Caixa
Com um pouco de estilo, podemos
transformar
TO
bord P
er
n
margi
paddi
ng
paddi
paddi
margi RIGH
ng
margi
ng
LEF n T
T n
paddi
ng
n
margi
BOTTO
M
Definindo as Margens de um Elemento
body{
margin-top: 100px;
margin-left: 70px;
margin-right: 40px;
margin-right:
10px;
}
Ou ainda...
body{
margin: 100px
40px 10px 70px;
}
Definindo o Padding de um elemento
Pode ser entendido como “enchimento” de um
elemento.
h4{
background: yellow;
padding: 20px 20px 20px 80px;
}
Antes:
Depois
Bordas
As bordas podem ser usadas para infinitas
coisas
Elemento decorativo ou servir de separação entre dois
elementos
CSS proporciona infinitas possibilidades de utilização de
bordas
Espessura [border-width]
Pode assumir valores: thin, medium, thick (fina, média e
grossa)
Ou um valor
numérico
Bordas
Cores [border-color]
border-style:
double;
}
Bordas
É possível ainda definir propriedades diferentes para cada uma
das bordas (left, right, top, bottom)
h4{
(...)
border-top-width: thick;
border-top-style: solid;
border-top-color: red;
border-bottom-width: thick;
border-bottom-style: dashed;
border-bottom-color: blue;
}
“Compilando” valores...
É possível fazer as declarações para o mesmo elemento
utilizando uma linha só:
Isto não serve apenas para bordas
h4{
}
LAYOUT DE SITES
Elementos responsáveis pela estruturação de páginas HTML
div e span
Agrupar e prover estrutura aos documentos
Ver exemplo
PROPRIEDADES: FLOAT
Desativando o float
Se for preciso que um elemento flutue pela página mas que nenhum outro
elemento fique ao
seu redor, pode-se utilizar propriedade clear
.imagemFlutuante {
clear: both;
}
PROPRIEDADES: FLOAT
h2.pos_esq
{ position:
relative; left: -
20px;
}
h2.pos_esq
{ position:
relative; left: -
20px;
}
HTML E A TAG DIV
Utilização da tag
<div> ... </div>
Cria uma divisão ou uma seção em um documento
Geralmente usado para formatar um grupo de elementos
com estilos
<div id=“principal”> <div class=“superior”>
HTM L
</div> </div>
#principal{ .superior{
width
margin
padding
background
border
float
position
...
LAYOUT
Passos para criação de layouts:
Identificar como você deseja dispor os elementos da sua
página
Agrupar os elementos utilizando <div>
Criar CSS para a div especificada
LAYOUT
Passos para criação de layouts:
Identificar como você deseja dispor os elementos da sua
página
Agrupar os elementos utilizando <div>
Criar CSS para a div especificada
... ...
</div> </div>
<div id=“m<enduiv”>id=“conteudo”>
133
O Bootstrap é importante?
• Mais do que outros framework front-end, o Bootstrap tem se tornado ao longo
dos anos uma das ferramentas mais importantes para a criação de websites. Isto
porque seus padrões seguem os princípios de usabilidade e as tendências de
design para interfaces.
• Além disso, sua padronização permite que os sites tenham um melhor aspecto,
sendo uma forma de criar páginas esteticamente agradáveis. E você sabe que
quanto melhor o design de uma página, maior a taxa de satisfação dos usuários.
134
Características e Vantagens do
Bootstrap
• Biblioteca de componentes
• Reuso de código
• Documentação e comunidade
• Padrão visual
• Responsividade
• Biblioteca de componentes
• Talvez uma das características mais interessantes deste framework é o fato dele
possuir uma extensa biblioteca de componentes, como ícones, caixas de texto,
painéis e cores em links.
135
Reuso de código
• Assim como é objetivo de todo framework, o Bootstrap permite que menos
código possa ser escrito, já que ele entrega uma série de formatações visuais
prontas.
• A única necessidade do desenvolvedor é saber qual a classe ele deve chamar.
136
Responsividade
• Além de padronizar uma série de parâmetros, o Bootstrap é uma das formas mais
fáceis de deixar um site responsivo. Se você não sabe o que significa o termo, ele
quer dizer que um site é adaptável a diferentes tipos de tela, como celular, tablet
ou computador.
• Hoje, indica-se que todos os sites devem ser responsivos para melhorar a
experiência do usuário e trazer benefícios para rankeamento do Google. Com o
Bootstrap, isso é algo extremamente facilitado. Com apenas uma linha de código
é possível deixar todo o projeto responsivo e melhorar a exibição do conteúdo de
acordo com tags específicas.
137
Template inicial
<!DOCTYPE html>
<html lang="pt-br">
<head>
<meta charset="utf-8">
<title>Olá, mundo!</title>
</head>
<body>
<h1>Olá, mundo!</h1>
</body>
</html>
138
HTML5 doctype
• Bootstrap exige o uso do doctype HTML5. Sem isso, você verá alguns estilos
incompletos e esquisitos.
<!DOCTYPE html>
<html lang="pt-br">
...
</html>
139
Meta tag responsiva
• Bootstrap tem uma abordagem mobile first, uma estratégia que optimizamos o
código para dispositivos móveis primeiro e, então, é que começamos a pensar em
media queries para aparelhos maiores. Por isso, para garantir renderização
adequada e touch zooming em todos eletrônicos, use a tag responsiva viewport
no <head>.
140
Tables
• <table class="classe">
• .table
• .table-striped
• .table-bordered
• .table-hover
• .table-condensed
141
Images
• <img src="imagem" class="classe" alt="" width="height="">
• .img-rounded
• .img-circle
• .img-responsive
142
Jumbotron Inside Container
<div class="container">
<div class="jumbotron">
<h1>Bootstrap Tutorial</h1>
<p>Bootstrap is the most popular HTML, CSS, and JS framework for developing
responsive, mobile-first projects on the web.</p>
</div>
<p>This is some text.</p>
<p>This is another text.</p>
</div>
143
Wells
• Basic Well
• Example
<div class="well">Basic Well</div>
.well-lg
.well-sm
144
Alerts
<div class="alert alert-success">
<strong>Success!</strong> Indicates a successful or positive action.
</div>
146
NavBar
<nav class="navbar navbar-inverse">
<div class="container-fluid">
<div class="navbar-header">
<a class="navbar-brand" href="#">WebSiteName</a>
</div>
<ul class="nav navbar-nav">
<li class="active"><a href="#">Home</a></li>
<li class="dropdown">
<a class="dropdown-toggle" data-toggle="dropdown" href="#">Page 1
<span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a href="#">Page 1-1</a></li>
<li><a href="#">Page 1-2</a></li>
<li><a href="#">Page 1-3</a></li>
</ul>
</li>
<li><a href="#">Page 2</a></li>
<li><a href="#">Page 3</a></li>
</ul>
</div>
</nav>
147
Forms
• Wrap labels and form controls in <div class="form-group"> (needed for optimum
spacing)
• Add class .form-control to all textual <input>, <textarea>, and <select> elements
<form action="/action_page.php">
<div class="form-group">
<label for="email">Email address:</label>
<input type="email" class="form-control" id="email">
</div>
<div class="form-group">
<label for="pwd">Password:</label>
<input type="password" class="form-control" id="pwd">
</div>
<div class="checkbox">
<label><input type="checkbox"> Remember me</label>
</div>
<button type="submit" class="btn btn-default">Submit</button>
</form>
148
Modal
<!-- Modal -->
<div class="modal fade" id="myModal" role="dialog">
<div class="modal-dialog modal-sm">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">×</button>
<h4 class="modal-title">Modal Header</h4>
</div>
<div class="modal-body">
<p>This is a small modal.</p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>
149
Introdução ao
PHP
Servidor WEB XAMPP
• XAMPP Apache + MariaDB + PHP + Perl
• XAMPP é o ambiente de desenvolvimento PHP mais popular.
• O XAMPP é gratuito, de fácil de instalar a distribuição Apache, contendo MySQL,
PHP e Perl.
• O pacote de código aberto do XAMPP foi criado para ser fácil de instalar e de
usar.
151
Arquivos do projeto no XAMPP
• A pasta de projetos utilizando o XAMPP é: C:\
xampp\htdocs
• Dentro dessa pasta crie uma pasta com o
nome do seu projeto. Ex: C:\xampp\htdocs\
PASTA_DO_PROJETO
• Agora arraste a pasta até a área de trabalho
do VSCode IDE.
• Dê um START no XAMPP e vai no navegador e
digite a (URL) :
http://localhost/PASTA_DO_PROJETO.
• OBS: é importante verificar se o Apache está
iniciado (start).
152
VSCode IDE
• O Visual Studio Code é um editor de código-fonte desenvolvido pela Microsoft
para Windows, Linux e macOS.
• Ele inclui suporte para depuração, controle Git incorporado, realce de sintaxe,
complementação inteligente de código, snippets e refatoração de código.
• Extensões recomendadas:
153
Localhost
• Na computação, o termo localhost se refere à localização do sistema que está
sendo usado.
• É um dispositivo loopback ao qual é atribuído o endereço IP 127.0.0.1 no IPv4,
ou::1 no IPv6, e pode ser usado por aplicações TCP/IP para testarem a
comunicação consigo mesmas.
154
Introdução ao PHP
• PHP (um acrônimo recursivo para "PHP: Hypertext Preprocessor", originalmente
Personal Home Page) é uma linguagem interpretada livre, usada originalmente
apenas para o desenvolvimento de aplicações presentes e atuantes no lado do
servidor, capazes de gerar conteúdo dinâmico na World Wide Web.
• PHP é uma linguagem de scripts open source de uso geral, muito utilizada e
especialmente adequada para o desenvolvimento web.
• Essa linguagem permite que desenvolvedores escrevam páginas geradas
dinamicamente de forma rápida.
• PHP (um acrônimo recursivo para "PHP: Hypertext Preprocessor", originalmente
Personal Home Page) é uma linguagem interpretada livre, usada originalmente
apenas para o desenvolvimento de aplicações presentes e atuantes no lado do
servidor, capazes de gerar conteúdo dinâmico na World Wide Web
155
Principais características
• A linguagem PHP é uma linguagem de programação de domínio específico, ou seja,
seu escopo se estende a um campo de atuação que é o desenvolvimento web. Seu
propósito principal é de implementar soluções web velozes, simples e eficientes.
• Velocidade e robustez.
• Orientação a objetos.
• Portabilidade - independência de plataforma - escreva uma vez, rode em qualquer
lugar.
• Tipagem dinâmica.
• Sintaxe similar a C/C++ e o Perl.
• Open-source.
• Server-side (O cliente manda o pedido e o servidor responde em página HTML)
156
Exemplo de uso do PHP
• O arquivo index foi salvo com a extensão .php para mostrarmos ao nosso
interpretador que há um código PHP a ser interpretado.
• Além disso, no exemplo usamos a função echo para escrever na tela uma
mensagem.
157
Como comentar o código no PHP
• Para comentarmos o nosso código PHP usamos duas barras ou # para
comentários de uma linha, e para comentários de múltiplas linhas usamos /* */,
o mesmo usado em CSS.
158
Constantes no PHP
• O valor de uma constante jamais poderá ser alterado enquanto estiver sendo
executada e para defini-la utilizamos a função define().
• Utilizando a função define() definimos que a constante com o nome de PHP, terá
como valor: Linguagem Open – Source.
159
Variáveis no PHP
• Para criarmos uma variável basta utilizar o sinal de cifrão. Uma variável pode
armazenar textos e números. Além disso, a linguagem PHP é case sensitive, então
A é diferente de a.
• No exemplo criamos uma variável ($name) e declaramos a ela uma string, sendo
assim precisamos colocá-la entre aspas. Já a outra variável ($age) é declarada
como inteiro, então não é necessário o uso de aspas. Ao usarmos echo nas
variáveis, o resultado impresso é o conteúdo dessa variável.
160
Nomeação de variáveis
• Não inicie o nome de uma variável com números;
• Não utilize espaços em brancos;
• Não utilize caracteres especiais, somente underline;
• Crie variáveis com nomes que ajudarão a identificar melhor a mesma;
• Evite utilizar letras maiúsculas.
161
Tipos de variáveis
• Booleanos: Este é o tipo mais simples, pois só pode expressar apenas dois
valores: TRUE (1) ou FALSE (0, null ou uma string vazia);
• Integer: é um número inteiro, podendo ser negativo ou positivo;
• Float : também chamado de double ou números reais representados com um
ponto para separar os dígitos do valor inteiro dos dígitos do valor das casas
decimais.
• Strings: é uma palavra ou frase entre aspas simples ou duplas, assim como
também pode ser binário, como o conteúdo de um arquivo MP3 ou JPG.
162
Tipos de variáveis
• Note que quando declaramos no echo "Olá, $a, o PHP interpretou o conteúdo da
$a, pois está entre aspas duplas. E quando usamos a mesma forma, só que entre
aspas simples (echo 'Olá, $a'), não temos o mesmo resultado. Então quando
queremos que o PHP interprete o valor de nossa variável dentro de uma string é
necessário o uso de aspas duplas. Fique atento!
163
Concatenar Strings
• Usar um ponto para concatenar strings
164
Operadores matemáticos
• Os operadores matemáticos disponíveis em PHP são:
• Adição: +
• Subtração: -
• Multiplicação: *
• Divisão: /
• Módulo: %
165
Operadores de Atribuição no PHP
• Utilizamos os operadores de atribuição para definir variáveis e seus valores, além
de usá-los juntamente com os operadores matemáticos.
166
Incrementar ou decrementar
• Podemos também incrementar ou decrementar variáveis utilizando os
operadores de incrementação.
167
Array
• Para declarar um array em PHP utilizamos o construtor de linguagem array() , para o qual
podemos passar por parâmetro os valores que desejamos armazenar, separados por
vírgula.
• Após declarar a variável que contém os valores, podemos acessá-los utilizando sua
posição, como mostra o exemplo a seguir:
168
Array
• Por meio de uma estrutura de repetição, como o foreach, podemos percorrer os
dados em um array.
169
Array
• Unset: para remover determinado elemento do array:
unset($arr[5]);
• Para remover o array da memória:
unset($arr);
• Count: retorna a quantidade de elementos de um array:
count($arr);
• Explode: transforma string em array
$arr = array();
$arr = explode("/", "20/01/2001");
• Implode: transforma array em string.
$arr = array("Flavio", "Alexandre", "Micheletti");
$nomeCompleto = implode("-", $arr);
var_dump($nomeCompleto)
170
Operadores Relacionais
• Esses são usados para comparar valores ou expressões, retornando um valor
booleano (true ou false):
• Igual: ==
• Diferente: != ou <>
• Menor que: <
• Maior que: >
• Menor ou igual: <=
• Maior ou igual: >=
171
Operadores Lógicos
• Existem também os operadores lógicos para a criação de testes condicionais:
• $a and $b: enquanto A e B forem verdadeiros;
• $a or $b: enquanto A ou B forem verdadeiros;
• !: Negação
172
Estrutura de Decisão if/else
• A condição é avaliada para que, caso algo seja verdadeiro, faça isto, senão, faça
aquilo.
• Criamos a variável $idade que guarda um inteiro. Em seguida utilizamos IF para
verificar se $idade é menor que 18, e caso seja será impresso: Você não pode
entra aqui! Depois criamos um ELSE, que é o contrário da primeira condição.
173
Estruturas de Decisão (SWITCH)
• Para não manter um código cheio de ELSEIF's, o mais indicado é usar o SWITCH,
que permite criarmos infinitas condições de forma organizada.
174
Laços de Repetição (for)
• A primeira é executada ao início do loop, a segunda é a condição (enquanto ela
for verdadeira, o loop continuará), e a terceira é executada ao fim de cada
repetição.
175
Laços de Repetição (foreach)
• O foreach faz o mesmo que as demais estruturas já apresentadas, porém, com
ela podemos trabalhar com arrays.
• No exemplo é criado um array e depois usamos o foreach para ir nesse array e
repetir tudo o que conter nele. A sintaxe do foreach é mostrada entre parênteses
onde colocamos o nome de nossa variável, e com o termo as alteramos o nome
dela para $can.
• Depois, basta dar um echo que tudo que conter em nosso array será mostrado.
176
Funções
• Funções podem ser definidas blocos de código com um objetivo específico,
identificados por um nome através do qual pode ser referenciado a partir de
várias partes do código.
• Essa é uma das principais técnicas utilizadas para garantir a reutilização de
código, tornando a programação mais prática e o código mais “limpo” e
organizado.
177
Funções para tratamento de
Strings
1. strlen() – Retorna o número de <?php
caracteres de uma string /* Validar se um campo de
<?php formulário tem o número
$str = "abcdef"; necessário de caracteres */
// Retorna 6 $nome =$_POST['comentario'];
echo strlen($str);
$str = ' ab cd '; if (strlen($nome) > 200) {
// Retorna 7 echo "O comentário deve ter no
echo strlen($str); máximo 200 caracteres.";
?> }
?> 178
Funções para tratamento de
Strings
2. strtoupper() – Converte uma string para maiúsculas.
<?php
$str = "eu sou uma string";
179
Funções para tratamento de
Strings
3. strtolower() – Converte uma string para minúsculas.
<?php
$str = "EU SOU UMA STRING";
180
Funções para tratamento de
Strings
4. urlencode() – Retorna a string, convertida para o formato
urlencode.
<?php
$frase = "Eu preciso ser passado por GET";
// Retorna "Eu+preciso+ser+passado+por+GET";
echo urlencode($frase)
?>
5. trim() – Retira espaços e linhas em branco do início e do final da
string fornecida.
<?php
// Retorna "faael"
181
echo trim(" faael \n \n ");
Funções para tratamento de Data
1) Exibindo a data no formato 16/02/2004.
<?
//FUNÇÃO DATE()
echo $data = date("d/m/Y");
?>
2) Exibindo a data e a hora no formato 14/02/2004 21:04:02
<?
//FUNÇÃO DATE()
echo $data = date("d/m/Y H:i:s ");
?>
3) Exibindo a data por extenso Sat, 14 de Feb de 2004.
<?
//FUNÇÃO DATE()
echo $data = date("D, d de M de Y");
?> 182
Funções Matemáticas
• // Arredonda pi 3.1416... para baixo
$round = round(M_PI);
print $round; // imprime 3
• // Desta vez, arredonda pi em 4 casas decimais
$round_decimal = round(M_PI, 4);
print $round_decimal; // imprime 3.1416
• // imprime um numero entre 0 e 32767
print rand();
• // imprime um numero entre 1 e 10
print rand(1,10);
• pow ( number $base , number $exp )
• sqrt ( float $arg )
183
Funções de sessão
• Session_start inicia a sessão
session_start();
$_SESSION['usuario'] = 'Thiago';
• Deleta uma variável da sessão
unset($_SESSION['usuario']);
session_destroy(); // Destrói toda sessão
header('location:index.php');
• Testa variável de sessão
if((!isset ($_SESSION['login']) == true) and (!isset ($_SESSION['senha']) == true))
{
unset($_SESSION['login']);
unset($_SESSION['senha']);
header('location:index.php');
}
184
Funções de include
• A declaração include_once inclui e avalia o arquivo informado
durante a execução do script.
<?php
include_once "a.php"; // this will include a.php
include_once "A.php"; // this will include a.php again! (PHP 4 only)
?>
185
Outras funções
• isset — Informa se a variável foi iniciada
// Será interpretado como TRUE imprimindo o texto.
if (isset($var)) {
echo "Essa variável existe.";
}
186
Criando funções¶
<?php
function foo ($arg_1, $arg_2, /* ..., */ $arg_n)
{
echo "Exemplo de função.\n";
return $valor_retornado;
}
?>
187