Академический Документы
Профессиональный Документы
Культура Документы
LEME
2
2003
3
Agradecimentos
para chegar ao objetivo principal que é a conquista não só de um diploma, mais sim de
ensinamentos e amizade.
Agradecimentos
4
• A minha querida avó Cicera Medeiros pelo carinho de 2ª mãe e pelo
a minha infância.
5
E se você fizer com sinceridade e
persistência, pouco a pouco, passo a
passo, será capaz de reordenar seus
hábitos e atitudes e pensar menos em seu
mundo de interesses e mais nos interesses
de outras pessoas. E encontrará a paz e
felicidade para si mesmo. (Dalai - Lama)
6
Resumo
PHP versão (4.3.2) para a criação de um site dinâmico para uma empresa de marketing
projeto simples, o banco de dados utilizado foi o MySQL versão (3.23.57) e Servidor
Web Apache versão (1.3.27) pela rapidez e estabilidade comprovadas por revistas de
linguagens.
fabricantes.
1
Valores sem inclusão das tarifas de pulsos telefônicos ocasionalmente utilizados por usuários de banda estreita
7
Abstract
This work have as principal finality, show the PHP language version (4.3.2) to
create a dynamic website for a fantasy marketing enterprise and your interation with
applications, attach databases and web server, detailing the process to install this
version (3.23.57) and Web Server Apache version (1.3.27) for your speed and stability
confimated in the best brazilian magazines, as INFO exame, and your costs are zero2.
The usefulness of PHP language for this work if got of researches about
enterprises.
2
Do not include include prices of telephonic pulses (dialling conection ) and values of Internet works.
8
Lista de Figuras
9
Lista de Tabelas
10
Sumário
RESUMO....................................................................................................................................................7
ABSTRACT................................................................................................................................................8
LISTA DE FIGURAS.................................................................................................................................9
11
LISTA DE TABELAS..............................................................................................................................10
INTRODUÇÃO........................................................................................................................................13
2- LINGUAGEM PHP.............................................................................................................................16
2.1 – HISTÓRIA...........................................................................................................................................16
2.2 – O QUE É O PHP......................................................................................................................................17
2.2 – FUNCIONAMENTO DA INTERPRETAÇÃO DE DADOS DO PHP.............................................................................17
2.3 - SUAS VANTAGENS E PRINCIPAIS CARACTERÍSTICAS. .....................................................................................18
2.4 - SUPORTE AO PHP.....................................................................................................................................20
2.4.1 - HARDWARE...........................................................................................................................................21
2.4.3 - SISTEMAS OPERACIONAIS........................................................................................................................21
2.4.2 - BANCOS DE DADOS................................................................................................................................22
2.4.3 - SERVIDORES WEB..................................................................................................................................23
3.1 – APACHE..................................................................................................................................24
3.1.1 BAIXANDO O APACHE 1.2.27........................................................................................................24
3.1.2. - INSTALANDO O APACHE 1.3.27................................................................................................24
3.1.3. - TESTANDO A INSTALAÇÃO DO APACHE...............................................................................25
3.2 - PHP......................................................................................................................................27
3.3 - CONFIGURANDO O APACHE/PHP...................................................................................28
3.4 – PHP EDITOR...........................................................................................................................30
3.5 – MYSQL..................................................................................................................................31
4- O PROJETO ........................................................................................................................................36
5 – CONCLUSÃO.....................................................................................................................................45
ANEXOS...................................................................................................................................................46
BIBLIOGRAFIA......................................................................................................................................67
12
Introdução
tem aumentado e muito o número de acessos. Muitas pessoas não param apenas na
13
compra e procuram aperfeiçoar os conhecimentos que já possuem com o convívio no
Uma das áreas que ganham mais adeptos é a manipulação de arquivos para
clientes a um curto prazo, acabando assim o profissional da Internet tendo uma das
maiores rendas no ramo, além de ser uma tendência mundial para a integração de
à ele e o restante será realizado no servidor de informações que deverá possuir suporte
onde já vemos uma integração do sistema interno com a Internet numa simples
nomes populares de código aberto4 como LINUX, PHP, Apache e mySQL pois são
3
Multiplataforma: Sinônimo de Sistemas Operacionais como Windows, Linux, Os/2, etc. que podem
interagir entre si através de sistemas e ou aplicativos.
4
Código Aberto: Programas, na maioria gratuitos, onde várias comunidades de programadores atuam no
desenvolvimento da linguagem.
14
O PHP® ou Personal Home Page e o Perl (Practical Extraction and Report
Language) são linguagens interpretadas para Web, que além de ter seu código aberto,
desempenho e custo zero, ao contrário de seus grandes concorrentes que, além do alto
custo com licença de uso, possuem código fechado onde somente as empresas o
ao solicitar o código fonte, somente verá o padrão HTML6 e não a codificação em PHP,
Além dos direitos autorais preservados, outra vantagem deste tipo de linguagem é,
calculos matemáticos complexos e ainda, há autores que dizem ser possível (pelo
5
Cliente: Computador que recebe as informações do site.
6
HTML. Hypertext Markup Language, linguagem padrão para a estrutura de documentos na Internet.
7
www.caucho.com/articles/benchmark.xtp
15
Com a leitura e pesquisa de várias publicações e após muita navegação pela
Internet, podemos perceber que o PHP é muito presente em Web Sites por ser uma
2- Linguagem PHP
2.1 – HISTÓRIA
monitoramento de visitas ao seu site, tendo como primeiro nome Personal Home Page
Tools. A primeira versão foi distribuída no início de 1995 sendo composta por um
sistema bastante simples que rodava alguns utilitários por trás das home-pages.
Atualmente, a versão 4 do PHP é uma das mais utilizadas em Web sites e sua
16
2.2 – O que é o PHP
enviá-los ao
PHP.
extensão .htm, .html, o servidor não executa nenhum script PHP. Ao contrário se a
8
Linguagem Interpretada: Além da leitura e entendimento do código, o interpretador é um programa que lê um
arquivo com o código a ser executado e age imediatamente sobre ele, enquanto a Linguagem de programação utiliza-
se de um compilador para montar o programa utilizando-se de um código binário sendo executado diretamente pelo
computador e sua leitura não é entendida por uma pessoa.
17
servidor executará o interpretador na parte onde a página contem os parâmetros do
em formato HTML, que por sua vez encaminha para o browser do cliente. Veja abaixo:
site estático9, sem vida, em um site poderoso com vários recursos como fóruns, chats,
9
Estático: Sem recursos, como animações, atualizações por meio de banco de dados ou através de linguagens
interpretadas, inverso de Dinâmico, na linguagem WEB
18
murais, desenvolvimento de e-commerce10, etc. Tudo isso se deve a grande
flexibilidade que esse tipo de linguagem possui devido à manipulação de variáveis11 que
o desenvolvedor pode criar de acordo com cada recurso a ser implementado em seu
Web Site.
Uma grande vantagem do uso do PHP em si é, além de ser gratuito, sua sintaxe
é fácil e simples de ser aprendida por iniciantes, desde que possuam pelo menos um
uma classe, ou seja exemplificando, ele cria uma classe caneta. Seus atributos por
exemplo são tinta, tubo e ponta ,seu método principal é escrever. O objeto em si
diferencia-se pela marca, tipo de tinta utilizado, tipo de tubo, tipo de ponta, etc., mas o
que é comum nas canetas: a tinta o tubo e a ponta, além do método escrever.
para os que acham isso um motivo para desistir da programação em PHP, não há em
que se preocupar pois existem milhares de canais do IRC 12, muitos Web Sites e várias
10
E-Commerce: Modalidade de comércio eletrônico feito via Internet através de Web Sites.
11
Variáveis, de uma maneira simples, significa um espaço temporário ou não, reservado na memória para o
armazenamento de dados inseridos pelo usuário. Por exemplo, verificação de senha digitada pelo usuário para acesso
ao e-mail.
12
Instant Relay Chat: Sistema de comunicação em tempo real entre milhares de pessoas conectadas à servidores
dedicados para este tipo de modalidade.
19
Sua sintaxe é bem simples de ser compreendida, parecida com C com toques de
abaixo descrito , onde a variável f receberá o valor resultante da adição entre a variável
b mais 5.
$f = $b + 5
Além disto o PHP lida com o fluxo de execução de um programa com a estrutura
if e a estrutura switch., com estruturas de repetição como while e for , com arrays 13,
operacionais, ou mesmo por pequenos detalhes que podem nos custar muito tempo.
importância que seja feita a leitura dos requisitos mínimos necessários para a
produto.
13
Array: Funciona da mesma maneira que uma variável, mas reserva um espaço maior na memória pois armazena
mais valores que uma variável normal. Enquanto uma variável armazena 1 espaço em memória, o array armazena o
necessário, de acordo com o que programador estipula.
20
2.4.1 - Hardware
específica e/ou potente. Basta que o PC possua bons recursos e que ofereça ao
• HD superior à 2 GB;
• Fax Modem
• Teclado e Mouse
Muitos sistemas operacionais suportam o PHP. Segue abaixo uma lista dos mais
utilizados.
AIX 4.5 BSDI 2.X BSDI 3.0, 3.1 , 4.x DEC UNIX FreeBSD 2.x
4.x /
21
3.X
Me/NT/XP/2000
A seguir se encontra uma lista dos principais Bancos de Dados compatíveis com
o PHP.
A conexão com outros bancos com exceção dos que se encontram abaixo,
PostgreSQL
22
2.4.3 - Servidores Web
• Microsoft PWS
• Microsoft IIS
• Apache
• Xitami
Esta é a parte mais delicada, pois ao invés de vários pacotes prontos que
costumamos ver na Internet para que se facilite o uso dos aplicativos (Easy PHP, PHP
conjunto. Muito material foi pesquisado para se chegar a uma “ótima” configuração dos
que há muitas opções de editores do código PHP desde o Edit do MS-DOS, passando
linguagem PHP.
23
3.1 – Apache
instalação escolhida do Apache foi pelo formato de arquivo .msi (Pacote do Windows
no_src.msi.
http://www.microsoft.com/downloads/release.asp?releaseID=17343
24
Após o download, é só começar a instalação do programa aceitando os termos
Para Iniciar o Apache vá em Iniciar -> Programas -> Apache HTTP Server e Start
Apache in Console.
25
HTTP://LOCALHOST
acima descrito.
Caso seu Apache esteja rodando corretamente, esta página será aberta.
Caso não for feita nenhuma alteração na pasta padrão de instalação do Apache
26
Dica: Crie um atalho para a pasta na área de trabalho!
3.2 - PHP
"c:\php\extensions".
27
Salve o arquivo e feche-o.
Após esta etapa, basta copiar o arquivo php4ts.dll que se encontra na pasta
Este procedimento fará com que o Apache carregue o modulo para ativar o
(Funcionamento do PHP).
28
APACHE/1.3.27 (WIN32) PHP/4.3.2 RUNNING ...
Salve este arquivo com qualquer nome (EX: teste.php) na pasta htdocs dentro
HTTP://localhost/nomedoarquivo.php
29
Figura 5 : Tela de apresentação do php
Este é um poderoso editor de PHP e HTML muito simples, podendo ser utilizado
para diversas funções como editor das linguagens: CSS, Java, Javascript, Python, C++,
Já vem com muitas funções de PHP e mySQL inclusas o que facilita a vida do
função desejada.
tem tamanho igual a 638KB, o que é surpreendente pela quantidade de recursos que
ele possui.
30
3.5 – mySQL
que causou mais dúvida e o que mais utiliza espaço em disco. O endereço para
ftp://mysql.secsup.org/pub/software/mysql/Downloads/MySQL-3.23/mysql-
3.23.57-win.zip
ftp://mysql.secsup.org/pub/software/mysql/Downloads/MyODBC3/MyODBC-
3.51.06.exe
Deve-se instalar o mySQL dentro de uma pasta mySQL no drive C: para não se
confundir com outros caminhos que possam dificultar a configuração posterior de outros
aplicativos.
um atalho para o winmysqladmin, sendo que o aplicativo, se o padrão acima descrito foi
31
C:\mysql\bin
32
33
Figura 7: Inicializador do servidor WinMysqlAdmin
Após alguns segundos estas telas iram se ocultar e surgirá uma figura de
34
Figura 9: Ícone do servidor mySQL ao lado do relógio do Windows
Se tudo ocorrer como descrito acima, basta iniciar o banco de dados indo ao
Isto significa que o usuário padrão do mysql (root) está se conectando a base de
35
4- O Projeto
para uma empresa fantasia de marketing. Com isso, utilizaremos todos os recursos
possíveis para uma boa apresentação. É lógico que além dos recursos do programador
PHP/mySQL, o site precisará de um estilo, que será arbitrado pelo Webdesigner 14. A
alvo que buscará em seu site as informações para certa finalidade. Após o
Nesta parte, o PHP entra com a codificação para tornar o site dinâmico ou até
mesmo esconder o código fonte do usuário que quiser obter o código fonte.
funcionando corretamente.
anexos do trabalho e que não será enfatizada a codificação e sim os pontos mais
para o nosso programa escrito em PHP, onde o mesmo fará uma consulta ao banco de
14
Web Designer : Profissional que estiliza páginas de Internet, responsável pela parte gráfica do site.
36
dados com os nomes dos campos utilizados e retornará à tela o resultado da pesquisa.
Se o usuário ou senha for incorreto, o script retornará que Senha ou Usuário não estão
cadastrados.
Sendo o resultado correto, o usuário será enviado a outra página para consultar,
Action = Mostra para onde serão enviados os dados do formulário (Script que
processará os dados.)
Method = Método utilizado para o Envio (POST ou GET). Pode-se utilizar estes dois
métodos para o envio das informações. O método POST trabalha somente com
método GET trabalha com a passagem de informações por links, barra de endereços,
serem enviados (aproximadamente 2.000 caracteres). Por isso, será utilizada na maior
37
As caixas de texto que receberão o nome de usuário e senha, deverão possuir
um nome que os identifique pois, quando seus valores forem enviados ao script PHP,
Caixa nome:
"Usuário"
Caixa nome:
"Senha"
Formulário:
"Envia"
Após iniciado o mySQL (ver capítulo 3 item 5), criaremos nosso banco de dados
38
Na tela do mySQL basta a digitação do seguintes comandos:
O próximo passo será a criação da tabela que irá receber o nome do usuário e a
senha.
Usuario varchar(20),
Senha Varchar(8));
Isto significa que a tabela onde serão armazenados os dados foi criada.
Com a base de dados e tabela criada iremos escrever o script que fará a
utilizaremos uma variável que armazenará o valor da conexão por meio da seguinte
sintaxe:
39
$variavel_que_faz_conexão=mysql_connect("nomedohost","usuario","senha");
$variavel_que_seleciona_banco=mysql_select_db("nome_banco");
importante lembrar que os métodos devem ser escritos como abaixo pois são funções
predefinidas da linguagem.
a seguinte sintaxe:
$UsuarioExterno = ("$_POST[Nome_de_Usuário]");
$SenhaExterna = ("$_POST[Senha]");
As aspas "" dentro dos parênteses são necessárias pois o conteúdo foi definido
como texto. Se a variável fosse numérica ou recebesse o valor de outra variável com
40
A função mysql_query envia a consulta (query) com a seguinte informação:
$Resultado_da_consulta = mysql_num_rows($Consulta);
if $Resultado_da_consulta = = 0)
else
?>
41
Após a atribuição temos uma estrutura que utiliza o valor da variável
conteúdo para o usuário ser encaminhado a página Principal.html, caso contrário, será
"montada" uma página preliminar que enviará o usuário a página Dentro.php, que será
a página interna onde somente usuários cadastrados poderão acessar seus dados.
método GET para recuperar o nome do Usuário que logou na página e distribui-lo para
dos dados do próprio usuário. Com ele o usuário poderá verificar e alterar seus dados.
Para verificar seus dados, foi criada uma consulta que coloca em arrays os
resultados obtidos.
Para alterar os dados, por meio de outro formulário, como feito no sistema de
entrada, o usuário os envia para o script PHP que altera os mesmos diretamente na
base de dados.
O segundo item inserido foi "Adicionar Contatos". Neste item o usuário do site
fará um pequeno cadastro dos seus clientes contendo o Nome, endereço e E-mail.
O terceiro item, Listar Contatos, irá listar todos os clientes do respectivo usuário.
42
O quinto item, Localizar Contato, fará a localização de Clientes de acordo com os
O código fonte da página interna poderá ser analisado na seção anexos no item
de número 3.
A construção dos scripts requer muito cuidado do programador pois exigirá que
ele tenha em mãos uma estrutura sólida de seu banco de dados, conheça os
relacionamentos entre os campos e saiba usar a lógica para programar o que lhe é
desejado.
script PHP que selecionará apenas os dados daquele usuário. Abaixo, um trecho
que está cadastrado com o nome do usuário que logou no website com seu login e
senha.
43
<?php
...
$UsuarioInterno= $_GET["Usuário_que_Logou"];
'$UsuarioInterno' ");
...
?>
final.
44
5 – Conclusão
tempo, novas ferramentas, versões, enfim, tendo o profissional do meio sempre estar
atento as novas tecnologias. O PHP que foi lançado ao público em 1995 contava com 4
aspectos como:
website:
www.fbsmarketing.cjb.net
45
Anexos
Anexo 1 - Index.php
<html>
<head>
</head>
#f8f8ff;}</style>
<body bgcolor="#CCCCCC>
<tr><td>
<!--DWLayoutTable-->
<tr>
src="Imagens/Logo.jpg"></td>
<td width="12"> </td>
<td width="72"> </td>
46
<td width="578"><!--DWLayoutEmptyCell--> </td>
<td width="21"> </td>
</tr>
<tr>
<!--DWLayoutTable-->
<tr>
DWLayoutEmptyCell--> </td>
</tr>
<tr>
classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.
cab#version=6,0,0,0"
pluginspage="http://www.macromedia.com/go/getflashplayer"></embed>
</object> </td>
</tr>
<tr>
> </td>
</tr>
<tr>
AE6D-11cf-96B8-444553540000"
codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.
cab#version=6,0,0,0"
type="application/x-shockwave-flash"
pluginspage="http://www.macromedia.com/go/getflashplayer"></embed>
</object></td>
</tr>
48
<td align="center" valign="middle" bordercolor="#000000"> <font
<center>
<p> </p>
</center>
target="centro">
sans-serif"> Usuário
</font> <br>
<br>
<br>
sans-serif"> Senha
</font> <br>
<br>
<br>
<center>
49
<input type="submit" name="Entrar" Value="Entrar"
OnBlur="document.Envia.Usuario.value='';document.Envia.Senha.value=''">
</center>
</form></tr>
<tr>
width="120" height="63"></td>
</tr>
</table></td>
<td> </td>
src="Principal.html" scrolling="yes"></iframe></td>
<!--DWLayoutTable-->
<tr>
<td width="152"> </td>
</tr>
<tr>
classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
50
codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.
cab#version=6,0,0,0"
type="application/x-shockwave-flash"
pluginspage="http://www.macromedia.com/go/getflashplayer"></embed>
</object></td>
</tr>
<tr>
<td height="54"> </td>
</tr>
<!--DWLayoutTable-->
<tr>
classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#ve
51
<embed src="Imagens/Links.swf" width="93" height="32"
type="application/x-shockwave-flash"></embed></object></td>
</tr>
<tr>
<td height="84"> </td>
</tr>
<tr>
</tr>
<tr>
background="Imagens/Fundinho.gif"><center>
<?php
$Conexao=mysql_connect("localhost","root","");
$Banco=mysql_select_db("fbsmarketing_it_db");
$Consulta=mysql_query("Select*from cont");
$ContAtual=mysql_num_rows($Consulta);
$ProxCont=(($ContAtual)+1);
$Data=date("d/M/Y");
$ip = getenv("REMOTE_ADDR");
52
$Add_PCont_IP_Data=mysql_query("Insert Into cont Values
($ProxCont,'$Data','$ip');");
echo ($ProxCont);
echo "</font>";
mysql_close($Conexao);
?>
</td>
</tr>
<tr>
<td height="79"> </td>
</tr>
<tr>
</tr>
<tr>
> </td>
</tr>
<tr>
<td height="8"></td>
</tr>
<tr>
53
<td height="19" align="right" valign="middle"><img
</tr>
</table></td>
</tr>
<tr>
<td height="19"></td>
<td></td>
<td> </td>
<td> </td>
</tr>
<tr>
<td bgcolor="#000000">
<?php
$ip = getenv("REMOTE_ADDR");
echo ($ip) ;
echo "</font>";
?></font></font>
</td>
54
<td bgcolor="#000000" align="center"><font color="#FFFFFF" size="3"
FBSnet Marketing-2003</strong></font></td>
size="-2">Rodando
PHP 4.3.2</font></p>
</div></td>
</tr>
</table>
</td></tr>
</table>
</body>
</html>
55
Anexo 2 - Entrar.php
<?php
include("ConexBD.inc");
conecta();
$UsuarioExterno = ("$_POST[Usuario]");
$SenhaExterna = ("$_POST[Senha]");
$Resultado = mysql_num_rows($Consulta);
if ($Resultado == 0)
echo "<center>";
echo "<br>";
echo "</center>" ;
echo "</body></html>";
else
setcookie("ConexBD.inc");
setcookie("Nome_Usuario",$UsuarioExterno,time()+60,0);
setcookie("Senha_Externa",$SenhaExterna,60);
56
echo "<center><font Face=Verdana size=3 color=#000000>Olá
include("Dentro.inc");
?>
57
Anexo 2 - Dentro.php
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Untitled Document</title>
#f8f8ff;}</style>
<SCRIPT LANGUAGE="JavaScript">
<!--
function buildMenu() {
speed=35;
topdistance=0;
items=6;
y=-10;
ob=1;
if (navigator.appName == "Netscape") {
v=".top=",dS="document.",sD="";
else {
v=".pixelTop=",dS="",sD=".style";
58
}
function scrollItems() {
if (ob<items+1) {
if (y<topdistance) setTimeout("scrollItems()",speed);
// End -->
</SCRIPT>
</head>
<!--DWLayoutTable-->
<tr>
rowspan="6"> <br><br><br><br><br><br><br><br><br><br><br><br><br><br><
br><br><br><br><br><br><br><br><br><br><br><br><br></td>
src="Info.html"></iframe> </td>
</tr>
59
</table>
index:2">
<div align="left"><br>
<br>
<br>
</div>
<td><center>
<?php
?>
</center></td>
</table>
</div>
index:2"><br><br><br>
<center>
<td><center>
60
<?php
?>
</center></td>
</table>
</div>
index:2"><br><br><br>
<td><center>
<?php
?>
</center></td>
</table>
</div>
index:2"><br><br><br>
<?php
?>
</center></td>
</table>
</div>
index:2"><br><br><br>
<td><center>
<?php
?>
</center></td>
</table>
</div>
index:2"><br><br><br>
62
<table border=0 width=100 bgcolor=#CCCCCC>
<td><center>
</center></td>
</table>
</div>
</body>
</html>
63
Anexo 3 - Descoberto Primeiro Vírus de Hipertexto
64
Anexo 4 - Free Hosts para hospedagem de PHP.
65
66
Bibliografia
2001. 144 p.
2003. 114 p.
Visitas à websites:
• http://www.security.unicamp.br/docs/informativos/2001/01/b6.txt -
• http://br.share.geocities.com/klausrit/caracteristicas.html - Acessado
em Setembro de 2003
67
• http://www.scriptfacil.com - Acessado em Maio de 2003
68