TheNight 1 Denunciar post Postado Março 7, 2015 Galera é o seguinte sou novo aqui beleza?! Meu problema é o seguinte, estou usando este código pra fazer os includes das páginas do conteúdo do site. <?php foreach ($_REQUEST as $___opt => $___val) { $$___opt = $___val; } if(empty($pagina)) { include_once("includes/home.php"); }elseif(substr($pagina, 0, 4)=='http' or substr($pagina, 0, 1)=="/" or substr($pagina, 0, 1)=="."){ echo 'Não existe'; }else { include("includes/$pagina.php"); } ?> Só que pra mim fazer logout esse comando não deixa por conta da url amigável ele reconhece que meu: $_REQUEST['logout'] é uma url sendo que no meu link está assim: <a href="?logout">Deslogar</a> E o meu comando pra deslogar a conta está assim: <?php if(isset($_REQUEST['logout'])){ session_destroy(); unset($_SESSION['userdks']); unset($_SESSION['passdks']); header("Location: ?pagina=logar") } ?> Alguém me ajudaria a resolver isso? já pesquisei como que restringe certa url mas nada me ajudou! :( Compartilhar este post Link para o post Compartilhar em outros sites
Williams Duarte 431 Denunciar post Postado Março 7, 2015 Url amigável passa longe com essas strings!! E qual a necessidade de ativar a Register Globals? Compartilhar este post Link para o post Compartilhar em outros sites
TheNight 1 Denunciar post Postado Março 7, 2015 é que eu estou tentando fazer de tudo pra tentar fazer ele pegar de tudo quanto é jeito, eu vi no youtube o cara fazendo e simplesmente copiei o jeito que ele fez mas alterando algumas coisas e como sou "iniciante" em php, estou usando tutoriais da internet, amigo você teria como me ajudar? Como posso fazer isso ? Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Março 7, 2015 Vamos a alguns pontos importantes: 1. Qual é a URL exata do logout? URL Amigável não deve usar valores da Query String (depois do "?"). Aliás, mesmo que usasse, sua URL está errada. A URL "site.com/?logout" vai gerar a variável $logout sem valor. Para seu script funcionar, a URL deveria ser "site.com/?pagina=logou", que criaria a variável $pagina com o valor "logout" 2. Existe um grande risco em usar $_REQUEST. Essa variável mistura dados de GET, POST e COOKIE. Ou seja, pode haver sobreposição de valores ou processamento de dados que não deveriam ocorrer. 3. Evite usar esse foreach, que simula a funcionalidade de register_globals. Você deve ter o controle sobre a criação das variáveis. Caso contrário, grande parte das falhas de segurança de register_globals voltarão a estar em seu script. Veja: http://php.net/manual/pt_BR/security.globals.php Compartilhar este post Link para o post Compartilhar em outros sites
Williams Duarte 431 Denunciar post Postado Março 7, 2015 Bom o Beraldo já disse tudo!!!Segue umas vídeos aula em Inglês, mas da para se ter a noção de como montar suas camadas em MVC e as Friendly Urls nos primeiros vídeos. https://www.youtube.com/watch?v=Aw28-krO7ZMAdd:http://blog.thiagobelem.net/aprendendo-urls-amigaveis/ Compartilhar este post Link para o post Compartilhar em outros sites
TheNight 1 Denunciar post Postado Março 7, 2015 Obrigado aos dois, vou dar uma olhada no vídeo, inglês é o bichoo :D kkk Beraldo, se eu usar um switch seria melhor exemplo: switch($pagina){ case 'home'; case 'contato'; case 'link3'; case 'link4'; break; default: include("404.php"); break; } Eu estou dando uma olhada no site do http://php.net/ sobre foreach mas não estou compreendendo nada. Alias eu até entendi mais não muito, mas obrigado a vocês dois, mais tarde eu posto os resultados... Compartilhar este post Link para o post Compartilhar em outros sites
Williams Duarte 431 Denunciar post Postado Março 7, 2015 Você não precisa mais do que isso para começara a brincar ;) .htaccess RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-l RewriteRule ^(.*)$ index.php?url=$1 [QSA,L] code <?php $url = isset($_GET['url']) ? strip_tags($_GET['url']) : null; if ( file_exists($url[0].'.php') ) { include_once $url[0].'.php'; } else { include_once 'default.php'; } Não esqueça de habilitar mod_rewrite do apacheLeia também http://php.net/manual/pt_BR/function.strip-tags.phphttp://php.net/manual/pt_BR/function.filter-input.phphttp://php.net/manual/pt_BR/function.addslashes.phphttp://php.net/manual/pt_BR/book.pdo.php Compartilhar este post Link para o post Compartilhar em outros sites
TheNight 1 Denunciar post Postado Março 7, 2015 Obrigado, salvou porem a home não fica fixa mais isso é o de menos, quem puder fechar o tópico :D Só pra update o código que vc me passou me deu problema aqui, concertei usando: $dir = 'includes/'; $url = isset($_GET['url']) ? strip_tags($_GET['url']) : 'home'; if(file_exists($dir.$url.'.php')) { include_once $dir.$url.'.php'; } else { include_once $dir.'404.php'; } Compartilhar este post Link para o post Compartilhar em outros sites