User Tag List

Curtidas Curtidas:  0
Resultados 1 a 4 de 4

Tópico: [PHP] Aula06 - O Lado seguro e ágil da coisa

  1. #1
    CCV_HEALbra está offline
    Data de Ingresso
    Oct 2008
    Localização
    Goiânia
    Posts
    6.123
    Membro CCVCavaleiro Vagabundo
    Avatar de CCV_HEALbra

    Membro CCVCavaleiro Vagabundo
    Data de Ingresso
    Oct 2008
    Localização
    Goiânia
    Posts
    6.123
    Posts Curtidos
    Mencionado
    0 Post(s)
    Marcado
    0 Tópico(s)

    [PHP] Aula06 - O Lado seguro e ágil da coisa




    PHP – O Lado seguro e ágil da coisa

    Dado a questão do php não ser na máquina cliente, como um programa feito em Delphi por exemplo, ele nos dá um acesso ao servidor que torna um serviço rápido, possível e seguro.
    Uma vez, um grande amigo de MSN, programador e professor me falou uma vez que já que você tem uma grande ferramenta em suas mãos..nunca passe-a para o cliente...e é verdade...por exemplo..você vai mexer com números captcha (aqueles números chatos que você tem que preencher em todos os formulários), quando for fazer a verificação, nunca mande para o site..e faça no servidor, pois se você mandar..eles não terá utilidade..logo todos poderão hackeiar seu site!

    Bom..tem algumas variáveis que a gente nunca vai usar (não pelo lado que vou levar)...mas que vou falar um pouquinho...como:

    <?php echo $HTTP_USER_AGENT;?>
    Essa variável feia ai..vai nos dar qual navegador nosso cliente está usando...

    Tem várias outras variáveis que você pode consultar em:

    http://www.criarweb.com/artigos/81.php
    HTTP://www.php.net

    Que não vamos citar aqui..porém, as mais utilizadas devemos e vamos falar sobre elas!

    GET

    A variável get vai servir para você enviar algum dado de uma página à outra!!

    Por exemplo..você tem uma variável nome, e na outra página não tem como vc reconhecer essa variável..você utilizará do get para isso!

    Exemplo:

    pagina01.php
    Código:
    <?php
    $var = 'Ket Boiola';
    Echo "<a href='pagina02.php?var=".$var."'>Clique Aqui!</a>";
    ?>
    pagina02.php
    Código:
    <?php
    $var = $_GET['var'];
    echo $var;
    ?>
    Com isso você vai ver que não tem nenhuma variável com um valor definido na página 02..mas ao passar essa variável da página 01..você vai ver que o $_GET[‘var’]; irá pegar o valor!!

    POST

    O post vai funcionar igual ao get..porém..para formulários (você poderá fazer isso para o get Tb..td denpende do seu form)

    Vamos supor que você tenha o seguinte formulário:

    pagina01.php
    Código:
    <form action="pagina02.php" method="post" enctype="multipart/form-data" name="frm_ins" id="frm_ins">
    <input name="nome" id="nome" type="text" />
    <input type="submit" name="btn" id="btn" value="Enviar" />
    </form>
    Observe bem que tem somente um campo, com o nome nome!!

    Hahahaha!!

    Logo faremos o seguinte na página 2:

    pagina02.php
    Código:
    <?php
    $nome = $_POST['nome'];
    echo $nome;
    ?>
    NOHHHHHHHHHHH....pois é...é só isso mesmo!!
    E você pega todos os dados enviado de um formulário!!


    Ai você me pergunta..então já posso fazer um big Mac super mega pop star cadastro?

    Ai eu respondo: não..pois você ainda não aprendeu como inserir em um banco de dados..masssss..isso é a próxima aula!!

    Hehehe

    FILES

    A Var files pra mim é uma das mais legais, pois você pode trabalhar com envio de arquivos...



    Bom..vamos fazer duas páginas de teste aqui...uma vai ter um formulário com um campo file e outra vai receber e copiar o arquivo para a pasta foto!!

    pagina01.php
    Código:
     <form action="pagina02.php" method="post" enctype="multipart/form-data" name="frm_ins" id="frm_ins">
      <input type="file" name="foto" id="foto">
      <input type="submit" name="btn" id="btn" value="Enviar" />
    </form>
    Crie uma pasta chamada fotos!

    pagina02.php
    Código:
    <?php
    copy($_FILES['foto']['tmp_name'],"fotos/".$_FILES['foto']['name']);
    ?>
    O bom dessa variável que você pode jogadinhas com a variável..tipo assim:

    pagina02.php
    Código:
    <?php
    if($_FILES['foto']['name'] == 'image/gif') {
    copy($_FILES['foto']['tmp_name'],"fotos/".$_FILES['foto']['name']);
    } else {
    	echo "Extensão não permitida!";
    	exit;
    }
    ?>
    Se vocês analisarem bem o código..vai ver q ele só vai aceitar arquivos .gif!!

    Agora vamos restringir o tamanho:

    pagina02.php
    Código:
    <?php
    IF($_FILES['foto']['name'] == 'image/gif') {
    	if($_FILES['foto']['size'] < 100000) {
    copy($_FILES['foto']['tmp_name'],"fotos/".$_FILES['foto']['name']);
    	} else {
    		echo "Tamanho não permitido!";
    		exit;
    }
    } else {
    	echo "Extensão não permitida!";
    	exit;
    }
    ?>
    Com isso ele vai bloqueiar tamanhos acima de 100kb!


    Ai fica mais uma variável!!

    Tem mais duas variáveis que para mim são importantes..que no caso é a cookie e a outra é a session!

    Mas vou deixar para estudar isso no tópico: Utilizando Session!

    Caso queira saber mais (fora o site que indiquei lá em cima)..basta acessar:

    http://imasters.uol.com.br/artigo/1057/php/_files/

    esse vai falar muito também sobre files!!

    Globais

    As variáveis globais, de um jeito mais grosseiro vai transformar as outras variáveis em simples variáveis...como?

    Muahahaha!

    Você tem uma variável chamada pelo $_GET..por exemplo:

    Código:
    <?php
    $var = $_GET['var'];
    Mas ai o que acontece...vc ta de saco cheio de chamar $_GET...toda vez?

    Ai você vai no php.ini (aquele que a gente usou pra instalar o php)...pesquisar por:

    Register_globals = off

    Você vai mudar para on!

    E vai reiniciar o apache...com isso..você vai ter agora um código assim:

    Código:
    <?php
    //em vez disso:
    #$var = $_GET['var'];
    //isso:
    $var = $var;
    //ficou redundante..mas foi para mostrar o que a de cima fez!
    Eu não aconselho a fazer isso..pois você pode ter algumas variáveis declaradas como $var e a global vai substituir ela!!

    Eu mesmo nunca usei globals!!

    Funções!

    Bom...a definição de classes e funções em um modo muito grosseiro é a utilização das mesmas para a não repetição do código....hãn?

    Bom..você tem um código que muda a data de um formato dd/mm/YYYY para YYYY-mm-dd...ai você usa ele em todo o seu site umas 4x...como você não quer repetir todos os passos toda vez..é só criar uma função ou classe para isso!!

    Vamos criar essa função?

    Código:
    <?php
    function data($data) {
    	$dt = explode("/",$data);
    	$dt = $dt[2].'-'.$dt[1].'-'.$dt[0];
    	return $dt;
    }
    echo data(date("d/m/Y"));
    echo data("20/04/1999");
    ?>
    Bom..ai você me diz..mas qual a diferença de classe e função?

    Segundo a discussão abaixo..é somente a questão de organização:

    http://forum.imasters.uol.com.br/ind...1&#entry421851

    bom...vamos supor que você agora quer em vez de passar somente para YYYY-mm-dd, você também quer o contrário..para isso vamos fazer uma classe!

    Código:
    <?php
    class data_formata {
    	var $dt_o;
    	var $dt_n;
    
    	function ymd($dt_o) {
    		$this->dt_o = $dt_o;
    
    		$this->dt_n = explode("/", $dt_o);
    		$this->dt_n = $this->dt_n[2].'-'.$this->dt_n[1].'-'.$this->dt_n[0];
    
    		return $this->dt_n;
    	}
    
    	function dmy($dt_o) {
    		$this->dt_o = $dt_o;
    
    		$this->dt_n = explode("/", $dt_o);
    		$this->dt_n = $this->dt_n[0].'-'.$this->dt_n[1].'-'.$this->dt_n[2];
    
    		return $this->dt_n;
    	}
    }
    ?>
    Ai você fala: PUTAQUEOPARIU!! Fiquei perdidaço nessa joça!!

    Vamos às explicações....caso você queira usar alguma variável da classe fora da classe..você tem q defini-la antes..ou seja..usa-se o var!!

    Depois da classe...temos uma curiosidade..podemos usar a função dentro dela..já a função..não se pode usar classe dentro da mesma!

    Bom..essas funções são iguais a primeira..a diferença está em uma linha:

    Função 1:
    $this->dt_n = $this->dt_n[2].'-'.$this->dt_n[1].'-'.$this->dt_n[0];
    Função 2:
    $this->dt_n = $this->dt_n[0].'-'.$this->dt_n[1].'-'.$this->dt_n[2];
    Ahh..esqueci de falar..estamos usando $this-> para indicar que a variável que estamos usando está setada na classe!!

    Lembrando que $this->dt_n é diferente de $dt_n!!!

    Você pode ver que a diferença foi só na hora de montar!!

    Começamos com o ano, mês e dia em um..e depois dia, mês e ano na outra!!

    Bom..queria que vocês, implementasse essa classe descrita acima...em vez de deixar somente o traço, quero que seja inserido (como a data) um separador à escolha..entendeu?

    vou dar uma dica!!
    na hora de chamar a classe antes era assim:
    <?php
    $dt = new data_formata();
    echo $dt->ymd("20/03/2008");
    ?>
    depois:
    <?php
    $dt = new data_formata();
    $dt->ymd("20/03/2008","/");
    ?>
    Até a próxima!!

    ah....desculpa a demora por ter postado essa...além deu estar meio que super mega sem tempo...fiquei na esperança do still fazer a outra...

    mas é isso ai...ket tá vivo ainda e um novo cabra me adicionou no msn falando q tá acompanhando as aulas!!

  2. #2
    Ket está offline
    Data de Ingresso
    Oct 2007
    Localização
    Bebedouro - SP
    Posts
    4.579
    UsuárioCavaleiro Templário
    Avatar de Ket

    UsuárioCavaleiro Templário
    Data de Ingresso
    Oct 2007
    Localização
    Bebedouro - SP
    Posts
    4.579
    Posts Curtidos
    Mencionado
    0 Post(s)
    Marcado
    0 Tópico(s)

    Re: [PHP] Aula06 - O Lado seguro e ágil da coisa

    Aí vai meu resultado =p

    Código:
    <?php
    class data_formata {
    	var $dt_o;
    	var $dt_n;
    
    	function ymd($dt_o,$separador) {
    		$this->dt_o = $dt_o;
    
    		$this->dt_n = explode("/", $dt_o);
    		$this->dt_n = $this->dt_n[2].'*'.$this->dt_n[1].'*'.$this->dt_n[0];
    
    		return $this->dt_n;
    	}
    
    	function dmy($dt_o,$separador) {
    		$this->dt_o = $dt_o;
    
    		$this->dt_n = explode("/", $dt_o);
    		$this->dt_n = $this->dt_n[0].'='.$this->dt_n[1].'='.$this->dt_n[2];
    
    		return $this->dt_n;
    	}
    }
    $dt = new data_formata();
    echo $dt->ymd("20/03/2008","*");
    
    $dt = new data_formata();
    echo $dt->dmy("20/03/2008","=");
    ?>
    http://ccvket.no-ip.biz:65004/classpag01.php

    ;D
    Flws!

  3. #3
    CCV_HEALbra está offline
    Data de Ingresso
    Oct 2008
    Localização
    Goiânia
    Posts
    6.123
    Membro CCVCavaleiro Vagabundo
    Avatar de CCV_HEALbra

    Membro CCVCavaleiro Vagabundo
    Data de Ingresso
    Oct 2008
    Localização
    Goiânia
    Posts
    6.123
    Posts Curtidos
    Mencionado
    0 Post(s)
    Marcado
    0 Tópico(s)

    Re: [PHP] Aula06 - O Lado seguro e ágil da coisa

    saca só..vc chamou o $separador mas depois nem usou ele..de q adianta?

    Código:
    <?php
    class data_formata {
    	var $dt_o;
    	var $dt_n;
    
    	function ymd($dt_o,$separador) {
    		$this->dt_o = $dt_o;
    
    		$this->dt_n = explode("/", $dt_o);
    		$this->dt_n = $this->dt_n[2].'*'.$this->dt_n[1].'*'.$this->dt_n[0];
    
    		return $this->dt_n;
    	}
    
    	function dmy($dt_o,$separador) {
    		$this->dt_o = $dt_o;
    
    		$this->dt_n = explode("/", $dt_o);
    		$this->dt_n = $this->dt_n[0].'='.$this->dt_n[1].'='.$this->dt_n[2];
    
    		return $this->dt_n;
    	}
    }
    $dt = new data_formata();
    echo $dt->ymd("20/03/2008","*");
    
    $dt = new data_formata();
    echo $dt->dmy("20/03/2008","=");
    ?>
    essa parte:
    $this->dt_n = $this->dt_n[0].'='.$this->dt_n[1].'='.$this->dt_n[2];
    em vez de '=' vc coloca $separador..ficando ainda:
    $this->dt_n = $this->dt_n[0].$separador.$this->dt_n[1].$separador.$this->dt_n[2];

  4. #4
    Ket está offline
    Data de Ingresso
    Oct 2007
    Localização
    Bebedouro - SP
    Posts
    4.579
    UsuárioCavaleiro Templário
    Avatar de Ket

    UsuárioCavaleiro Templário
    Data de Ingresso
    Oct 2007
    Localização
    Bebedouro - SP
    Posts
    4.579
    Posts Curtidos
    Mencionado
    0 Post(s)
    Marcado
    0 Tópico(s)

    Re: [PHP] Aula06 - O Lado seguro e ágil da coisa

    Código:
    <?php
    class data_formata {
    	var $dt_o;
    	var $dt_n;
    
    	function ymd($dt_o,$separador) {
    		$this->dt_o = $dt_o;
    
    		$this->dt_n = explode("/", $dt_o);
    		$this->dt_n = $this->dt_n[0].$separador.$this->dt_n[1].$separador.$this->dt_n[2];
    
    
    		return $this->dt_n;
    	}
    
    	function dmy($dt_o,$separador) {
    		$this->dt_o = $dt_o;
    
    		$this->dt_n = explode("/", $dt_o);
                    $this->dt_n = $this->dt_n[0].$separador.$this->dt_n[1].$separador.$this->dt_n[2];
    
    
    		return $this->dt_n;
    	}
    }
    $dt = new data_formata();
    echo $dt->ymd("20/03/2008","*");
    
    $dt = new data_formata();
    echo $dt->dmy("20/03/2008","=");
    ?>
    agora foi!

Tópicos Similares

  1. Outro lado do Abdiel.
    Por CCV_Solid no fórum [SA:MP] Screens e Videos
    Respostas: 11
    Último Post: 29-06-2010, 10:18 AM
  2. Respostas: 4
    Último Post: 05-02-2009, 06:30 AM
  3. PHP - Excel + PHP, Dúvida
    Por Cloud no fórum Dúvidas
    Respostas: 55
    Último Post: 28-11-2008, 03:51 PM
  4. Lado rosa da força...
    Por Sonic no fórum CQM - Chuta que eh macumba!
    Respostas: 8
    Último Post: 03-08-2008, 07:15 PM
  5. [PHP]Instalando PHP, MySQL e Apache no windows
    Por CCV_HEALbra no fórum Programação
    Respostas: 5
    Último Post: 23-12-2007, 05:49 PM

Tags para este Tópico

Permissões de Postagem

  • Você não pode iniciar novos tópicos
  • Você não pode enviar respostas
  • Você não pode enviar anexos
  • Você não pode editar suas mensagens
  •