gtr. 0 Denunciar post Postado Fevereiro 9, 2012 galera, é o seguinte, tenho um link: <a href="#" onClick="abrirPag('pagina.php');">Link</a> que quando clico nele, é carregado pagina.php em uma div... Queria saber se tem como quando um usuário acessar diretamente a pagina "pagina.php" ele redirecionar para index do site. Obrigado. --------- Ah! pode ser um script em qualquer linguagem... eu estou pesquisando aqui, mas até agora nao encontrei nada desse tipo :/ Compartilhar este post Link para o post Compartilhar em outros sites
visitante_php 0 Denunciar post Postado Fevereiro 9, 2012 sua duvida nao esta clara... Compartilhar este post Link para o post Compartilhar em outros sites
gtr. 0 Denunciar post Postado Fevereiro 11, 2012 ok, minha index: <div id="menu"> <ul> <li><a href="#">Link</a></li> <li><span class="link" onClick="abrirPag('contato.php');">Contato</span></li> </ul> </div> <div id="conteudo_mostrar"> Quando clica em contato, o contato.php é carregado aqui com ajax... </div> contato.php <p>Texto que será carregado</p> Porém eu quero que o contato.php só seja carregado pela index, e quando for acessada diretamente (o usuario digitando www.site.com/contato.php) redirecione para a index novamente. Obrigado. Compartilhar este post Link para o post Compartilhar em outros sites
visitante_php 0 Denunciar post Postado Fevereiro 11, 2012 function abrirPag(element,pag) { $.ajax({ type:'get', url:pag, success:function(data) { $(element).html(data); }, beforeSend:function(){ $(element).html("<img src='loadgin.gif'>"); } }) isso usando jquery... na hora de usar <a href="#" onClick="javascript:abrirPag('#divcentral','conteudo.php');" >conteudo</a> <div id="divcentral"></div> Compartilhar este post Link para o post Compartilhar em outros sites
-rafael- 1 Denunciar post Postado Fevereiro 11, 2012 Porém eu quero que o contato.php só seja carregado pela index, e quando for acessada diretamente (o usuario digitando www.site.com/contato.php) redirecione para a index novamente. salvo engano, não tem como. não por ajax, pois o ajax acessa a página como se fosse o endereço digitado no navegador. ou seja, se você criar um script no php que impeça o acesso direto ao arquivo, você tambem vai impedir o ajax de acessa-lo Compartilhar este post Link para o post Compartilhar em outros sites
gtr. 0 Denunciar post Postado Fevereiro 11, 2012 poxa, era o que eu suspeitava... já tinha tentado com php e tudo apontava isso, ou libera geral, ou bloqueia no ajax também :( de qualquer jeito obrigado a todos! Compartilhar este post Link para o post Compartilhar em outros sites
visitante_php 0 Denunciar post Postado Fevereiro 11, 2012 salvo engano, não tem como. não por ajax, pois o ajax acessa a página como se fosse o endereço digitado no navegador. ou seja, se você criar um script no php que impeça o acesso direto ao arquivo, você tambem vai impedir o ajax de acessa-lo nao se enviar um token, e verificar o token na pagina acessada.... Compartilhar este post Link para o post Compartilhar em outros sites
gtr. 0 Denunciar post Postado Fevereiro 11, 2012 token? desculpa mas como faço isso? tem algum exemplo ou link onde possa estudar isso? Compartilhar este post Link para o post Compartilhar em outros sites
visitante_php 0 Denunciar post Postado Fevereiro 13, 2012 token? desculpa mas como faço isso? tem algum exemplo ou link onde possa estudar isso? token normalmente eh uma chave unica de autenticacao... ao exemplo q eu dei poderia ser isto function abrirPag(element,pag) { $.ajax({ type:'get', url:pag, data:{token:'chavealgumaocoisa'} success:function(data) { $(element).html(data); }, beforeSend:function(){ $(element).html("<img src='loadgin.gif'>"); } }) e no php verificar o token com $_GET['token']... Compartilhar este post Link para o post Compartilhar em outros sites
Evandro Oliveira 331 Denunciar post Postado Fevereiro 13, 2012 Toda requisição AJAX feita via jQuery envia um header customizado chamado X_HTTP_REQUESTED_WITH <?php # só pras linhas não ficarem tão longas $alias = 'X_HTTP_REQUESTED_WITH'; $xmlhttp = 'XMLHttpRequest'; if (!isset($_SERVER[$alias]) or $_SERVER[$alias] !== $xmlhttp) { // O que fazer se a requisição não for AJAX } // O que fazer se a requisição FOR feita via AJAX. Obviamente que a requisição pode ser forjada, mas sai fora do âmbito de usuários comuns. Compartilhar este post Link para o post Compartilhar em outros sites
gtr. 0 Denunciar post Postado Fevereiro 13, 2012 hmm, obrigado a todos pelas respostas! Compartilhar este post Link para o post Compartilhar em outros sites
visitante_php 0 Denunciar post Postado Fevereiro 13, 2012 Toda requisição AJAX feita via jQuery envia um header customizado chamado X_HTTP_REQUESTED_WITH <?php # só pras linhas não ficarem tão longas $alias = 'X_HTTP_REQUESTED_WITH'; $xmlhttp = 'XMLHttpRequest'; if (!isset($_SERVER[$alias]) or $_SERVER[$alias] !== $xmlhttp) { // O que fazer se a requisição não for AJAX } // O que fazer se a requisição FOR feita via AJAX. Obviamente que a requisição pode ser forjada, mas sai fora do âmbito de usuários comuns. mas nem sempre o apache tem este tipo de variavel de ambiente, tem um artigo aki no portal q explica isto... Compartilhar este post Link para o post Compartilhar em outros sites
Henrique Barcelos 290 Denunciar post Postado Fevereiro 13, 2012 mas nem sempre o apache tem este tipo de variavel de ambiente, tem um artigo aki no portal q explica isto... São apenas cabeçalhos de requisição, não tem como o 'apache não ter esse tipo de variável de ambiente'. Os frameworks ajax mais populares já adicionam esse cabeçalho automaticamente para não correr o risco de o navegador não enviá-lo. Compartilhar este post Link para o post Compartilhar em outros sites