AplicativosemPHP23072007
644 pág.

AplicativosemPHP23072007


DisciplinaImplementação de Aplicação para Computador12 materiais54 seguidores
Pré-visualização50 páginas
(nomes de tabela e campos) cercada por 
delimitadores e que estes delimitadores são sinais de crase e não apóstrofos. Veja que o uso das 
crases é opcional, pois a tabela clientes não os utiliza e ambas as sintaxes são aceitas.
- Para que tabelas em MySQL tenham suporte a relacionamentos, elas obrigatoriamente devem ser 
do tipo InnoDB (ENGINE=InnoDB ou TYPE=INNODB)
- Para dar suporte a acentuação usamos "DEFAULT CHARSET=latin1"
Comandos úteis do MySQL:
SHOW TABLES - Exibe tabelas do banco atual
SHOW DATABASES - exibe todos os bancos
DESCRIBE nometabela - mostra estrutura da tabela
2) DEFINIR UM SITE NO DW
Ao definir um site sempre prefira que as pastas locais e remotas sejam a mesma, para o caso de 
estar trabalhando localmente (apache e php na sua máquina). Ao final enviar para o servidor por 
FTP.
WikiBooks, Democratizando o Conhecimento
http://pt.wikibooks.org/wiki/Aplicativos_em_PHP \u2013 Página 70/644
3) DEFINIR UM OBJETO CONEXAO
Ao definir uma conexão com o banco MySQL, teremos um objeto conexão com um nome que 
batizamos e este objeto estará disponível por todo o site.
- Tecle Ctrl+N e Selecione General - Dynamic page - PHP e Create
- Tecle Ctrl+S para salvar (index.php)
- Clique no painel Application - Databases (à direita).
Então clique no sinal de + (mais) e em MySQL Connection
Então preencha assim:
- Connection name - conexao
- MySQL server - 127.0.0.1 (caso esteja utilizando remotamente aqui entre com o 
IP do servidor remoto)
- User name - root (mude se for o seu caso, deixando "" caso não tenha senha)
- Password - suasenha
- Database - cad_clientes (idealmente clique no botão select para escolher)
- Agora clique no botão Test para ver como ficou. Se tudo bem clique em OK.
- Observe que a conexão agora ganhou um ícone à direita em Databases. Se clicar 
no sinal de + verá os objetos do banco.
- Para remover uma conexão basta selecionar e clicar no botão com o sinal de - 
(menos)
Veja que no arquivo atual estando no modo Design não percebemos nada do objeto conexao criado. 
Mas o DW cria algumas sub-pastas na pasta do nosso site atual, contendo os códigos que irá utilizar 
em todo o aplicativo. Na pasta Connection está o arquivo conexao.php, que contém o seguinte 
código:
<?php
# FileName=&quot;Connection_php_mysql.htm&quot;
# Type=&quot;MYSQL&quot;
WikiBooks, Democratizando o Conhecimento
http://pt.wikibooks.org/wiki/Aplicativos_em_PHP \u2013 Página 71/644
# HTTP=&quot;true&quot;
$hostname_conexao = &quot;127.0.0.1&quot;;
$database_conexao = &quot;cad_clientes&quot;;
$username_conexao = &quot;root&quot;;
$password_conexao = &quot;phpsenha&quot;;
$conexao = mysql_pconnect($hostname_conexao, $username_conexao, 
$password_conexao) or trigger_error(mysql_error(),E_USER_ERROR); 
?>
Este código é um código simples de uma conexão em PHP com MySQL, mas quando já tiver dado 
os primeiros passos em PHP e também no PHP voltado ao objeto e quizer ir mais adiante estude o 
código do arquivo mysql.php da pasta _mmServerScripts.
4) DEFINIR O ARQUIVO DE AUTENTICAÇÃO DO USUÁRIO
Este código exige que criemos um formulário de login com os campos login e senha. Ele 
redireciona o usuário devidamente autenticado para um arquivo (menu.php no nosso caso) e o não 
autenticado para outro (index.php).
- Ainda com o arquivo index.php aberto e no modo DESIGN faça...
- No painel Properties abaixo clique em Centralizar e Format Heading 2
- Então digite &quot;Autenticação do Usuário&quot; então tecle Enter
- Crie um form contendo apenas dois campos texto login e senha e um botão 
(Acessar). 
- Os nomes dos campos devem ser &quot;login&quot; e &quot;senha&quot;
- O campo senha do tipo password.
- Os campos devem ter size (char width) 9 e maxlength (maschar) 8
- Agora usaremos o assistente do DW para gerar o código de autenticação:
- Selecione a barra de ferramentas Application (acima)
- Clique na seta ao lado do botão User authentication (último da barra)
- Selecione &quot;Log in user&quot;
WikiBooks, Democratizando o Conhecimento
http://pt.wikibooks.org/wiki/Aplicativos_em_PHP \u2013 Página 72/644
Então preencha o assistente como abaixo:
- Validate using connection - Selecione \u201cconexao\u201d
- Table - administrador
- Username column - login
- Password column - senha
- If login suceeds, go to - menu.php
- If login fails, go to - index.php e marque também Go to previous URL
WikiBooks, Democratizando o Conhecimento
http://pt.wikibooks.org/wiki/Aplicativos_em_PHP \u2013 Página 73/644
- Restrict access based on - Username and password. A opção abaixo é indicada para quando temos 
diversos administradores com diversos níveis de acesso: um acessa tudo, outro acessa somente 
parte, ...
Com isto também não vemos nada no modo Design, mas ao observar o modo Code vemos o código 
inserido pelo DW:
<?php require_once('Connections/conexao.php'); ?>
<?php
// *** Validate request to login to this site.
session_start();
$loginFormAction = $_SERVER['PHP_SELF'];
if (isset($accesscheck)) {
 $GLOBALS['PrevUrl'] = $accesscheck;
 session_register('PrevUrl');
}
if (isset($_POST['login'])) {
 $loginUsername=$_POST['login'];
 $password=$_POST['senha'];
 $MM_fldUserAuthorization = &quot;&quot;;
 $MM_redirectLoginSuccess = &quot;menu.php&quot;;
 $MM_redirectLoginFailed = &quot;index.php&quot;;
 $MM_redirecttoReferrer = true;
 mysql_select_db($database_conexao, $conexao);
 
 $LoginRS__query=sprintf(&quot;SELECT login, senha FROM administrador WHERE 
login='%s' AND senha='%s'&quot;,
 get_magic_quotes_gpc() ? $loginUsername : addslashes($loginUsername), 
get_magic_quotes_gpc() ? $password : addslashes($password)); 
 
 $LoginRS = mysql_query($LoginRS__query, $conexao) or die(mysql_error());
 $loginFoundUser = mysql_num_rows($LoginRS);
 if ($loginFoundUser) {
 $loginStrGroup = &quot;&quot;;
 
 //declare two session variables and assign them
 $GLOBALS['MM_Username'] = $loginUsername;
 $GLOBALS['MM_UserGroup'] = $loginStrGroup; 
 //register the session variables
 session_register(&quot;MM_Username&quot;);
 session_register(&quot;MM_UserGroup&quot;);
 if (isset($_SESSION['PrevUrl']) && true) {
 $MM_redirectLoginSuccess = $_SESSION['PrevUrl']; 
 }
 header(&quot;Location: &quot; . $MM_redirectLoginSuccess );
 }
 else {
 header(&quot;Location: &quot;. $MM_redirectLoginFailed );
 }
}
?>
Um código organizado e com muita coisa para se aprender.
WikiBooks, Democratizando o Conhecimento
http://pt.wikibooks.org/wiki/Aplicativos_em_PHP \u2013 Página 74/644
5) CRIAÇÃO DO MENU DE ACESSO
Este arquivo não terá código do DW, apenas será o menu de acesso às demais seções do site e 
conterá um form com uma caixa de texto (login) e cinco botões como abaixo:
Consultar Um, Consultar Todos, Cadastrar, Atualizar e Excluir. Os botões darão acesso às demais 
seções do site. - O form terá o método POST, action =&quot;&quot; e cada botão terá código JS como abaixo 
ao final da tag <input ..> respoinsável pelo redirecionamento para a página solicitada:
<input name=&quot;btnConsultar1&quot; type=&quot;submit&quot; id=&quot;btnConsultar3&quot; value=&quot;Consultar 
Um&quot; onClick=&quot;form1.action='consultar1.php';form1.submit()&quot;> 
<input name=&quot;btnConsultar2&quot; type=&quot;submit&quot; id=&quot;btnConsultar2&quot; value=&quot;Consultar 
Todos&quot; onClick=&quot;form1.action='consultart.php';form1.submit()&quot;>
<input name=&quot;btnCadastrar&quot; type=&quot;submit&quot; id=&quot;btnCadastrar&quot; value=&quot;Cadastrar&quot; 
onClick=&quot;form1.action='cadastrar.php';form1.submit()&quot;>
<input name=&quot;btnAtualizar&quot; type=&quot;submit&quot; id=&quot;btnAtualizar&quot; value=&quot;Atualizar&quot; 
onClick=&quot;form1.action='atualizar.php';form1.submit()&quot;>
<input name=&quot;btnExcluir&quot; type=&quot;submit&quot; id=&quot;btnExcluir&quot; value=&quot;Excluir&quot; 
onClick=&quot;form1.action='excluir.php';form1.submit()&quot;> 
TESTE DO SITE
Já podemos testar o site criado até o momento.
Abra no DW a página index.php e tecle F12 para abrir no site web.
Entre com login e senha que cadastrou no banco e clique em Acessar ou apenas tecle Enter. Veja 
que se realmente entrou com dados que estão no banco, tabela administrador, você será