rlp1905 0 Denunciar post Postado Setembro 19, 2010 fala galera, to criando meu site e estou com um problema ao usar o $_SERVER['PHP_SELF']. uso ele em um switch, para verificar em que página estou e imprimo algumas coisas na tela. um exemplo do código: <?php switch ($_SERVER['PHP_SELF']){ case "/site/index.php": if(isset($leftContent1)){ echo "<div class=\"leftContentContainer\">"; echo $leftContent1; echo "</div>"; } if(isset($rightContent1)){ echo "<div class=\"rightContentContainer\">"; echo $rightContent1; if(isset($rightContent2)){ echo $rightContent2; } echo "</div>"; } break; case "/site/planos.php": if(isset($leftContent1)){ echo "<div class=\"leftContentContainer2\">"; echo $leftContent1; echo "</div>"; } if(isset($rightContent1)){ echo "<div class=\"rightContentContainer2\">"; echo $rightContent1; echo "</div>"; } break; default: if(isset($contenBlock)){ echo "<h1 class=\"titleBox\">".$titleContent."</h1>"; echo "<div class=\"contentBlock\">"; echo $contenBlock; echo "</div>"; } break; } ?> se eu usar um bando de if's (mais do que já uso), a navegação fica lenta e por isso optei pelo uso do switch na verificação principal. o script do site está rodando em www.yournetools.com/site. quando abre o site não aparece o conteúdo principal, mas quando clica em home ele funciona normal.... alguém sabe como me ajudar? vlw galera... Compartilhar este post Link para o post Compartilhar em outros sites
rlp1905 0 Denunciar post Postado Setembro 19, 2010 bom pessoal, fiz uma gambiarra aqui, que deu certo... o problema é quando entro no site digitando a url www.yournetools.com/site/ o $_SERVER['PHP_SELF'] pega o index.php, mas por algum motivo que eu não sei qual é, o switch não processa.... o que eu fiz foi renomear o meu index.php para home.php e criar um novo arquivo index.php com a seguinte informação: <?php header("location: home.php"); ?> fazendo isso o nome dapágina é forçado a aparecer na url e assim o código é processado normalmente. se alguém tiver uma solução melhor pro problema, posta aew... vlw.... Compartilhar este post Link para o post Compartilhar em outros sites
WM _ Guilherme Ferrolli 0 Denunciar post Postado Setembro 19, 2010 $_SERVER['SCRIPT_NAME']; vai pegar só o que vier depois da primeira barrawww.site.com.br/diretorio/index.php output /diretorio/index.php Compartilhar este post Link para o post Compartilhar em outros sites
rlp1905 0 Denunciar post Postado Setembro 19, 2010 $_SERVER['SCRIPT_NAME']; vai pegar só o que vier depois da primeira barrawww.site.com.br/diretorio/index.php output /diretorio/index.php Eu usei esse também mas não funcionou... eu acho que o lance é que quando entro no site o index.php não aparece na url e por mais que o SCRIPT_NAME e o PHP_SELF peguem o index mesmo sem ele estar na url o switch não funciona... Compartilhar este post Link para o post Compartilhar em outros sites
ell_cpu 0 Denunciar post Postado Setembro 20, 2010 Tenta fazer assim: switch ($_SERVER['PHP_SELF']){ case "/site/index.php": case "/site/": //so acrescentei isso //Aqui vem o seu codigo <?php switch ($_SERVER['PHP_SELF']){ case "/site/index.php": case "/site/": [color="#ff0000"]//so acrescentei isso[/color] if(isset($leftContent1)){ echo "<div class=\"leftContentContainer\">"; echo $leftContent1; echo "</div>"; } if(isset($rightContent1)){ echo "<div class=\"rightContentContainer\">"; echo $rightContent1; if(isset($rightContent2)){ echo $rightContent2; } echo "</div>"; } break; case "/site/planos.php": if(isset($leftContent1)){ echo "<div class=\"leftContentContainer2\">"; echo $leftContent1; echo "</div>"; } if(isset($rightContent1)){ echo "<div class=\"rightContentContainer2\">"; echo $rightContent1; echo "</div>"; } break; default: if(isset($contenBlock)){ echo "<h1 class=\"titleBox\">".$titleContent."</h1>"; echo "<div class=\"contentBlock\">"; echo $contenBlock; echo "</div>"; } break; } ?> Compartilhar este post Link para o post Compartilhar em outros sites
VascoDaGama 2 Denunciar post Postado Setembro 21, 2010 <?php echo basename( $_SERVER['PHP_SELF'] ); ?> Compartilhar este post Link para o post Compartilhar em outros sites
rlp1905 0 Denunciar post Postado Setembro 21, 2010 amigos, nenhuma das duas opções acima funcionaram... :( Acredito que seja algum problema no servidor, pois localmente funciona... Compartilhar este post Link para o post Compartilhar em outros sites
Allan S. Freitas 0 Denunciar post Postado Novembro 1, 2010 versão do php no server e local? e qual mod do apache é?(se for apache) (existe FastCGI, CGI e mod_php). Compartilhar este post Link para o post Compartilhar em outros sites