Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Alexsandro XPT

Estilo de programação de QueryString esquisita, porque é assim?

Recommended Posts

Alexsandro, podemos otimizar o script.

 

esse script que postei fiz de cabeça... nem testei. apenas pra você ter uma ideia do que estavamos discutindo.

 

quanto a codificação, nesse exemplo que fiz nao faz codificação. mas não tem nada de complicado fazer veja:

 

nesse trecho

$$vv = GET_POST( $vv ); // requisita GET ou POST

 

if( !$$vv ){

// valor false...

}else{

// valor true. verificar a quantidade de separadores e validar os dados

 

function urlEncoded( $v, $o=false ){

if( !$o ){

return base64_encode( $v );

}else{

return base64_decode( $v );

}

}

 

$$vv = urlEncoded( $$vv, true );

 

$$vv = $sp . $$vv; // adiciona o separador no começo da string

$sv = explode( $sp, $$vv );

Compartilhar este post


Link para o post
Compartilhar em outros sites

complementando ficaria assim:

 

 

PHP
<?php

 

        function urlEncoded( $v, $o=false ){

                if( !$o ){

                return base64_encode( $v );

                }else{

                return base64_decode( $v );

                }

        }

 

        function somente_numeros($valor){

                $s = "";

                for($n=0;$n<strlen($valor);$n++){

                        $ch=substr($valor,$n,1);

                       

                        if (ord($ch)>=48 && ord($ch)<=57){

                        $s .= $ch;

                        }

                }

                return $s;

        }

 

function GET_POST( $vv, $n = false ){

    $$vv = false;

    if( isset( $_POST[$vv] ) ){

    $$vv = $_POST[$vv];

    }

 

    if( !$$vv || $n ){

        if( isset( $_GET[$vv] ) ){

        $$vv = $_GET[$vv];

        }

    }

 

return $vv;

}

 

$url_coded = true; // true: habilita o codificador, false: desabilita o codificador

$er   = true;

$sp   = '.'; // separador

$vv   = 's'; // nome do parametro

$$vv = GET_POST( $vv ); // requisita GET ou POST

 

if( !$s ){

   // valor false...

}else{

   // valor true. verificar a quantidade de separadores e validar os dados

 

  if( $url_coded ){

  $$vv = urlEncoded( $$vv, true );

  }

 

  $s = $sp . $s; // adiciona separador no começo da string

  $sv = explode( $sp, $s );

 

  if( is_array( $sv ) ){

    // formou um array. fazer validacao dos dados à partir do índice 1, até o final

 

    $st = count( $sv );

 

    // fazer o tratamento basico, verificando se os dados são somente numeros. caso contrario, o parametro será invalido.

    for( $i = 1; $i < $st; $i++ ){

      $v = somente_numeros( $sv[ $i ]  );

       if( $v == '' ){

         $v = 1;

         $sv[$i] = false;

       }else{

       $er   = true;

       }

    }

 

  }else{

    // false. nao formou um array.

  }

 

}

 

// primeiro level. índice 1 do array $sv

$paginas[1] = 'principal.inc.php';

$paginas[2] = 'noticias/index.inc.php';

$paginas[3] = 'eventos/index.inc.php';

$paginas[4] = 'consultas/index.inc.php';

 

$id = 1;

if( isset( $sv[$id] ) ){

 

 if( isset( $paginas[ $sv[$id] ] ) ){

    if( @require( $paginas[ $sv[$id] ] ) {

     // daqui pra frente continua o processamento das outras páginas

    }else{

    // erro, pagina nao encontrada. " arquivo nao encontrado no servidor "   *

    }

 }

 

}

 

?>

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola..

 

Voltei.. :P

 

Estive vendo este codigo anoite e não entendi nada... apartir da linha:

$url_coded = true; // true: habilita o codificador, false: desabilita o codificador

 

Mas eu fiz uns teste com a fun urlEncoded e gostei muito do resultado legando que so ela é suficiente até pq nao entendi o resto. =/

 

 

Mas ai entao eu resolvi procurar e achei isto:

http://www.phpclasses.org/browse/package/1951.html

 

você ja conhecia? Oque achas?

 

 

 

Valew.. ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

essa classe é bem simples e possui menos recursosalém do mais o urlencode codifica apenas os caracters especiais

Compartilhar este post


Link para o post
Compartilhar em outros sites

menos? bue.. a que você passou faz mais coisas?Tipo oque por exemplo?Quanto ao urlencode q codifica apenas os caracters especiais, nao seria o escape q faria isto nao?Falow.. até++ e valeww http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

essa classe é bem simples e possui menos recursosalém do mais o urlencode codifica apenas os caracters especiais

Compartilhar este post


Link para o post
Compartilhar em outros sites

acho que você está confundindoescape é do javascript. é igual urldecode do phpsobre a classe e esse codigo que postei..fazem a mesma coisa mas de um jeito diferenteessa função que escrevi possui mais recursos e maior flexibilidade.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isto.. eu disse escape falando tb do urlencode do php e o Server.URLEncode do asp. é na mente veio so o escape.Ahm deixa este assunto pra la... :PEstava fazendo um teste, que quando eu doi INSERT INTO no MSSQL e existe uma string com acento, ele cai malução no DB. e estou usando o SQL_LATIN1_CI_AIvocê tem alguma ideia?Falow...

acho que você está confundindoescape é do javascript. é igual urldecode do phpsobre a classe e esse codigo que postei..fazem a mesma coisa mas de um jeito diferenteessa função que escrevi possui mais recursos e maior flexibilidade.

Compartilhar este post


Link para o post
Compartilhar em outros sites

essa discussao me deu uma duvida...eu trabalho de forma similarmas chamo os includes em cada pagina, ao invez de 1 pagina chamar todas as subsexemplo:a.phpinclude topo.inc.php...contedo do a.php...include rodape.inc.phpisso seria errado ou apenas outra forma de oranizacao?me preocupo muito com a semantica das coisas

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara da uma olhada em programação orientada a objetos com MVC, é uma estrutura muito interessante...

 

na vez de usar includes na pagina controladora (ex index.php) você poderia usar locate para redirecionar...

 

Abrçs

Compartilhar este post


Link para o post
Compartilhar em outros sites

É, so que este locate é muito confuso pois ele chama varias classes passando a locate como referencia, a classe controller tb tem um papel muito bommm nisto so que é uma chama chama de classes, da pra perder os cabelos, tedever ter uma documentaçao desta estrutura, pois achei muitoooo boa...

 

 

 

Cara da uma olhada em programação orientada a objetos com MVC, é uma estrutura muito interessante...

 

na vez de usar includes na pagina controladora (ex index.php) você poderia usar locate para redirecionar...

 

Abrçs

Compartilhar este post


Link para o post
Compartilhar em outros sites

O locate server para direcionar, na vez de incluir a página você direciona para ela...

 

no MVC o C é de Controller, da uma lida, estive pesquisando muito sobre o MVC com OOP, é meio complicado no começo mas depois vai ficando mais claro... so to a procura agora de um sistema simples que use o MVC com OOP para ler...

 

se quiser monta um grupo de estudo do OOP com MVC seria legal...

 

abrçs

 

É, so que este locate é muito confuso pois ele chama varias classes passando a locate como referencia, a classe controller tb tem um papel muito bommm nisto so que é uma chama chama de classes, da pra perder os cabelos, tedever ter uma documentaçao desta estrutura, pois achei muitoooo boa...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ae, valew pela atençao,

 

OPP eu ja estudei, pesquisei e trabalhei um pouco em PHP e em ASP bemmm mais vezes apesar da OOP dele ser muito pobre.

 

A tecninca MVC eu ja conheço por alta, digamos eu estou na busca pra fazer meu primeiro APP com MVC em PHP usando smarty OOP pois em ASP normal nao tem como e ASP.net eu nao gostei muito dele.

 

Sinto mais livre usando PHP ou ASP antigo.

 

Entao estou tentando me identificar com algum MVC e adorei este do openCart, so que eu achei muito complicado, sao mais de 1000 arquivos muitas chamadas de classes, eu adorei a classe Controller e Locate, gostei mais da Controller, eu tentei por algumas horas enteder tudo, mas nao consegui na verdade me identificar onde muitas dakelas classes poderiam me ajudar, pois eu ja tenho algumas classes feito por mim e teria que adapitar.

 

Seria uma otima fazer um grupo de estudos mesmo.... mas eu vou estudar com quem? =/

 

Falow...

 

 

 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então eu to na busca pra aprender mais sobre:

 

- PHP

- OOP

- MVC

- UML

- Template (Smarty)

- Framekork (JQuery ou Code Igniter)

- MySQL

- Ajax

- CSS

 

E se a gente forma um grupo mesmo que pequeno mas com o mesmo interesse, daria para troca e-mails com tutoriais já filtrado pelos outros membros e um esquema de tira duvidas... O garimpo de bons documentos na internet é cansativo e arduo, exigi muito tempo...

 

qualquer coisa manda seu msn por private...

 

abrçs

 

Ae, valew pela atençao,

 

OPP eu ja estudei, pesquisei e trabalhei um pouco em PHP e em ASP bemmm mais vezes apesar da OOP dele ser muito pobre.

 

A tecninca MVC eu ja conheço por alta, digamos eu estou na busca pra fazer meu primeiro APP com MVC em PHP usando smarty OOP pois em ASP normal nao tem como e ASP.net eu nao gostei muito dele.

 

Sinto mais livre usando PHP ou ASP antigo.

 

Entao estou tentando me identificar com algum MVC e adorei este do openCart, so que eu achei muito complicado, sao mais de 1000 arquivos muitas chamadas de classes, eu adorei a classe Controller e Locate, gostei mais da Controller, eu tentei por algumas horas enteder tudo, mas nao consegui na verdade me identificar onde muitas dakelas classes poderiam me ajudar, pois eu ja tenho algumas classes feito por mim e teria que adapitar.

 

Seria uma otima fazer um grupo de estudos mesmo.... mas eu vou estudar com quem? =/

 

Falow...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.