O Que É PHP: Desenvolvimento Web Banco de Dados
O Que É PHP: Desenvolvimento Web Banco de Dados
• PHP é uma linguagem de script de código aberto, especialmente adequada para desenvolvimento web e
que pode ser embutida diretamente em HTML. Ela foi projetada principalmente para desenvolvimento web
back-end, mas também é usada para scripts de linha de comando e outras tarefas de programação.
• Desenvolvimento Web
• Banco de Dados: O PHP é frequentemente usado em conjunto com bancos de dados, como MySQL, para
criar aplicações web robustas, porém, pode-se utilizar qualquer outro banco de dados como: Oracle, SQL
Server, PostgreSQL, Mongo, etc.
• Flexibilidade: Pode ser usado para desenvolvimento web, scripts de linha de comando e outras tarefas.
• Grande Comunidade: Devido à sua popularidade, o PHP possui uma grande comunidade de
desenvolvedores e muitos recursos disponíveis.
Como servidor geralmente utilizamos o Apache que de código aberto e com uma grande comunidade. Você também
precisará de um ambiente de desenvolvimento integrado (IDE) para escrever e editar seu código PHP.
Apache
O Apache é um servidor web de código aberto amplamente utilizado para hospedar sites e aplicativos da web. Ele é
executado no lado do servidor e é capaz de lidar com solicitações de clientes e fornecer respostas apropriadas. O
Apache é um software livre e pode ser instalado em uma variedade de sistemas operacionais, incluindo Windows,
Linux e macOS.
Configurando o apache
O arquivo httpd.conf é um arquivo de configuração do servidor web Apache. Ele contém informações sobre como o
servidor deve se comportar e quais diretórios e arquivos ele deve servir. O arquivo httpd.conf é geralmente encontrado
na pasta de instalação do Apache.
Portas
As portas são um conceito importante em redes de computadores. Elas são usadas para identificar aplicativos e
serviços em um computador. Cada aplicativo ou serviço é atribuído a uma porta exclusiva. Quando um computador
recebe uma solicitação de conexão, ele verifica a porta de destino da solicitação para determinar qual aplicativo ou
serviço deve lidar com a solicitação. As portas são importantes porque permitem que vários aplicativos e serviços
sejam executados em um único computador.
Para configurar o Apache para receber solicitações nas portas 80 e 8080, você precisará editar o arquivo httpd.conf.
Você pode fazer isso adicionando as seguintes linhas ao arquivo:
httpd.conf
Essas linhas instruem o Apache a ouvir as portas 80 e 8080. Depois de adicionar essas linhas, você precisará reiniciar
o Apache para que as alterações entrem em vigor.
Configurações padrões:
O Apache nada mais é que um servidor Web para a navegação entre arquivos, ou seja, ao acessar o endereço de seu
servidor através do Browser ele irá demonstrar para você a estrutura existente dentro do diretório raiz, conforme
imagem abaixo
Arquivos de índice
Quando você cria um arquivo chamado index.html ou index.php no diretório padrão, o servidor web interpreta isso
como um arquivo de índice. Um arquivo de índice é um arquivo que o servidor web procura automaticamente quando
você acessa um diretório. Por exemplo, quando você acessa 127.0.0.1, o servidor procura automaticamente por
arquivos como index.html, index.php, index.htm, entre outros. Se encontrar um desses arquivos, ele o serve como
página inicial do diretório.
2
Visibilidade dos arquivos
Se você cria um arquivo chamado index.html ou index.php, e esse arquivo não contém uma lista de diretórios ou se o
servidor não é configurado para mostrar diretórios (por razões de segurança ou outras configurações), então, quando
você acessa o diretório via navegador, o servidor serve apenas o conteúdo do index.html ou index.php. Por outro lado,
se você não tem um arquivo de índice no diretório e o servidor está configurado para listar diretórios, você verá uma
lista dos arquivos e subdiretórios no diretório.
O arquivo httpd.conf é o arquivo de configuração principal do servidor web Apache. Para configurar os arquivos
padrão de índice (como index.php ou index.html), você pode procurar pelas diretivas DirectoryIndex dentro deste
arquivo.
A diretiva DirectoryIndex define a lista de nomes de arquivos que o Apache deve procurar em um diretório quando
um cliente acessa esse diretório sem especificar um arquivo específico. Por exemplo, se você acessar
http://seusite.com/diretorio/, o Apache procurará por arquivos na lista definida pela diretiva DirectoryIndex.
a) Abra o arquivo httpd.conf em um editor de texto ou IDE de sua escolha. Geralmente, este arquivo está
localizado em /etc/httpd/conf/httpd.conf ou /etc/apache2/httpd.conf em sistemas Linux, dependendo da
distribuição.
b) Procure pela diretiva DirectoryIndex. Ela pode aparecer mais de uma vez no arquivo, dependendo da
configuração específica.
c) Por padrão, a diretiva DirectoryIndex pode parecer algo assim:
Virtual Host
Um Virtual Host é um recurso do servidor web Apache que permite que você hospede vários sites em um único
servidor. Cada site é hospedado em um diretório diferente e pode ter seu próprio nome de domínio, endereço IP e
configurações personalizadas. Isso é útil para desenvolvedores web que desejam testar seus sites localmente antes
de implantá-los em um servidor remoto.
Para configurar um Virtual Host no Apache, você precisará editar o arquivo de configuração do Apache, que
geralmente é encontrado na pasta de instalação do Apache. O arquivo de configuração é geralmente chamado de
httpd.conf. Você precisará adicionar as seguintes linhas ao arquivo de configuração:
3
Essas linhas instruem o Apache a hospedar um site chamado escobar.com que será acessado através da porta 80 em
um diretório chamado c:\xampp\htdocs\escobar.
Exercícios
1) O PHP é interpretado do lado do cliente ou do lado do Servidor?
A comunicação entre cliente e servidor ocorre por meio do protocolo HTTP (Hypertext Transfer Protocol). O cliente
envia uma solicitação HTTP para o servidor, que processa essa solicitação e envia uma resposta de volta para o
cliente.
Front-End refere-se à parte de um aplicativo ou site que interage diretamente com os usuários, ou seja, a interface
que os usuários veem e interagem, geralmente construída com HTML, CSS e JavaScript. Já o Back-End é a parte do
sistema que lida com o processamento dos dados e a lógica de negócios, geralmente executada no servidor, e pode
ser desenvolvida com diversas tecnologias, como PHP, Python, Ruby, entre outras.
4) Na explicação de arquivos de índices o endereço do servidor está como 127.0.0.1:5500. O que é o 5500 e
para que serve?
O "5500" no endereço "127.0.0.1:5500" é uma porta. Portas são canais de comunicação utilizados para permitir
que diferentes processos em um computador se comuniquem entre si. No contexto de um servidor web, a porta
5500 é onde o servidor web está configurado para escutar as solicitações HTTP recebidas. Portanto, quando você
acessa um servidor web em "127.0.0.1:5500", está acessando o servidor na porta 5500.
5) Altere seu servidor para que ele possa receber requisições nas portas 1880 e 1750.
Para alterar o servidor para receber requisições nas portas 1880 e 1750, você precisará configurar o servidor web
(por exemplo, Apache ou Nginx) para escutar nessas portas. Isso geralmente é feito por meio do arquivo de
configuração do servidor web.
6) Crie dois diretórios virtuais, sendo um para as requisições recebidas na porta 1880 e outro para as
requisições recebidas na porta 1750.
Para criar dois diretórios virtuais para as requisições recebidas nas portas 1880 e 1750, você precisará configurar o
servidor web para cada diretório raiz que deseja servir nas respectivas portas. Isso geralmente é feito por meio do
arquivo de configuração do servidor web, onde você especifica o diretório raiz e a porta para cada diretório virtual.
Por exemplo, no Apache, você usaria a diretiva <VirtualHost> para configurar cada diretório virtual.
PHP
Arquivos PHP
Os códigos criados em PHP devem possuir um nome e a extensão PHP, por exemplo:
• index.php
• form_cliente.php
• novo_produto.php
• alteraTelefone.php
Estes arquivos devem ser salvos dentro da pasta utilizada para a criação de sua aplicação.
<?php
//comandos
?>
4
E podem ser adicionados em vários pontos separados de seu código fonte
<?php
//Bloco 01
?>
...
<?php
//Bloco 02
?>
...
<?php
//Bloco 03
?>
Isso ocorre pois, podemos possuir dentro do mesmo código fonte Blocos PHP e Blocos HTML
Separador de instruções
Para cada fim de linha de código tem que haver um ponto e vírgula(;), indicando ao sistema fim de instrução.
<?php
echo 'comando';
?>
<?php
if ($x == 0) { //aqui não precisa
echo 'igual';
} //aqui não precisa
else {
echo 'não igual';
}
?>
5
Nomes de variáveis.
Toda variável em PHP tem seu nome composto pelo caractere $ e uma string.
PHP é case sensitive, ou seja, as variáveis $php e $PHP são diferentes. Por isso é preciso ter muito cuidado ao definir
os nomes das variáveis. É bom evitar os nomes em maiúsculas, pois como veremos mais adiante, o PHP já possui
algumas variáveis pré-definidas cujos nomes são formados por letras maiúsculas.
<?php
$teste = "Escobar";
echo $TESTE;
#erro variável $TESTE não existe
?>
Comentários
Há dois tipos de comentários em código PHP:
Comentários de uma linha: Marca como comentário até o final da linha ou até o final do bloco de código
PHP - o que vier antes.
Exemplo:
<?php
echo "texto"; //comentário
?>
Comentários de mais de uma linha: Tem como delimitadores os caracteres “/*” para o início do bloco e
“*/” para o final do comentário.
Se o delimitador de final de código PHP ( ?> ) estiver dentro de um comentário, não será reconhecido pelo
interpretador. Exemplos:
<?php
echo "teste";
/*
Bloco de comentários
*/
?>
Tipos de Variáveis
Tipos Suportados PHP suporta os seguintes tipos de dados:
• Inteiro
• Ponto flutuante
• String
• Array
• Objeto
PHP utiliza checagem de tipos dinâmica, ou seja, uma variável pode conter valores de diferentes tipos em diferentes
momentos da execução do script. Por este motivo não é necessário declarar o tipo de uma variável para usá-la. O
interpretador PHP decidirá qual o tipo daquela variável, verificando o conteúdo em tempo de execução. Ainda assim,
é permitido converter os valores de um tipo para outro desejado, utilizando o typecasting ou a função settype.
6
Inteiros (integer ou long)
Uma variável pode conter um valor inteiro com atribuições que sigam as seguintes sintaxes:
A diferença entre inteiros simples e long está no número de bytes utilizados para armazenar a variável. Como a escolha
é feita pelo interpretador PHP de maneira transparente para o usuário, podemos afirmar que os tipos são iguais.
$php = 1.234;
$php = 23e4; // equivale a 230.000
Strings
Strings podem ser atribuídas de duas maneiras:
Existe diferença na utilização entre apóstrofe ou aspas, imagine que você possui uma variável nome
Agora você decide imprimir o texto Meu nome é Rodrigo Escobar utilizando a concatenação de variáveis.
Já utilizando a mesma lógica, porém com o uso de apóstrofe o resultado será diferente
Essa diferença se dá pois, quando você usa aspas duplas para delimitar uma string, o PHP interpreta variáveis dentro
da string. Isso significa que qualquer variável ou expressão dentro das aspas será avaliada e seu valor será inserido na
string.
Quando você usa apóstrofe para delimitar uma string, o PHP não interpreta variáveis dentro da string. Ele trata tudo
dentro das aspas simples como texto literal. Por isso, quando você tenta usar uma variável dentro de apóstrofes, ela
é tratada como parte do texto, e não como uma variável.
7
Arrays
Arrays em PHP podem ser observados como mapeamentos ou como vetores indexados. Mais precisamente, um valor
do tipo array é um dicionário onde os índices são as chaves de acesso. Vale ressaltar que os índices podem ser valores
de qualquer tipo e não somente inteiros. Inclusive, se os índices forem todos inteiros, estes não precisam formar um
intervalo contínuo Como a checagem de tipos em PHP é dinâmica, valores de tipos diferentes podem ser usados como
índices de array, assim como os valores mapeados também podem ser de diversos tipos.
<?php
$meu_array = array(
"indice01" => "Valor 01",
"indice02" => "Valor 02",
"03" => "Valor 03",
4 => "Valor 04"
);
var_dump($meu_array);
?>
Exercícios
1. Os arquivos PHP devem possuir qual extensão?
Os arquivos PHP podem ser salvos em qualquer local acessível pelo servidor web, geralmente dentro do
diretório raiz do servidor web ou em subdiretórios dele.
O delimitador de blocos PHP é <?php para iniciar o bloco PHP e ?> para encerrá-lo.
Não, a condição if em PHP não deve possuir ponto e vírgula após a expressão.
Não, em PHP, as variáveis são "case-sensitive", então $teste e $TESTE são tratadas como variáveis diferentes.
Para fazer um comentário de várias linhas em PHP, você pode utilizar /* para iniciar o comentário e */ para
encerrá-lo.
9. É necessário “tipar” as variáveis em PHP (informar no momento da criação se ela é string o inteira)?
Não é necessário tipar explicitamente as variáveis em PHP. PHP é uma linguagem dinamicamente tipada, o que
significa que o tipo de uma variável é determinado pelo valor que ela contém no momento da atribuição.
8
10. Crie uma variável, adicione qualquer valor a ela e imprima seu resultado na tela.
<?php
<?php
$nomes = array("João", "Maria", "Pedro", "Ana", "Carlos", "Laura", "Felipe", "Sara", "Lucas", "Mariana");
?>
Operadores
Operadores Aritméticos
Só podem ser utilizados quando os operandos são números (integer ou float). Se forem de outro tipo, terão seus
valores convertidos antes da realização da operação. São eles
Operadores de Strings
Strings apenas podem ser concatenadas (“juntadas”), o operador de concatenação é o . (ponto)
<?php
$texto = "João foi a feira ";
$texto2 = " e não tinha o que comprar";
Operadores de atribuição
Existe um operador básico de atribuição e diversos derivados. Sempre retornam o valor atribuído. No caso dos
operadores derivados de atribuição, a operação é feita entre os dois operandos, sendo atribuído o resultado para o
primeiro. A atribuição é sempre por valor, e não por referência.
9
<?php
$valor = 8;
$valor += 4;
#retorno: Valor passa a ter o valor de 12, pois, 8 + 4 = 12
?>
Operadores de Comparação
As comparações são feitas entre os valores contidos nas variáveis, e não as referências. Sempre retornam um valor
booleano.
<?php
20 == 20 #true
20 != 20 #false
20 < 21 #true
20 > 21 #false
20 <= 21 #true
20 >= 20 #true
?>
Operadores Lógicos
<?php
$valor_1 = 10;
$valor_2 = 20;
10
Blocos
Um bloco consiste em vários comandos agrupados com o objetivo de relacioná-los com determinado comando ou
função. Em comandos como if, for, while, switch e em declarações de funções blocos podem ser utilizados para
permitir que um comando faça parte do contexto desejado. Blocos em PHP são delimitados pelos caracteres { e }. A
utilização dos delimitadores de bloco em uma parte qualquer do código não relacionada com os comandos citados
ou funções não produzirá efeito algum, e será tratada normalmente pelo interpretador.
<?php
if ( 20 <= 21 ) {
echo "Sim 20 é menor que 21";
//bloco de comandos relacionados à cláusula acima
//comando1
//comando2
//comando3
// ...
//comandoN
}
?>
<?php
$valor = 40;
$item = 32;
11
Estrutura Switch Case
O comando switch atua de maneira semelhante a uma série de comandos if na mesma expressão. Frequentemente
o programador pode querer comparar uma variável com diversos valores, e executar um código diferente a
depender de qual valor é igual ao da variável. Quando isso for necessário, deve-se usar o comando switch
<?php
$valor = 40;
switch($valor) {
case 30:
echo "30";
break;
case 40:
echo "40";
break;
default:
echo "Nem 30 e nem 40";
break;
}
?>
Estruturas de Repetição
As estruturas de repetição são utilizadas quando o programador precisa, por exemplo, repetir o mesmo comando
várias vezes. Vamos ver as estruturas de repetição existentes.
While
O while é o comando de repetição (laço) mais simples. Ele testa uma condição e executa um comando, ou um bloco
de comandos, até que a condição testada seja falsa. Assim como o if, o while também possui duas sintaxes
alternativas
<?php
$a = 0;
while ($a <= 10) {
echo "O valor de a é $a";
echo "<BR>";
$a++;
}
?>
Do..While
O laço do..while funciona de maneira bastante semelhante ao while, com a simples diferença que a expressão é
testada ao final do bloco de comandos.
<?php
$a = 0;
do {
echo "O valor de a é $a";
echo "<BR>";
$a++;
} while ($a <= 10)
?
12
For
O tipo de laço mais complexo é o for. Para os que programam em C, C++ ou Java, a assimilação do funcionamento do
for é natural. Mas para aqueles que estão acostumados a linguagens como Pascal, há uma grande mudança para o
uso do for.
<?php
for ($i = 0; $i < 20; $i++) {
echo "O valor de i é $i <BR>";
}
?>
• Inicialização:
$i = 0
comando ou sequência de comandos a serem realizados antes do início do laço. Serve para inicializar
variáveis.
• Condição:
$i < 20
Expressão booleana que define se os comandos que estão dentro do laço serão executados ou não.
Enquanto a expressão for verdadeira (valor diferente de zero) os comandos serão executados.
• Incremento:
$i++
Comando executado ao final de cada execução do laço.
Foreach
O comando foreach em PHP é uma estrutura de loop usada para iterar sobre arrays e objetos. Ele permite que você
execute um bloco de código para cada elemento de uma matriz ou objeto.
<?php
foreach (array_or_object as $key => $value) {
// código a ser executado para cada elemento
}
?>
• array_or_object: É o array ou objeto que você deseja iterar.
• $key: É uma variável que armazena a chave do elemento atual durante a iteração (para arrays).
• $value: É uma variável que armazena o valor do elemento atual durante a iteração.
<?php
$frutas = array("maçã", "banana", "cereja");
Se você também quiser acessar a chave do elemento atual, pode fazer assim:
13
<?php
$frutas = array("a" => "maçã", "b" => "banana", "c" => "cereja");
O PHP, assim como muitas outras linguagens de programação, oferece os comandos break e continue para controle
de loops. Vamos entender o propósito e funcionamento de cada um:
break:
O comando break é usado para sair imediatamente de um loop (for, foreach, while ou do-while). Quando o PHP
encontra um break dentro de um loop, ele encerra a execução do loop e o código continua a partir da primeira
instrução após o loop.
Saída antecipada de um loop: Se, durante a execução de um loop, você encontrar uma condição que torne
desnecessário continuar a iteração, você pode usar break para sair imediatamente do loop.
<?php
$numeros = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
continue:
O comando continue é usado para pular a iteração atual em um loop e continuar com a próxima iteração. Ao
contrário do break, que sai completamente do loop, o continue apenas interrompe a iteração atual e começa a
próxima iteração.
Saltar iterações específicas: Se, durante a execução de um loop, você desejar pular a iteração atual e continuar
com a próxima, você pode usar continue.
<?php
$numeros = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
14
Aulas
Exercícios
1. Crie um array com 10 índices
<?php
$array[] = 1;
$array[] = 2;
$array[] = 3;
$array[] = 4;
$array[] = 5;
$array[] = 6;
$array[] = 7;
// ...
$array[] = 10;
?>
<?php
$array = array(
0 => "1",
1 => "sadasda",
2 => "fdfsdfs",
"num1" => 4,
'num2' => 5,
'num3' => 6
);
?>
<?php
$array = array(
0 => "1",
1 => "sadasda",
2 => "fdfsdfs",
"num1" => 4,
'num2' => 5,
'num3' => 6
);
?>
15
4. Crie um array 5 posições utilizando o exemplo $array[ ] = XXXXX
<?php
$array[] = 1;
$array[] = 2;
$array[] = 3;
$array[] = 4;
$array[] = 5;
?>
<?php
$array[] = 0;
$array[] = 1;
$array[] = 2;
$array[] = 3;
$array[] = 4;
// ...
$array[] = 15;
?>
6. Crie um array de 10 posições onde o índice represente o ano de fabricação de um veiculo e o valor seja o nome
do veículo.
<?php
$array6[2021] = "Toyota";
$array6[2023] = "Ford f-150";
$array6[2020] = "Honda Civic";
$array6[2022] = "Tesla Model 3";
$array6[2026] = "Silverado";
$array6[2019] = "BMW 3 series";
$array6[2018] = "Golf";
$array6[2017] = "Nissan Rogue";
$array6[2025] = "E-Class";
$array6[2024] = "Jeep";
echo '<br><br>';
var_dump($array6);
?>
16
Aula 04
Matriz
<?php
/*
Matriz
A B C
D E F
G H I
*/
$matriz[0][0] = "A";
$matriz[0][1] = "B";
$matriz[0][2] = "C";
$matriz[1][0] = "D";
$matriz[1][1] = "E";
$matriz[1][2] = "F";
$matriz[2][0] = "G";
$matriz[2][1] = "H";
$matriz[2][2] = "I";
echo $matriz[1][2];
echo "<pre>";
var_dump($matriz);
$matriz2 = array(
0 => array(
0 => "A",
1 => "B",
2 => "C"
),
1 => ["D", "E", "F"]
);
?>
Condicionais
<?php
//Condicionais
$variavel = "5";
if ($variavel === 5) {
echo "Valor igual";
}
elseif( $variavel === "5") {
echo "É igual e possui o mesmo tipo";
}
else {
echo "Valor diferente"; }
?>
17
<?php
$nome = "joao";
$idade = 18;
$sexo = "M";
$carro = true;
// !$carro = false
if ($sexo == "M" && $carro == false) {
echo "$nome não vai sair com Joaquina";
}
elseif ($sexo == "M" && $idade > 18 && $carro) {
echo "Joaquina topa sair com vc";
}
elseif ($sexo == "M" && $idade <= 17) {
echo "Joaquina vai te levar para a escola";
}
elseif ($sexo != "M" && $idade <= 17) {
echo "Joaquina vai te ensinar a fazer maquiagem";
}
elseif ($idade > 30 || $carro) {
echo "Vc é tiozao";
}
?>
<?php
$variavel = "Teste";
switch($variavel) {
case "5":
echo "numero 5";
break;
case "Teste":
echo "Teste";
echo "<BR>";
break;
default:
echo "Vai saber oq é";
break;
}
?>
18
<?php
$contador = 0;
$sair = false;
while( !$sair ) {
echo "$contador <BR>";
//$contador = $contador + 1;
$contador++;
$contador += 1;
?>
<?php
$indice = 0;
while($indice < 1000) {
var_dump($array);
?>
Aula 05
Aula 05 - Exercícios
1) Crie um texto concatenando uma variável do tipo texto e uma variável do tipo numérica, uma variável deverá
possuir o valor igual ao seu RA.
<?php
$texto = '010623005';
$numero = 85;
?>
19
2) Crie um array de 4 posições, e retorne para o usuário a informação do índice 2.
<?php
$array[ ] = "UM";
$array[ ] = "DOIS";
$array[ ] = "TRES";
$array[ ] = "QUATRO";
$array = array(
0 => "UM",
1 => "DOIS",
2 => "TRES",
3 => "QUATRO",
);
echo $array[2];
?>
<?php
$valor = 5;
switch($valor) {
case 5:
break;
default:
break;
?>
20
4) Faça um esquema de validação utilizando variáveis e IF, para determinar se uma pessoa está com dengue.
Lembrando que os sintomas da dengue são:
No entanto, a infecção por dengue pode ser assintomática (sem sintomas), leve ou grave. Neste último caso pode
levar até a morte. Normalmente, a primeira manifestação da dengue é a febre alta (39° a 40°C), de início
abrupto, que geralmente dura de 2 a 7 dias, acompanhada de dor de cabeça, dores no corpo e articulações, além
de prostração, fraqueza, dor atrás dos olhos, erupção e coceira na pele. Perda de peso, náuseas e vômitos são
comuns. Em alguns casos também apresenta manchas vermelhas na pele.
Na fase febril inicial da dengue, pode ser difícil diferenciá-la. A forma grave da doença inclui dor abdominal
intensa e contínua, vômitos persistentes e sangramento de mucosas. Ao apresentar os sintomas, é importante
procurar um serviço de saúde para diagnóstico e tratamento adequados, todos oferecidos de forma integral e
gratuita por meio do Sistema Único de Saúde (SUS).
<?php
$contador = 0;
$febre = 39.5;
$dor_cabeca = true;
$muscular = false;
$malestar = 1;
$mancha = 0;
if ($dor_cabeca) {
$contador++;
}
if ($muscular) {
$contador++;
}
if ($malestar == 1) {
$contador++;
}
if ($mancha == 1) {
$contador++;
}
21
if ($contador >= 3) {
echo "Está com dengue";
}
$febre = 39.5;
$dor_cabeca = true;
$muscular = false;
$malestar = 1;
$mancha = 0;
5) Crie um laço que gere 60 números aleatórios e os mostre em tela, para este laço você deverá utilizar o While
OBS: A função para geração de um número aleatório entre 0 e 60 é
<?php
$contador = 0;
while ($contador < 60) {
$numero = rand(0, 60);
echo "Roberto tem $numero anos<BR>";
$contador++;
}
?>
22
6) Crie um laço utilizando o Do While que gere um array de 800 posições e atribua ao valor do array o contador
utilizado no While, após isso utilize um laço com FOR para ler todo o array e faça o teste verificando se o valor é
ímpar ou par, após a validação retornar para o usuário a informação:
Função para descobrir se o número é ímpar, imaginando que a variável $num = 5
($num % 2 == 1)
Exemplo
1 é ímpar
2 é par
3 é ímpar
...
80 é par
<?php
$contador = 0;
do {
$array[] = $contador;
$contador+=1;
} while ($contador < 800);
?>
7) Crie um array de 55 posições com índices numéricos e com o valor contendo o texto "O índice é XXX" onde XXX
representa o índice do array. Após isso mostre o array com vardump
<?php
var_dump($array);
?>
23
8) Crie uma matriz 6 x 6 com o conteúdo numérico. Após isso faça:
<?php
$matriz[0][0] = 1;
$matriz[0][1] = 2;
$matriz[0][2] = 3;
$matriz[0][3] = 4;
$matriz = array(
0=>array(1,2,3,4,5,6),
1=>array(7,8,9,10,11,12),
);
$multiplica = 1;
for ($l = 0; $l < 6: $l++) {
for($c = 0; $c < 6; $c++) {
if ($l == $c) {
$multiplica = $multiplica * $matriz[$l][$c];
}
if ($c == 5) {
$soma = $soma + $matrizx[$l][$c];
}
if ($c == 2) {
$sub = $sub - $matrizx[$l][$c];
}
}
}
//Multiplicacao
$multi = 1;
for($i = 0; $i < 6; $i++){
$multi = $multi * $matriz[$i][$i];
}
$soma = 0
for($i = 0; $i < 6; $i++){
$soma += $matriz[$i][5];
}
?>
24
Aula 07 – Exercícios
1) Faça um formulário que simule o login de um usuário (e-mail e senha), após isso envie através do método
POST os dados para uma página chamada valida_login.php. Esta página deverá receber os dados e efetuar as
seguintes análises:
• Caso o e-mail não esteja preenchido deverá mostrar a mensagem: "E-mail é obrigatório e deve ser
informado."
• Caso a senha não esteja preenchida deverá mostrar a mensagem: "Senha é obrigatória e deve ser
informada."
• Verifique se o e-mail é [email protected], caso seja diferente, mostre a mensagem: "E-mail inválido."
• Verifique se a senha é aual123, caso não seja, mostre a mensagem "Senha inválida."
• Caso o e-mail e senha possuam os valores [email protected] e aula123, apresente a seguinte
mensagem: "Usuário logado com sucesso. Seja bem-vindo"
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet"
integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC"
crossorigin="anonymous">
</head>
<body>
<div class="container">
<div class="row">
<form method="post" action="01_recebe.php">
<label class="form-label">Usuário</label>
<input type="text" name="usuario" class="form-control"/>
<br/>
<label class="form-label">Senha</label>
<input type="password" name="senha" class="form-control"/>
</form>
</div>
</div>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js" integrity="sha384-
MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM"
crossorigin="anonymous"></script>
</body>
</html>
25
<?php
if (@$_POST["email"] == "") {
echo "E-mail é obrigatório e deve ser informado.";
}
if (@$_POST["senha"] == "") {
echo "Senha é obrigatória e deve ser informada.";
}
if (@$_POST["email"] != "[email protected]") {
echo "E-mail inválido.";
}
if (@$_POST["senha"] != "aula123") {
echo "Senha inválida.";
}
if (@$_POST["email"] == "[email protected]"
&& @$_POST["senha"] == "aula123"
){
echo "Seja bem vindo amiguinho.";
}
?>
26
2) Crie um formulário com dois campos texto e com o método de envio tipo GET. Conforme imagem abaixo.
Quando o usuário clicar na opção enviar, faça com que o formulário envie os dados para a página recebe.php e
faça:
a) Faça um loop iniciando com o número armazenado no campo "Número Inicial" até o número armazenado na
variável "Número Final" e faça com que seja impresso na página a sequência numérica conforme exemplo:
O Número atual é 100
O Número atual é 101
O Número atual é 102 (e assim sucessivamente até o término do loop)
b) Faça a mesma coisa do item a, porém agora você deverá fazer um loop regressivo, ou seja, do maior para o
menor
O Número atual é 102
O Número atual é 101
O Número atual é 100 (e assim sucessivamente até o término do loop)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet"
integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC"
crossorigin="anonymous">
</head>
<body>
<div class="container">
<div class="row">
<form method="get" action="02_recebe.php">
<label class="form-label">Numero inicial</label>
<input type="text" name="num_inicial" class="form-control"/>
<br/>
</form>
</div>
</div>
27
<?php
$num_inicial = @$_GET['num_inicial'];
$num_final = @$_GET['num_final'];
$i = $num_final;
while ($i > $num_inicial) {
echo "O número atual é $i <br>";
$i--;
}
?>
3) O PHP possui uma função chamada explode, está função é muito utilizada quando necessitamos "quebrar"
um texto ou uma cadeia de caracteres contidos em uma variável transformando-os em um array.
Por exemplo, imagine que tenho um arquivo CSV com a seguinte estrutura
$texto = 'RODRIGO ESCOBAR;18/07/1981;PROFESSOR;INSTITUIÇÃO TOLEDO DE ENSINO';
Note que a string foi "quebrada" nos ponto e vírgula (;), transformando assim o texto RODRIGO
ESCOBAR;18/07/1981;PROFESSOR;INSTITUIÇÃO TOLEDO DE ENSINO em um array.
Documentação do comando explode.
https://www.php.net/manual/en/function.explode.php
28
b) Mostre na tela dos os índices que contenham o nome Lorenzo, exemplo
$array[0] = 'teste';
$array[1] = 'Lorenzo';
$array[2] = 'teste';
$array[3] = 'Lorenzo';
Retorno esperado: Os índices que possuem a palavra Lorenzo são 1, 2
<?php
$texto = 'Lorenzo está imerso em uma jornada emocionante de aprendizado, explorando os meandros do PHP, a
linguagem dinâmica que promete dar vida a suas ideias digitais. Com sua mente curiosa e dedicação incansável, ele
mergulha nos fundamentos dessa linguagem poderosa, absorvendo cada conceito com entusiasmo.
Desde os primeiros passos, Lorenzo é cativado pela versatilidade do PHP. Ele aprende a criar páginas web
dinâmicas, capazes de interagir com bancos de dados e oferecer experiências personalizadas aos usuários. Com
cada linha de código escrita, ele ganha confiança e vislumbra as infinitas possibilidades que o PHP oferece.
No caminho para a maestria, Lorenzo enfrenta desafios e obstáculos, mas sua determinação é inabalável. Ele
consulta recursos online, participa de fóruns de discussão e experimenta novas técnicas para aprimorar suas
habilidades. Cada erro é uma oportunidade de aprendizado, e ele os encara com humildade e perseverança.
À medida que sua proficiência em PHP cresce, Lorenzo começa a construir seus próprios projetos, desde
pequenos scripts até aplicativos web completos. Ele se orgulha de cada linha de código que escreve, sabendo que
está construindo as bases para uma carreira promissora no desenvolvimento web.
Embora o caminho à frente possa ser desafiador, Lorenzo está preparado para enfrentar cada novo desafio com
determinação e paixão. Com o PHP como sua ferramenta de escolha, ele está pronto para transformar suas ideias
em realidade digital, deixando sua marca no vasto mundo da programação web.';
29
Trabalho
Login_alterar_salvar.php
<?php
$id = $_POST["id"];
$usuario = $_POST["usuario"];
$senha = $_POST["senha"];
if ($total["total"] == 0) {
echo "Id não existe";
exit;
}
$con->query($sql);
header("location: login_buscar.php");
?>
30
Login_alterar.php
<?php
$id = $_GET["id"];
$rs = $con->query($sql);
$dados = $rs->fetch_assoc();
//echo $dados["usuario"];
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<form method="POST" action="login_alterar_salvar.php">
<input type="text" name="id"
value="<?php echo $dados["id"]; ?>" >
<label>Usuario</label>
<input type="text" name="usuario"
value="<?php echo $dados["usuario"]; ?>" >
<label>Senha</label>
<input type="text" name="senha"
value="<?php echo $dados["senha"]; ?>" >
</form>
</body>
</html>
31
Login_buscar.php
<?php
$con = new mysqli("127.0.0.1", "root", "", "aula07");
if(isset($_POST['localizar'])) {
$nome = $_POST['localizar'];
$sql = "SELECT * FROM login WHERE usuario LIKE '%$nome%'";
$rs = $con->query($sql);
} else {
$sql = "SELECT * FROM login";
$rs = $con->query($sql);
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Buscar Usuários</title>
<link
href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css"
rel="stylesheet" integrity="sha384-
EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC"
crossorigin="anonymous">
</head>
<body>
<div class="container">
<div class="row">
<div class="col-6">
<div class="input-group mb-3">
<form method="post" action="login_buscar.php">
<input type="text" class="form-control"
name="localizar"
placeholder="Digite o nome para buscar"
/>
<input type="submit" class="input-group-text"
value="BUSCAR"/>
</form>
</div>
<a href="login_cadastro.php" class="btn btn-success">NOVO</a>
</div>
<div class="col-12">
<h2>Resultados da Busca</h2>
<table class="table table-hover">
<thead>
<tr>
<td>ID</td>
32
<td>Usuário</td>
<td>Opções</td>
</tr>
</thead>
<tbody>
<?php
while($linha = $rs->fetch_assoc()) {
echo " <tr>
<td>" . $linha["id"] . "</td>
<td>" . $linha["usuario"] . "</td>
<td>
<a href='login_alterar.php?id=" .
$linha["id"] . "' style='text-decoration:none'>✏️</a>
<a href='excluir_login.php?id=" .
$linha["id"] . "' class='btn btn-danger'>🗑️</a>
</td>
</tr>";
}
?>
</tbody>
</table>
</div>
</div>
</div>
<script
src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js"
integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM"
crossorigin="anonymous"></script>
</body>
</html>
Login_cadastro_salvar.php
<?php
$usuario = @$_POST['usuario'];
$senha = @$_POST['senha'];
$sql = "
INSERT INTO login (usuario, senha)
VALUES ('$usuario','$senha') ";
$rs = $conexao->query($sql);
33
header("location: login_buscar.php");
?>
Login_cadastro.php
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Login</title>
<link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet"
integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC"
crossorigin="anonymous">
</head>
<body>
<div class="container">
<div class="row">
<h2>Registro de login</h2>
<form method="post" action="login_cadastro_salvar.php">
<label class="form-label">Usuário</label>
<input type="text" name="usuario" class="form-control"/>
<br/>
<label class="form-label">Senha</label>
<input type="password" name="senha" class="form-control"/>
<br/>
</form>
</div>
</div>
34
Login_valida.php
<?php
$usuario = @$_POST['usuario'];
$senha = @$_POST['senha'];
if ($tabela == null) {
echo "Usuário e/ou senha inválidos";
}
else {
echo "Seja bem vindo " . $tabela['usuario'];
}
/*
echo $sql;
echo "<pre>";
var_dump($tabela);
*/
?>
excluir_login.php
<?php
$con = new mysqli("127.0.0.1",
"root",
"",
"aula07");
if(isset($_GET['id'])) {
$id = $_GET['id'];
$sql = "DELETE FROM exercicio WHERE id = $id";
$con->query($sql);
header("Location: exercicio_buscar.php");
exit;
}
?>
35
Login.php
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Login</title>
<link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet"
integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC"
crossorigin="anonymous">
</head>
<body>
<div class="container">
<div class="row">
<form method="post" action="login_valida.php">
<label class="form-label">Usuário</label>
<input type="text" name="usuario" class="form-control"/>
<br/>
<label class="form-label">Senha</label>
<input type="password" name="senha" class="form-control"/>
<br/>
<a href="login_cadastro.php">
Registrar novo usuário
</a>
</form>
</div>
</div>
36
Exercícios para revisão da prova
1) Habilite o Apache para que seu servidor receba requisições nas portas 9091 e 9090
Listen 80
Listen 80
Listen 9090
Listen 9091
2) Crie 4 pastas na raiz de seu Apache (htdocs), e crie um index.php para cada pasta que
- ITE
- BIBLIOTECA
- ITEVIRTUAL
- TAC
<?php
$folder_name = basename(__DIR__);
?>
Crie também "Hosts Virtuais" para que quando os usuários acessarem as portas definidas
80 => ITE
37
Listen 80
Listen 7078
Listen 7079
Listen 7080
Dentro do arquivo de configuração do Apache, geralmente perto do final, terá uma seção para
<VirtualHost *:80>
DocumentRoot "C:/xampp/htdocs/ITE"
ServerName localhost
</VirtualHost>
<VirtualHost *:7078>
DocumentRoot "C:/xampp/htdocs/BIBLIOTECA"
ServerName localhost
</VirtualHost>
<VirtualHost *:7079>
DocumentRoot "C:/xampp/htdocs"
ServerName localhost
</VirtualHost>
<VirtualHost *:7080>
DocumentRoot "C:/xampp/htdocs/ITEVIRTUAL"
ServerName localhost
</VirtualHost>
Após fazer todas as alterações, reiniciar o serviço do Apache para que as alterações funcionem
38
4) Crie um arquivo tabuada.php em ITE que deverá receber via GET uma variável chamada
<!DOCTYPE html>
<html lang="pt-br">
<head>
<meta charset="UTF-8">
<title>Tabuada do 8</title>
</head>
<body>
<h1>Tabuada do 8</h1>
<?php
if(isset($_GET['numero'])) {
$numero = intval($_GET['numero']);
echo "<ul>";
echo "</ul>";
} else {
?>
</body>
</html>
39
5) Crie um arquivo chamado fatorial.php em BIBLIOTECA que deverá receber via GET um
<!DOCTYPE html>
<html lang="pt-br">
<head>
<meta charset="UTF-8">
<title>Resultado do Fatorial</title>
</head>
<body>
<h1>Resultado do Fatorial</h1>
<?php
if(isset($_GET['numero'])) {
$numero = intval($_GET['numero']);
if ($numero >= 0) {
$fatorial = 1;
$fatorial *= $i;
} else {
} else {
?>
</body>
</html>
40
6) Crie um array de 10 posições utilizando a notação $meu_array = array( 0=> ..., 1=> ... N => ...)
<?php
$meu_array = array(
);
var_dump($meu_array);
?>
<?php
$meu_array = [];
$meu_array[] = $i;
?>
8) Crie um array de 500 posições com índices no formato texto, seguindo o exemplo
$meu_array = ["INDICE_XXX"]
<?php
$meu_array = [];
$meu_array["INDICE_$i"] = $i;
echo "<pre>";
41
print_r($meu_array);
echo "</pre>";
?>
<?php
$jogo_da_velha = [
];
echo "<pre>";
var_dump($jogo_da_velha);
?>
10) Crie uma página em ITEVIRTUAL que receba via GET os parâmetros: peso e altura. Sua página deverá calcular
o IMC (índice de massa corporal) e informar o usuário se ele está ou não acima do peso.
<!DOCTYPE html>
<html lang="pt-br">
<head>
<meta charset="UTF-8">
<title>Calculadora de IMC</title>
</head>
<body>
<h1>Calculadora de IMC</h1>
<?php
$peso = $_GET['peso'];
$altura = $_GET['altura'];
42
if ($imc > 25) {
} else {
} else {
echo "<p>Por favor, informe o peso e a altura na URL usando os parâmetros 'peso' e 'altura'.</p>";
?>
</body>
</html>
11) Faça uma página que receba a seguinte variável e valor através do método GET: conteudo=EXERCICIOS$#LP
WEB I$#2024$#ITE$#ANALISE E DESENVOLVIMENTO DE SISTEMAS. Sua página deverá após receber os dados, ler o
conteúdo da variável "conteudo" e demonstrar os valores conforme abaixo
ITEM: CCCC
DISCIPLINA: CCCC
ANO: CCCC
CURSO: CCCC
<!DOCTYPE html>
<html lang="pt-br">
<head>
<meta charset="UTF-8">
<title>Exibição de Conteúdo</title>
</head>
<body>
<h1>Exibição de Conteúdo</h1>
<?php
43
if(isset($_GET['conteudo'])) {
} else {
?>
</body>
</html>
exer_id inteiro,
exer_enunciado TEXT,
exer_pontos FLOAT,
exer_disciplina VARCHAR(20)
);
44
c) Crie o CRUD (Create, Read, Update e Delete) para a manutenção dos dados da tabela
disciplina
exercicio_buscar.php
<?php
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Consulta Usuários</title>
<link
href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css"
rel="stylesheet" integrity="sha384-
EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC"
crossorigin="anonymous">
</head>
<body>
<div class="container">
<div class="row">
<div class="col-6">
<div class="input-group mb-3">
<form method="" action="">
<input type="text" class="form-control"
name="localizar"
placeholder="Digite até 3 letras para procurar"
/>
<input type="submit" class="input-group-text"
value="BUSCAR"/>
</form>
</div>
<a href="exercicio_cadastrar.php" class="btn btn-success">NOVO</a>
</div>
<div class="col-12">
<h2>Listagem de exercicios</h2>
<table class="table table-hover">
<thead>
45
<tr>
<td>ID</td>
<td>Enunciado</td>
<td>Pontos</td>
<td>Disciplina</td>
<td>Ações</td>
</tr>
</thead>
<tbody>
<?php
while($linha = $rs->fetch_assoc()) {
echo " <tr>
<td>" . $linha["exer_id"] . "</td>
<td>" . $linha["exer_enunciado"] . "</td>
<td>" . $linha["exer_pontos"] . "</td>
<td>" . $linha["exer_disciplina"] .
"</td>
<td>
<a
href='exercicio_alterar.php?exer_id=" . $linha["exer_id"] . "' style='text-
decoration:none'>✏️</a>
<a
href='exercicio_excluir.php?exer_id=" . $linha["exer_id"] . "' class='btn btn-
danger'>🗑️</a>
</td>
</tr>";
}
?>
</tbody>
</table>
</div>
</div>
</div>
<script
src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js"
integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM"
crossorigin="anonymous"></script>
</body>
</html>
46
exercicio_cadastrar.php
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Login</title>
<link
href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css"
rel="stylesheet" integrity="sha384-
EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC"
crossorigin="anonymous">
</head>
<body>
<div class="container">
<div class="row">
<h2>Registro de exercicios</h2>
<form method="post" action="exercicio_cadastrar_salvar.php">
<label class="form-label">Enunciado</label>
<input type="text" name="exer_enunciado" class="form-control"/>
<br/>
<label class="form-label">Pontos</label>
<input type="number" name="exer_pontos" class="form-control"/>
<br/>
<label class="form-label">Disciplina</label>
<input type="text" name="exer_disciplina" class="form-control"/>
<br/>
<br/>
<a href="exercicio_buscar.php" class="btn btn-success">
VOLTAR
</a>
</form>
</div>
</div>
<script
src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js"
integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM"
crossorigin="anonymous"></script>
</body>
</html>
47
exercicio_cadastrar_salvar.php
<?php
$enunciado = @$_POST['exer_enunciado'];
$pontos = @$_POST['exer_pontos'];
$disciplina = @$_POST['exer_disciplina'];
$sql = "
INSERT INTO exercicio (exer_enunciado, exer_pontos, exer_disciplina)
VALUES ('$enunciado', $pontos ,'$disciplina') ";
$rs = $conexao->query($sql);
header("location: exercicio_buscar.php");
?>
48
exercicio_alterar.php
<?php
$id = $_GET["exer_id"];
$rs = $con->query($sql);
$dados = $rs->fetch_assoc();
//echo $dados["usuario"];
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<form method="POST" action="exercicio_alterar_salvar.php">
<input type="number" name="exer_id"
value="<?php echo $dados["exer_id"]; ?>" >
<label>Enunciado</label>
<input type="text" name="exer_enunciado"
value="<?php echo $dados["exer_enunciado"]; ?>" >
<label>Pontos</label>
<input type="number" name="exer_pontos"
value="<?php echo $dados["exer_pontos"]; ?>" >
<label>Disciplina</label>
<input type="text" name="exer_disciplina"
value="<?php echo $dados["exer_disciplina"]; ?>" >
</form>
</body>
</html>
49
exercicio_alterar_salvar.php
<?php
$id = $_POST["exer_id"];
$enunciado = $_POST["exer_enunciado"];
$pontos = $_POST["exer_pontos"];
$disciplina = $_POST["exer_disciplina"];
if ($total["total"] == 0) {
echo "Id não existe";
exit;
}
$sql = "UPDATE exercicio
SET exer_enunciado = '$enunciado',
exer_pontos = $pontos,
exer_disciplina = '$disciplina',
WHERE exer_id = $exer_id";
$con->query($sql);
header("location: exercicio_buscar.php");
?>
exercicio_excluir.php
<?php
$con = new mysqli("127.0.0.1",
"root",
"",
"lista_exercicios");
if(isset($_GET['exer_id'])) {
$id = $_GET['exer_id'];
$sql = "DELETE FROM exercicio WHERE exer_id = $id";
$con->query($sql);
header("Location: exercicio_buscar.php");
exit;
}
?>
50