PI S2 DSW III DouglasARS: mudanças entre as edições

De IFSC
Ir para navegação Ir para pesquisar
imported>Douglas
imported>Douglas
Linha 400: Linha 400:


Para criar ou manipular as tabelas já criadas, você deve acessar:
Para criar ou manipular as tabelas já criadas, você deve acessar:
;Hospedagem >> seudominio.esy.es
Insira nome da seção: phpmyadmin
Escolha o ícone: '''phpMyAdmin'''
A Figura 7 mostra o resultado que mostra os banco de dados criados e o botão que chama a aplicação phpMyAdmin que vocês já conhecem.
[[Imagem:tela_phpmyadmin_hostinger.png|center]]
<center>
Figura 7 - Tela com os banco de dados encontrados e botão para acessar o phpMyAdmin.
</center>


=Resumo=
=Resumo=

Edição das 16h31min de 5 de maio de 2016

Apresentação

Olá Aluno,

...

Dediquem um tempo para seus estudos.

Falta pouco!

Fiquem atentos as postagens no Fórum e participem dos nossos encontros virtuais.

Prof. Douglas A.

Objetivos

  • Como alterar para o conjunto de funções MySQLi para conectar o PHP ao banco de dados MySQL.
  • Aprender a trabalhar com caixa de diálogos.
  • Como criar um Domínio gratuito na Internet.

Conexão PHP-MySQL

Nessa nossa volta ao desenvolvimento do sistema, me deparei com uma recomendação do PHP sobre a substituição do conjunto de funções MySQL por MySQLi, que é uma extensão do PHP feita para aproveitar os recursos mais avançados do banco de dados MySQL. O interessante desse novo conjunto de funções MySQLi é que pode ser usado de forma orientada a objetos.

Para que você possa utilizar as funções MySQLi você precisa do PHP 5 (ou superior) e MySQL 4.1.3 (ou superior). Não se esqueça de antes de testar esses scripts verificar se o MySQLi está habilitado no seu PHP dando uma olhada no phpinfo(). A Figura 1 apresenta como é essa tela de informações PHP.

Para testar a versão, basta criar uma página PHP que chame info.php, salvar no diretório padrão do Apache: /var/www/html (para Ubuntu 14). Você pode criar a página (arquivo) com editor de sua preferência, veja o exemplo com o gedit:

$ gedit /var/www/html/info.php &

Digite o seguinte código:

<?php

      phpinfo();

?>

Salve o arquivo, vá no seu navegador e digite:

http://localhost/info.php

Deverá aparecer uma tela como esta:


Info php.png

Figura 1 - Tela resultado da função phpinfo().


Agora vamos aos exemplos de scripts que fazem todas as operações comuns do MySQL, vou preferir aqui mostrar conexões estruturadas, sem usar o recurso de orientação à objetos, vamos fazer isso mostrando parte do código baseado no nosso sistema exemplo.

Conectando ao MySQL

<?php
$servidor = 'localhost';
$usuario = 'root';
$senha = '';
$banco = 'mydb';

// Conecta-se ao banco de dados MySQL
$link = mysqli_connect($servidor,$usuario,$senha,$banco) or die("ERRO: Não foi possível conectar-se ao banco de dados.");

Essa função faz de uma só vez a conexão com o MySQL e já seleciona o banco de dados.


Executando uma consulta SQL

Neste exemplo, vamos mostrar como conectar a um outro banco de dados e fazer o teste recuperando os dados através de um SELECT. Lembrando, se você quiser fazer o teste no seu servidor, é preciso reconfigurar as ligações (servidor, usuario, senha e banco).


<html>
<head>
	<title>Página de testes</title>
	<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
</head>
<body>

<b>Página de teste!</b><br><br>

<?php
echo "Teste"."<br>";

$servidor = 'mysql.hostinger.com.br'; // Servidor MySQL
$usuario  = 'u381978428_dars';        // Usuário MySQL
$senha    = 'Jujuba01';       	      // Senha MySQL
$banco    = 'u381978428_exemp';       // Banco de dados MySQL

echo $banco."... ";

$conecta = mysqli_connect($servidor,$usuario,$senha,$banco) or die("ERRO: ".mysqli_error($conecta)); 

echo "conectou. <br><br>";


$consulta = "SELECT * FROM usuarios" or die("ERRO: ".mysqli_error($consulta)); 

echo $consulta."<br>";

if ($resultado = mysqli_query($conecta,$consulta)){

    printf("Select returned %d rows.\n", mysqli_num_rows($resultado));

};

echo "<p>Usuário | Senha <br>";
while($linha = mysqli_fetch_assoc($resultado)){
    echo $linha["usuario"].' | ';
    echo $linha["senha"].'<br>';
}; 

mysqli_close($conecta); // Desconecta o banco de dados

?>
</body>
</html> 
Resultado
http://douglasars.esy.es/teste.php


Página de teste!

Teste
u381978428_exemp... conectou.

SELECT * FROM usuarios
Select returned 2 rows.

Usuário | Senha
adm | 81dc9bdb52d04dc20036dbd8313ed055
douglas | 81dc9bdb52d04dc20036dbd8313ed055


De fato, às modificações do uso da antigas funções (mysql) com as novas (mysqli), não é tão grande. Além desse i ao final da função, em alguns casos existe a unificação das funções, como na mysqli_connect(), que faz a conexão e já seleciona a base de dados. Outra modificação está na função mysqli_query($conecta,$consulta), na verdade essa é apenas uma ligação para a mesma função e passa ser associada a conexão representado pela variável "$conecta". A variável "$consulta" tem o código SQL com o SELECT da tabela. Veja como era e como ficaram as principais funções:


Nova função para conexão
mysqli_connect($servidor,$usuario,$senha,$banco) | substitui: mysql_connect($servidor,$usuario,$senha) e mysql_select_db($banco, $conecta)
Nova função para consulta
mysqli_query($conecta,$consulta) | substitui: mysql_query($consulta)
Nova função para retornar o número de registros (linhas)
mysqli_num_rows($resultado) | substitui: mysql_num_rows($resultado)
Nova função para retornar os dados para um vetor (colunas)
mysqli_fetch_assoc($resultado) | substitui: mysql_fetch_assoc($resultado)
Nova função para fechar o banco de dados
mysqli_close($conecta) | substitui: mysql_close($conecta)

Muitas vezes é necessário confirmar uma ação importante no sistema como por exemplo uma confirmação de exclusão de registro. Existem muitas maneiras de realizar essa tarefa, porém, escolhemos uma que utiliza o JavaScrit e está presente no nosso sistema exemplo. O código abaixo faz parte da página "listaclientes.php", nela encontra-se o botão "Excluir" que quando acionado chama a função apaga_registro(), que confirma a exclusão ou não do registro selecionado.

[...]
<script type="text/javascript">
  function apaga_registro(id) {
    if (confirm("Deseja realmente EXCLUIR o registro?")){
	window.location = 'listaclientes.php?tipo=9&id='+id;	    	
    }
}
</script>


<?php

if ($_GET["tipo"]==9) {
	apagar('clientes', 'id_cliente', $_GET['id'],$_SG['link']);
    	header("Location: listaclientes.php?tipo=2&filtro=0");
}

[...]

echo '<input name="excluir" type="button" onClick="apaga_registro('.$exibe['id_cliente'].')" value="Excluir"></td>';

[...]


Como já falei, esse trecho de código está no arquivo listaclientes.php, quando clicado o botão Excluir, é chamada a função apaga_registro() e passa como parâmetro o id do cliente, ou seja, sua identificação única que será utilizada com critério de exclusão do registros, isto se for confirmada pela função confirm() do JavaScritp. A Figura 2 mostra como fica uma tela de confirmação.


Tela confirm.png

Figura 2 - Tela confirma do cadastro de cidades.

Se a opção escolhida for Cancelar a função confirm() retorna FALSO e o sistema volta para o seu curso normal a partir de onde foi chamada. Se opção for OK a função confirm() retorna VERDADEIRO e trata de apagar o registro.


Nota: A função confirm() não apaga nenhum registro. Quem apaga o registro é a chamada novamente da página (window.location = 'listaclientes.php?tipo=9&id='+id), uma técnica de recursividade da própria página, que envia um "tipo=9" e um "id" do cliente selecionado para ser apagado.

Quando a página é re-chamada com "tipo=9" o sistema desvia sua execução e o registo do cliente identificado por "id" é excluído pela função apagar() que está na página funcoes.php. Novamente a página é chamada normalmente, e se deu tudo certo com a exclusão do registro, esse cliente ou cidade não fará mais parte da consulta.

Nota 2: Não poderá haver dependência do tipo chave estrangeira para o registro cadastrado (FOREIGN KEY), ou seja, se você está tentando excluir uma cidade que foi utilizada por um cliente, este registro não poderá ser excluído.

Domínio na Internet

Existem muitos sites que oferecem Hospedagem Grátis na internet. O problema que muitos deles possuem anúncios em suas páginas e alguns termos restritivos de uso e tempo limitado. Além disso, não possuem nenhuma segurança quanto a servidores estáveis, o que parece uma coisa "preciosa", já que não se paga nada por isso. Pra mim, o único inconveniente é como fica o seu domínio, ou seja, o nome pelo qual você é encontrado na web. Também vale lembrar se o seu provedor gratuito tem PHP e MySQL em versões recentes compatíveis com o desenvolvimento da sua aplicação. Muitas vezes há limitações para o número de banco de dados ou mesmo, número de tabelas nesses banco de dados.

Vamos pegar o exemplo de hospedagem grátis Hostinger' que oferece:

  • 2000MB de espaço em disco
  • 100GB (100.000 MB) de banda
  • Hospede nomes de domínio ilimitados
  • Painel de Controle de hospedagem baseado em cPanel
  • Sem anúncios ou banners
  • Serviços de E-mail (IMAP/POP3/Webmail)
  • Suporte a PHP e banco de dados MySQL
  • Ativação de conta instantânea

Recursos do PHP:

  • PHP versões 5.2, 5.3 e 5.4
  • Suporte a upload de arquivos
  • Função PHP mail() e Sendmail
  • Função PHP fopen() e Sockets
  • Extensão MysqLi

Recursos do MySQL:

  • MySQL versão 5.1
  • Espaço em disco MySQL ilimitado!
  • Permitidos 2 bases de dados MySQL.
  • Suporte a phpMyAdmin
  • Armazenamento baseado em unidades de disco SSD (estado sólido)
  • Extensão MysqLi habilitada
  • Mecanismo de armazenamento MyISAM
  • Suporte a PDO e PDO MySQL
  • Suporte a SQLite
  • Powered by cloud computing

Por onde começar

Etapa 1
Clique em Peça Agora !
Abra sua conta utilizando a conta do google ou facebook. Se preferir utilize o formulário de registro completando com:
  • Seu nome:
  • Seu e-mail:
  • Senha:
  • Re-digite sua senha:

Pronto! É só concordar com os termos de serviços já mencionados e estará criada sua conta.

Etapa 2

Você receberá um email com o seguinte conteúdo:


Caro(a) DOUGLAS ALEXANDRE RODRIGUES DE SOUZA ,

Obrigado por se cadastrar conosco. Sua nova conta foi configurada e agora voce pode fazer o login em nossa área de membros utilizando os detalhes abaixo.

Email: douglasars@gmail.com Senha: ••••••••••

Para fazer o login, acesse http://cpanel.hostinger.com.br


Nesse ponto você vai configurar os dados da conta e domínio do usuário. Lembrando, que como não se trata de domínio pago, você tem escolher um domínio que achar mais interessante e facilmente reconhecível. Depois do cadastro confirmado você receberá outro email:


Caro(a) DOUGLAS ALEXANDRE RODRIGUES DE SOUZA ,

Obrigado por se cadastrar conosco. Para ativar seu perfil, clique no link abaixo:

http://cpanel.hostinger.com.br/auth/confirm/hash/86c60343d649928adaeb41a9e979e2c42e84ac54

Obrigado

Hostinger Brasil

http://www.hostinger.com.br


Você irá receber um outro email com o título: Conta Gratuita Ativada


Caro(a) DOUGLAS ALEXANDRE RODRIGUES DE SOUZA ,

Obrigado por ativar sua conta! Este email contém todas as informações que voce necessita para iniciar o uso.

Se você requisitou um nome de domínio durante o cadastro, tenha em mente que o seu nome de domínio não estará visivel na internet instantaneamente. Este processo se chama propagação e leva até 48 horas. Até o domínio ser propagado, seus site e emails não funcionarão.

Informação da nova conta

Plano de Hospedagem: Gratuito
Domínio: douglasars.esy.es
Endereço IP: 31.170.165.32

Detalhes de Login do Painel de Controle

Email : douglasars@gmail.com
Senha: ••••••••••

URL do Painel de Controle: http://cpanel.hostinger.com.br

Informaçoes do Servidor

Nome do Servidor: server18.hostinger.com.br
IP do Servidor: 31.170.164.27

Se voce já usa um domínio, voce precisará atualiza-lo para apontar aos nameservers abaixo.

Nameserver 1: ns1.hostinger.com.br 31.170.163.241
Nameserver 2: ns2.hostinger.com.br 31.220.23.1
Nameserver 3: ns3.hostinger.com.br 173.192.183.247
Nameserver 4: ns4.hostinger.com.br 31.170.164.249

Fazendo Upload de seu Website

Voce pode utilizar um dos endereços abaixo para gerenciar o website.

FTP Hostname Temporário: 31.170.165.32
FTP Hostname completo: ftp.douglasars.esy.es
Usuário FTP: u381978428
Senha FTP: teste1234

Voce deve enviar arquivos no diretório public_html!

Para configurar um cliente de email, voce deve usar os seguintes detalhes de conexão:

POP3: mx1.hostinger.com.br
Usuario: O endereço de email que voce escolheu para registrar a conta
Senha: Especificada na criação de email.

Obrigado por escolher nossos serviços.


Agora, vamos criar um domínio gratuito.

Entre no cpanel
http://cpanel.hostinger.com.br
Tela login hostinger.png

Figura 3 - Tela de login cpanel do Hostinger.

Atenção: A forma como se cria um novo domínio pode ser diferente de hospedagem para hospedagem, ou mesmo, mudar sem nenhum aviso. As telas e o passo a passo também pode ser diferente, portanto, vou mostrar como é hoje para quem já tem conta no Hostinger.

Depois de logado no cpanel clicar em:

Hospedagem >> +Nova Conta


Tela dominio hostinger.png

Figura 4 - Tela de nova conta de hospedagem.

A Figura 4 mostra como fica a tela de criação de hospedagem. A primeira coisa é escolher um tipo de domínio, no caso Subdomínio que é gratuito. Depois, é preciso dar um nome para Subdomínio Gratuíto, eu por exemplo, escolhi douglasars em .esy.es, poderia ter escolhido qualquer daqueles outros subdomínios como: .16mb.com, .hol.es, .pe.hu, .96.it. Daí é só colocar senha e confirmar, clicando em Continuar. Agora é só seguir o passo a passo que você terá seu domínio criado.

Nota: Como se trata de site gratuito, só é possível usar os servidores do local indicado.

Agora, vamos criar um banco de dados e também acessar o phpMyAdmin.


Criar o banco de dados

A Figura 5 mostra como criar um novo banco de dados, lembrando que nessa hospedagem só posso criar dois banco de dados. Para acessar o MySQL faça:

Hospedagem >> seudominio.esy.es

Insira nome da seção: MySQL

Escolha o ícone: Bases de Dados MySQL


Tele bd hostinger.png

Figura 5 - Criação de base de dados.


É importante definir um nome para banco de dados, lembrando que a parte inicial do nome do banco é fixa e você escolhe a terminação. Um nome para o usuário, senha e repetir e clicar em Criar. A Figura 6 apresenta o resultado e como você vai ligar sua aplicação ao banco de dados.

Tela resbd hostinger.png

Figura 6 - Resultado após a criação de base de dados.

Criar as tabelas

Para criar ou manipular as tabelas já criadas, você deve acessar:

Hospedagem >> seudominio.esy.es

Insira nome da seção: phpmyadmin

Escolha o ícone: phpMyAdmin

A Figura 7 mostra o resultado que mostra os banco de dados criados e o botão que chama a aplicação phpMyAdmin que vocês já conhecem.


Tela phpmyadmin hostinger.png

Figura 7 - Tela com os banco de dados encontrados e botão para acessar o phpMyAdmin.

Resumo

Sistema exemplo

Endereço
http://douglasars.esy.es/
Usuário
adm
Senha
1234

Código Fonte

Download
http://douglasars.esy.es/down/exemplo.zip

Organização da Semana 3

Nesta segunda semana [...]

Até lá!

Bons estudos!

Prof. Douglas A.

Referências

[1] Guia prático de MySQLi no PHP: http://blog.thiagobelem.net/guia-pratico-de-mysqli-no-php

[2] Como hospedar seu site gratuitamente (com MySQL e PHP): https://www.youtube.com/watch?v=nGXOL_0fyDM

[3] Como usar o Filezilla (FTP): https://www.youtube.com/watch?v=qxhjYhgHF-M

[4] Tutorial de FTP - Como Usar o FileZilla: <http://www.comofazerumsite.com/criarsite/tutorial-ftp-filezilla.html>




<< <> >>