Jump to content


Photo

Script Em Cgi


  • Faça o login para participar
11 replies to this topic

#1 Jeiso santos

Jeiso santos

    Turista

  • Usuários
  • 49 posts
  • Sexo:Não informado

Posted 07/11/2005, 11:20

Bem meus caros, espero que possam me ajudar...

Bem eu mais um amigo montamos um script para por em um site em que ao vc colocar por exemplo: %%conteudo%% a respectiva página de conteúdo seria carregada no local escrito, porém não sei pq, mas qd eu uso este script algumas url ficam diferentes, ex.:

No código de comando é escrito: http://www.osite.com...iguras/topo.gif , porém quando o script é carregado e este link é rodado no script fica: http://www.osite.com.figuras/topo.gif , sendo deste modo para que a respectiva url abra exatamente como o link original é necessário digitar: http://www.osite.com...iguras/topo.gif , alguem sabe pq isso ocorre?

O Código estou eviando abaixo para análise.

#!/usr/bin/perl

print "content-type:text/html\n\n";
$acao=$ENV{QUERY_STRING};

if (!$acao) {

open (menu_dir,"./pagina2.htm");
@menu_dir=<menu_dir>;
close (menu_dir);

foreach $line(@menu_dir) {

$line =~ s/..\/figuras/figuras/ig;

}

open (conteudo,"./pagina3.html");
@conteudo=<conteudo>;
close (conteudo);

foreach $line(@conteudo) {

$line =~ s/..\/figuras/figuras/ig;

}

open (TEMPLATE, "pagina1.html");
@template = <TEMPLATE>;
close (TEMPLATE);

foreach $line(@template) {
$line =~ s/\%\%conteudo\%\%/@conteudo/ig;
$line =~ s/\%\%menu_dir\%\%/@menu_dir/ig;
}

print "@template";


}


else {

open (menu_dir,"./pagina2.htm");
@menu_dir=<menu_dir>;
close (menu_dir);

foreach $line(@menu_dir) {

$line =~ s/..\/figuras/figuras/ig;

}
open (conteudo,"./$acao.htm");
@conteudo=<conteudo>;
close (conteudo);

foreach $line(@conteudo) {

$line =~ s/..\/figuras/figuras/ig;

}

open (TEMPLATE, "pagina1.html");
@template = <TEMPLATE>;
close (TEMPLATE);

foreach $line(@template) {

$line =~ s/\%\%conteudo\%\%/@conteudo/ig;
$line =~ s/\%\%menu_dir\%\%/@menu_dir/ig;
}

print "@template";

}
Assinatura editada por exceder o limite de linhas.

#2 prix

prix

    Duracell: E Duram, Duram, Duram...

  • Usuários
  • 562 posts
  • Sexo:Não informado
  • Interesses:keep walking ...
    jonny walker

Posted 07/11/2005, 12:21

sera q voce pode postar um pedaço do conteudo do que eh lido
por exemplo do
open (menu_dir,"./pagina2.htm");
se puder por um poco de cada um seria melhor

e de preferencia as partes que aparecem o nome figuras

Edição feita por: prix, 07/11/2005, 12:22.

print join'',(reverse  map{/d([a-z])d/}split/W/,'$5x6@314&60f%3i4#moo^1r2#moo^1p2')," ", pack ("B*",'01110000011001010111001001101100')," ", pack ("B*",'011011010110111101101110011010110110010101111001'), "n";
sleep 5;


E-Mails, topicos ou mensagens privadas não serão respondidas a menos que eu considere uma relevancia/necessidade na mesma.

#3 jgcl

jgcl

    João Gabriel C. Laass, Serra/ES

  • Usuários
  • 559 posts
  • Sexo:Não informado
  • Localidade:Serra / ES
  • Interesses:Tudo!

Posted 07/11/2005, 15:38

Ao ivés de %%codigo%% seria mais fácil usar [codigo] e se você tem mais experiência, usar o Template::ToolKit que é uma forma mais "elegante" e profissional e criado especialmente pra isso.

flw
João Gabriel
Site >> joaogabriel.org
CGiClube.net >> http://www.cgiclube.net
Vitória Perl Mongers >> http://vitoria.pm.org

#4 Jeiso santos

Jeiso santos

    Turista

  • Usuários
  • 49 posts
  • Sexo:Não informado

Posted 08/11/2005, 14:26

Bem meu amigo eu n entendendo muito bem de Cgi n mas deixe-me ver onde vc quer chegar, bem alterando de %%conteudo%% para [conteudo] o q isso afetará? Tenho que mudar no código tb e na página é? E esse de toolkit é uma ferramenta ou um script? Eu nao sei. Caso for sabe onde posso arranjar?

Obrigado pela ajuda
Assinatura editada por exceder o limite de linhas.

#5 jgcl

jgcl

    João Gabriel C. Laass, Serra/ES

  • Usuários
  • 559 posts
  • Sexo:Não informado
  • Localidade:Serra / ES
  • Interesses:Tudo!

Posted 08/11/2005, 14:43

ToolKit é uma ferramenta que usa-se em forma de módulo que usa-se exclusivamente pra troca de informações entre layout e script.

No CPAN.org e www.templatetoolkit.org também.
João Gabriel
Site >> joaogabriel.org
CGiClube.net >> http://www.cgiclube.net
Vitória Perl Mongers >> http://vitoria.pm.org

#6 prix

prix

    Duracell: E Duram, Duram, Duram...

  • Usuários
  • 562 posts
  • Sexo:Não informado
  • Interesses:keep walking ...
    jonny walker

Posted 08/11/2005, 15:20

o toolkit para vc usar vc tera q ter conhecimento em perl

se o seu codigo esta funcionando normalmente com minimos erros post o que eu pedi q irei tentar lhe ajudar para fazer o mesmo funcionar

print join'',(reverse  map{/d([a-z])d/}split/W/,'$5x6@314&60f%3i4#moo^1r2#moo^1p2')," ", pack ("B*",'01110000011001010111001001101100')," ", pack ("B*",'011011010110111101101110011010110110010101111001'), "n";
sleep 5;


E-Mails, topicos ou mensagens privadas não serão respondidas a menos que eu considere uma relevancia/necessidade na mesma.

#7 jgcl

jgcl

    João Gabriel C. Laass, Serra/ES

  • Usuários
  • 559 posts
  • Sexo:Não informado
  • Localidade:Serra / ES
  • Interesses:Tudo!

Posted 08/11/2005, 20:32

completando a idéia do prix, você também poderia reformular seu script... achei ele um pouco "ruim" tendo em vista que ele poderia ser simplificado e melhor estruturado para fazer páginações (se é isso que você quer).
João Gabriel
Site >> joaogabriel.org
CGiClube.net >> http://www.cgiclube.net
Vitória Perl Mongers >> http://vitoria.pm.org

#8 prix

prix

    Duracell: E Duram, Duram, Duram...

  • Usuários
  • 562 posts
  • Sexo:Não informado
  • Interesses:keep walking ...
    jonny walker

Posted 09/11/2005, 01:21

ele nao quer paginar ele disse que em algumas paginas alguns links aparecem errados, por isso quero ver uma parte dos arquivos q ele le, para poder ver o html e ver o q esta errado nas expressões q ele esta usando.

possivelmente o problema esta na regex mas tenho q ver o html pra ter certeza.

$line =~ s/..\/figuras/figuras/ig;

print join'',(reverse  map{/d([a-z])d/}split/W/,'$5x6@314&60f%3i4#moo^1r2#moo^1p2')," ", pack ("B*",'01110000011001010111001001101100')," ", pack ("B*",'011011010110111101101110011010110110010101111001'), "n";
sleep 5;


E-Mails, topicos ou mensagens privadas não serão respondidas a menos que eu considere uma relevancia/necessidade na mesma.

#9 Jeiso santos

Jeiso santos

    Turista

  • Usuários
  • 49 posts
  • Sexo:Não informado

Posted 09/11/2005, 11:28

Bem pessoal n conheco muito bem o cgi, ou melhor quase n o conheco,, so o uso dedvido a um grade amigo meu ter me judado, bem se alguem poder me judar a criar um novo script serei muitissimo grato.

Eu na verdade só queria um script que me judasse a melhor manuser meu site, pois n queria ter q abrir a lista enorme de comando apens para mudar uma coisa, e sair mudando em todas as pginas, queria sim um códgo em que separasse as páginas e conforme um outro codigo fosse adicionado a essa página ela iria aparecendo, entendeu?

Exemplo: possuo um pagina do layout e outra págin para o mnu dir e outra página para o conteudo... ai era so miontar um em que ao ser carregada abrisse todas as página, compreende agora?
Assinatura editada por exceder o limite de linhas.

#10 prix

prix

    Duracell: E Duram, Duram, Duram...

  • Usuários
  • 562 posts
  • Sexo:Não informado
  • Interesses:keep walking ...
    jonny walker

Posted 10/11/2005, 00:07

lei o meu primeiro post e responda ele para que eu possa ajuda-lo !!!

print join'',(reverse  map{/d([a-z])d/}split/W/,'$5x6@314&60f%3i4#moo^1r2#moo^1p2')," ", pack ("B*",'01110000011001010111001001101100')," ", pack ("B*",'011011010110111101101110011010110110010101111001'), "n";
sleep 5;


E-Mails, topicos ou mensagens privadas não serão respondidas a menos que eu considere uma relevancia/necessidade na mesma.

#11 Jeiso santos

Jeiso santos

    Turista

  • Usuários
  • 49 posts
  • Sexo:Não informado

Posted 10/11/2005, 11:03

Qt a isso n vai ser problema.

é so vc copiar e colar o codigo e nomear como index.cgi, depois vc cria uma página qualquer e coloca como pagina1.html , depois você vai e cria duas páginas: com o nome pagina2.htm e pagina3.htm, em seguida é só colocar dentro da pagina1.html os seguintes códigos: %%conteudo%% e coloca também %%menu_dir%%. vc vai no servidor e abre a index.cgi.

Obs.: Para melhor testar se faz necessário que que coloque muitas figuras, pois acredito que uma ou outra nõa irá abrir.
Assinatura editada por exceder o limite de linhas.

#12 prix

prix

    Duracell: E Duram, Duram, Duram...

  • Usuários
  • 562 posts
  • Sexo:Não informado
  • Interesses:keep walking ...
    jonny walker

Posted 10/11/2005, 13:22

eh com certeza nao eh problema mas se eu fizer isso nao vou ter o mesmo problema que vocÊ esta tendo, nao poderei identifciar o que e nao poderei te ajudar, quando vc quiser postar o que pedi eu voltarei para ajudar.

sem +

print join'',(reverse  map{/d([a-z])d/}split/W/,'$5x6@314&60f%3i4#moo^1r2#moo^1p2')," ", pack ("B*",'01110000011001010111001001101100')," ", pack ("B*",'011011010110111101101110011010110110010101111001'), "n";
sleep 5;


E-Mails, topicos ou mensagens privadas não serão respondidas a menos que eu considere uma relevancia/necessidade na mesma.




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq