Jump to content

Problema nos links


ricardocoimbra
 Share

Recommended Posts

ricardocoimbra

No meu ficheiro index tenho isto:

<?php 
if($pagina=="") { 
   include("empresa.php"); 
} else { 
   include($pagina.".php"); 
} 
?> 

Bom é assim eu tenho o IIS instalado no meu computador, acontece que eu para os links fazia tipo index.php?pagina=produtos ele chamava-me o ficheiro produtos.php acontece que eu envio para o servidor e todas as vezes que eu carrego num link ele fica-me sempre no empresa.php.

Tipo meto: index.php?pagina=produtos ele nunca-me vai buscar produtos.php mas no endereço fica index.php?pagina=produtos alguem me sabe ajudar?

é que no meu computador funciona certinho, mas quando passo para o servidor onde vai ficar a pagina não funciona direito.. Será de alguma configuração?

EDIT:usa o geshi (pedrotuga)

Link to comment
Share on other sites

tens k ir buscar essa variável ao array $_GET

Para alem disso comparar com "" não valida se a variavel tiver por exemplo um espaço ou zero.

Ainda outro coisa: deves ter uma condição de teste para cada página que tenhas e caso a pagina nao exista mandas o utilizador para um sitio default. Este código faz o contrário.

<?php
$pagina=$_GET["pagina"];

if(empty($pagina)){
     include "empresa.php"M
}
else{
     include ($pagina.".php");
}
?>
Link to comment
Share on other sites

mas tens que ter cuidado, porque isso pode ser um grave problema de seguranca, pois qq coisa que se ponha la a frente, vai ser incluido e executado

Proud LEIC-A@IST student!

Link to comment
Share on other sites

ricardocoimbra

Ainda outro coisa: deves ter uma condição de teste para cada página que tenhas e caso a pagina nao exista mandas o utilizador para um sitio default.

Sim eu li pedro, mas como poderei fazer isso?

Link to comment
Share on other sites

Ainda outro coisa: deves ter uma condição de teste para cada página que tenhas e caso a pagina nao exista mandas o utilizador para um sitio default.

Sim eu li pedro, mas como poderei fazer isso?

if(strtolower($_REQUEST['pagina'])=="x"){
include "x.php";
}elseif(strtolower($_REQUEST['pagina'])=="y"){
include "y.php";
}else{
include "pagdefault.php";
}

Nota: eu usei o $_REQUEST porque funciona sendo usado POST ou GET

Não peças ajuda por PM! A tua dúvida vai ter menos atenção do que se for postada na secção correcta do fórum!

Link to comment
Share on other sites

(..)

<?php
$pagina=$_GET["pagina"];

if(empty($pagina)){
     include "empresa.php"M
}
else{
     include ($pagina.".php");
}
?>

Este é o erro de programação mais grave que se pode cometer no PHP... Nunca  utilizem esse código numa página a não ser que queiram que o vosso site seja "Hackeado" lool  ;)

Link to comment
Share on other sites

(..)

<?php
$pagina=$_GET["pagina"];

if(empty($pagina)){
     include "empresa.php"M
}
else{
     include ($pagina.".php");
}
?>

Este é o erro de programação mais grave que se pode cometer no PHP... Nunca  utilizem esse código numa página a não ser que queiram que o vosso site seja "Hackeado" lool  ;)

foi precisamente isso que eu apontei. Só corrigi o código dele, mas chamei-lhe a atenção exactamente para isso.

Mas em relção ao site ser hackado... calma aí... isso depende das permissões do apache. Se tem permissão para incluir tudo por ali acima inclusive pastas nao servidas pela web... sim, pode ser perigoso.

Link to comment
Share on other sites

Em linguagens deste tipo não é uma preocupação tão grande, mas mesmo assim desencorajo o uso do switch, se bem que não é crime usá-lo.

Podes sempre

<?php
$pagina=$_GET["pagina"];

if ($pagina=="empresa"){
    include "empresa.php";
}
elseif ($pagina=="jogos"){
    include "jogos.php";
}
else{
include "default.php";
}


?>

Link to comment
Share on other sites

<?php
$pagina=$_GET["pagina"];

if ($pagina=="empresa"){
    include "empresa.php";
}
elseif ($pagina=="jogos"){
    include "jogos.php";
}
else{
include "default.php";
}


?>

ya, eu pus isso ali atras :P

Não peças ajuda por PM! A tua dúvida vai ter menos atenção do que se for postada na secção correcta do fórum!

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.