Tutorial Php

Fagunz
Por Fagunz
em Tutoriais de Websites

Fagunz

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 28/12/06Posts: 74

Bem Decidi me Dedicar a WebMaster, como estou bem sabidinho ja vou aqui postar um Tutorial, espero que aproveitem.

 

 

 

Começando Prestem Atenção.

 

 

Antes de começarmos a falar do PHP, é interessante abordar o passado. Há muito tempo atrás, a informação na Internet era encontrada por meio das ferramentas Gopher (http://www.gopher.org). Talvez para a época isso fosse suficiente, mas hoje é bem difícil encontrar usuários dessa técnica.

 

O Gopher reinava absoluto até que surgiu a Web e o primeiro navegador, o Mosaic, que possuía a capacidade de exibir o texto e imagens, o que faria com que a Internet se aproximasse mais dos simples mortais. Surgia um novo jeito de formatar a informação contida nos servidores de forma mais agradável e ilustrada. Mas ainda assim, a informação era estática.

 

Tudo muito bonito, mas ainda faltava dinamismo às páginas. Assim surgiu o CGI, (Common Gateway Interface) programas executados sob requisição do navegador e a saída deste programa era encaminhada de volta ao navegador. Por exemplo: para exibir a data em uma página, era necessário executar um programa CGI nos servidor. Este programa lia a data do sistema e informava ao navegador que cuidava da exibição na tela. Para entender um pouco mais de CGI consulte os tutoriais disponíveis aqui.

 

Esta dupla HTML/CGI durou até fins de 1998, início de 1999, sendo utilizada até hoje.

 

E, como sempre, alguém inventou algo melhor. Os programas CGI eram escritos, em sua maioria, com as linguagens C e PERL. E, por isso, causavam uma série de problemas nos servidores, que não vêm ao caso, mas para exemplificar: imagine um site que receba 10 visitas por segundo. Se ele executar um programa CGI em cada uma dessas visitas, serão abertos 10 processos por segundo, o que podia fazer com que o servidor gastasse mais tempo gerenciando estas "threads" do que servindo páginas, função para o qual fora projetado.

 

E para resolver este problema tiveram a brilhante idéia de inserir os comandos que seriam o programa CGI na página HTML, de modo que o servidor, ao enviar esta página, executasse o bloco do comando, no mesmo processo. Deste modo, para exibir a data em nossa página, bastava inserir, em algum ponto desta página, o comando para que a data fosse inserida.

 

Aqui começamos o assunto. Hoje podemos usar comandos da linguagem, que é grátis, portável, aberta, escalável.

 

Como você já deve estar curioso, vamos ver o código de uma página com uma porção PHP.

 

1 <html>

2 <body bgcolor=white>

3 <center>

4 < 5 </center>

6 </body>

7 </html>

 

Vamos "destrinchar" esta página:

Se você não entendeu as três primeiras linhas, vale a pena dar uma olhada no tutorial HTML. A novidade está na linha 4. Note que ela se assemelha com uma TAG HTML, mas tem suas particularidades, por exemplo, um sinal de interrogação para abrir e para fechar. Isto faz com que esta página, quando estiver sendo enviada pelo servidor, passará pelo interpretador do PHP, de modo que apenas código HTML puro chegue ao navegador. Se o usuário acionar o "View Source" de seu navegador, verá o seguinte:

 

1 <html>

2 <body bgcolor=white>

3 <center>

4 Hello World!

5 </center>

6 </body>

7 </html>

 

Este exemplo, não tem muita utilidade, mas serve para ilustrar a idéia por trás do PHP.

 

Vamos ver algo mais útil:

Digamos que em nosso site exista uma página secreta, que só pode ser aberta por quem possuir o código de acesso. Como o HTML não traz nenhuma função para isso, teremos de fazer esta validação usando um outro programa. Este programa deverá ler o valor do campo LOGIN e SENHA do HTML e exibir a página secreto.htm se o par login/senha estiver correto ou a página senhainvalida.htm caso contrário. Pelo que já vimos, isto pode ser feito usando um CGI ou um script in-line (ASP, PHP, etc). Começaremos usando um CGI em PERL:

 

Código da página login.htm

 

<html>

<body bgcolor=white>

<center>

<form action=login.pl method=post>

Login: <input type=text name=login><br>

Senha: <input type=text name=senha><br>

<input type=submit value=" Entrar ">

</form>

</center>

</body>

</html>

 

 

Vamos ver como ficaria o código do CGI login.pl

#!/usr/bin/perl

read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'}); @pares = split(/&/, $buffer);

 

foreach $par (@pares) {

($campo, $valor) = split(/=/, $par);

 

 

$valor =~ tr/+/ /;

$valor =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;

$valor =~ s///g;

 

 

$FORM{$campo} = $valor;

}

 

if (($FORM{'login'} ne 'scott') || ($FORM{'senha'} ne 'tiger'))

{

print "Location: senhainvalida\.htm\n\n";

} else {

print "Location: paginasecreta\.htm\n\n";

}

 

E vejamos como seria o código em PHP. Para isto, o valor ACTION do formulário teria que ser mudado para login.php3.

 

<?php

If (($login <> "scott") || ($senha <> "tiger")) {

Header("Location: senhainvalida.htm\n\n");

} else {

Header("Location: paginasecreta.htm\n\n");

}

?>

 

Vamos discutir o código acima:

 

A primeira linha é padrão, ela abre um bloco de código PHP. A segunda, faz a comparação dos valores de login e senha. Repare que para recuperar o valor dos campos de formulário basta referenciar aos nomes destes campos como variáveis do PHP. Isto significa que a variável $login conterá o valor digitado no campo LOGIN do HTML e a $senha a mesma coisa, não sendo necessário tratar todo o "Buffer" do HTTP, como é feito no PERL.

 

Dependendo do resultado da comparação da linha 2, o programa seguirá pela linha 3 ou 5. Se o login ou a senha não estiver correto, é executada a linha 3 que devolve um comando para o navegador abrir a página senhainvalida.htm, do contrário, o fluxo é desviado para a linha que dá o camando para o navegador exibir a página secreta.

 

Lógico que este não é um método seguro de se proteger uma página, mas em termos didáticos é suficiente.

 

Veja no próximo módulo

 

Bom, já vimos algumas coisas interessantes do PHP. Na Próxima Parte, iremos tratar de variáveis e constantes, além de ver mais algumas coisas relacionadas à tratamento de formulários. Até lá!

 

Essa foi a primeira parte amanhã vou postar a segunda parte.

 

 

Obrigado Pela Atenção!



user posted image

 

user posted image

 

user posted image

 

[imperator Blaze]

 

"Faça Acontecer que eu Faço Valer a Pena"

Heitorzin

Ex-Coordenador XTibia
avatar
Barão
Barão

INFOS

Grupo: BarãoRegistrado: 23/10/05Posts: 233Char no Tibia: Inp

Olá ,

Bom tutorial ,

Vamos aguardar pela 2ª parte né ?

Estarei aguardando ,

Irei anotar tudo para ir testando com calma ,

A maioria dos tutores eu faço isso ,

Bom abraços


Ex-Coordenador XTibia.com

x9kill

Frésco ♪
avatar
Cavaleiro
Cavaleiro

INFOS

Grupo: CavaleiroRegistrado: 22/09/05Posts: 178Char no Tibia: Tibia sux.

li metade ^^ não tive saco pra ler as partes masi aprofundadas, e tbem não so mto afim de php

 

Mas pelo geito gostei muito do tutorial, historinha legal :D

vlw!

do you wanna a suruba ?

-

vtc3wedzwocumnphw0if.jpg


brigads
arcazy
signmg5.jpg
-
flyw
test2vk7.png

p/ os mikows

gi8ng2hzulbxb0yagvue.jpg
-
le7qv4iz311k1ugg95.jpg

Faisca

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 23/07/06Posts: 28

Putz Kra... Tu Me Ajudo Bastante, Vlws :*

[Faisca Novice In Designe]

My Best Job:


Presents:
Wey.Ctba - Bixu Do Mato

Fan-Bars:



[x]Barao

moskitinho

Weiter lieben
avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 31/05/06Posts: 1074Gênero: Masculino

eu nao intendo muito PHP mais lendo deu pra percebe que fico muito bom , parabens....

Angelina_Me_by_msklotz.png

 

moskitinho © 2006


 

wilgonmor

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 12/12/05Posts: 3

Não gostei do tutorial ficou mto pouco explicado por ser o primeiro vc deveria explicar o que cada função faz e não colocar um monte de códigos e só explicar ao todo.

vini_xxe

avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 03/11/06Posts: 260

Fico bom ateh,n fico tudo tudo explicadinho mas da pra te uma noçao pelo menos,valeu a pena dhuaspidha

Gratz :rolleyes:

Bem na moral galera
Enquanto vocês ficam ae preocupados com uns OT SERVER
com um joguinho MEDIOCRE que nao leva a NADA
A vida ta passando
Comecei a jogar de brincadeira, quando me dei conta
4 ANOS se passaram, e ai, oq eu ganhei?
Perdi muitas minas, perdi muitas festas, muitos jogos :S
PAREI, PEGO GERAL, TO EM TODAS AS FESTAS
Fiquem ae jogando NERDS
Que eu vo vive minha vida
@@@@@@@@@@@@@@@@@@@@@@@@@@@@;

TIBIA, UM JOGO QUE VICIA, E EH PIOR QUE ALCOOL
NAO MATA A PESSOA
SOH ACABA COM SEU CONVIVIO SOCIAL
VOCE DEIXA SUA MAE LA SOZINHA PRA PEGA UM SKILL DE SWORD
WTF?
VC NAO SAI COM A GALERA PRA PEGA MINA, PQ TEM Q UPA --"
NERD !@;

Fagunz

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 28/12/06Posts: 74

vini_exe...

Obrigado..

VO Tentar Melhorar...



user posted image

 

user posted image

 

user posted image

 

[imperator Blaze]

 

"Faça Acontecer que eu Faço Valer a Pena"

Chakau

Banido
avatar
Banidos
Banidos

INFOS

Grupo: BanidosRegistrado: 09/11/06Posts: 278

mtu bom o tuto

estou a espera da segunda parte

...

[Usuário banido, Ofensas/Xingamentos a Equipe]
Addict

Fagunz

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 28/12/06Posts: 74

Obrigado Chakau... Sempre me Incentivando....



user posted image

 

user posted image

 

user posted image

 

[imperator Blaze]

 

"Faça Acontecer que eu Faço Valer a Pena"

Psy_demoniO

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 09/01/07Posts: 38

Muito bom o tuto... aprovado :D



Meu Pokt-iT tá ficando bom!

Fagunz

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 28/12/06Posts: 74

Cara isso eu Aprendi Sozinho...

E Postei aqui e apesar de ter pego parte desse Tutorial...



user posted image

 

user posted image

 

user posted image

 

[imperator Blaze]

 

"Faça Acontecer que eu Faço Valer a Pena"

Nostradamus

Serviços Prestados ao XTibia.com
avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 10/06/06Posts: 338Char no Tibia: Setyte Berseker

Estranho, pois está identico...

Além de tudo, como é possível aprender sozinho a data de criação do PHP, do HTML/CGI?

E você está aprendendo Webmaster?

Como se faz isso? Pois que eu saiba Webmaster é um "cargo" e não uma "matéria".

[twitter]ThomazYuji[/twitter]

Arkilus

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 19/10/05Posts: 33

Legal de você ter aprendido sozinho, mas parece que não foi você que escreveu esse artigo, custa por os créditos? Pra que fingir ser o que não é? Roubar o trabalho dos outros em benefício próprio?

 

*PS: Aprendeu sozinho? Caramba! Você descobriu até as datas!