Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

ronal-gato

Não é possível abrir a pagina, ocorreram muitos redirecionamentos

Recommended Posts

Olá boa tarde!

 

Pessoal estou tendo um certo problema com os aparelhos iphone, o mobile deles ao tentar acessa-los por um celular ficam em branco e só aparece a imagem de um banner, porém se eu acessar qualquer outra pagina digitando direto pela url ele exibe o conteúdo e caso eu retorne para a home ele também exibe o conteúdo, portanto tentei utilizar o script que segue a baixo, porém mesmo assim não funcionou minha logica, pois ele retorna a mensagem que se encontra no titulo, poderiam me ajudar?

 

index.php

 

<?php
$isiPad = (bool) strpos(strtolower($_SERVER['HTTP_USER_AGENT']),'ipad');
$isiPhone = (bool) strpos(strtolower($_SERVER['HTTP_USER_AGENT']),'iphone');
$isAndroid = (bool) strpos(strtolower($_SERVER['HTTP_USER_AGENT']),'android');
 
//Forma de aplicação
if($isiPad || $isiPhone || $isAndroid){
      header("Location: http://www.inovaideia.art.br/home");
	  break;
	  define('WP_USE_THEMES', true);
	  require( dirname( __FILE__ ) . '/wp-blog-header.php' );
}else{
?>
<?php
/**
 * Front to the WordPress application. This file doesn't do anything, but loads
 * wp-blog-header.php which does and tells WordPress to load the theme.
 *
 * @package WordPress
 */

/**
 * Tells WordPress to load the WordPress theme and output it.
 *
 * @var bool
 */
define('WP_USE_THEMES', true);

/** Loads the WordPress Environment and Template */
require( dirname( __FILE__ ) . '/wp-blog-header.php' );
}

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Só olhando por cima...
 

O break finaliza a execução da estrutura for, foreach, while, do-while ou switch atual
Neste caso ele vai causar erro, e mesmo se funcionasse, o define e require abaixo jamais iriam acontecer, certo?
Tente retirar o Break, e se você quer apenas redirecionar e não executar mais nada, utilize o exit ou die, dependendo do que você precisa.
 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
22 horas atrás, EdCesar disse:

Só olhando por cima...
 

O break finaliza a execução da estrutura for, foreach, while, do-while ou switch atual
Neste caso ele vai causar erro, e mesmo se funcionasse, o define e require abaixo jamais iriam acontecer, certo?
Tente retirar o Break, e se você quer apenas redirecionar e não executar mais nada, utilize o exit ou die, dependendo do que você precisa.
 

 

 

O break usei na intenção de tentar parar esse erro, entretanto não funcionou, segui seu conselho e tentei alterar pelo exit, porém não funcionou também :/

 

<?php
$isiPad = (bool) strpos(strtolower($_SERVER['HTTP_USER_AGENT']),'ipad');
$isiPhone = (bool) strpos(strtolower($_SERVER['HTTP_USER_AGENT']),'iphone');
$isAndroid = (bool) strpos(strtolower($_SERVER['HTTP_USER_AGENT']),'android');
 
//Forma de aplicação
if($isiPad || $isiPhone || $isAndroid){
      header("Location: http://www.inovaideia.art.br/home");
	  exit;
}else{
	}
?>

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
47 minutos atrás, Williams Duarte disse:

Use plugins


https://wordpress.org/plugins/wp-mobile-detect/

OU

 

https://github.com/serbanghita/Mobile-Detect


O plugin é do mesmo repositorio do GITHub

 

 

Acho que seria retrabalho, pois o responsivo já foi criado, porém ele não está funcionando em aparelhos da apple só em android.

Compartilhar este post


Link para o post
Compartilhar em outros sites
48 minutos atrás, ronal-gato disse:

pois o responsivo já foi criado

E o que isso tem haver com a API que faz o reconhecimento de dispositivos?

 

58 minutos atrás, ronal-gato disse:

 

Acho que seria retrabalho

Ou não sabe como usar uma API? :smirk:

Compartilhar este post


Link para o post
Compartilhar em outros sites
2 horas atrás, ronal-gato disse:

 

O break usei na intenção de tentar parar esse erro, entretanto não funcionou, segui seu conselho e tentei alterar pelo exit, porém não funcionou também :/

 


<?php
$isiPad = (bool) strpos(strtolower($_SERVER['HTTP_USER_AGENT']),'ipad');
$isiPhone = (bool) strpos(strtolower($_SERVER['HTTP_USER_AGENT']),'iphone');
$isAndroid = (bool) strpos(strtolower($_SERVER['HTTP_USER_AGENT']),'android');
 
if($isiPad || $isiPhone || $isAndroid){
      header("Location: http://www.inovaideia.art.br/home");
	  exit;
}
?>

 

 

Tenho boas ou más noticias! rs

Então, esse código funciona!
Faça um teste e troque

header("Location: http://www.inovaideia.art.br/home");

por

header("Location: http://www.google.com");

Vai funcionar bonitinho! 
O problema dos multiplus redirecionamentos só ocorrem quando um redirecionamento é feito em http://www.inovaideia.art.br/home 
Comigo também ocorreu!
Tem alguma particularidade nela, mas o seu código sem o break esta correto!

Compartilhar este post


Link para o post
Compartilhar em outros sites
1 hora atrás, Williams Duarte disse:

E o que isso tem haver com a API que faz o reconhecimento de dispositivos?

 

Ou não sabe como usar uma API? :smirk:

 

Porque se for parar pra pensar o reconhecimento já esta sendo feito com poucas linhas direto pelo php.

 

Hahaha esse não sei mesmo não, nunca utilizei nenhum dos dois que você comentou.

Compartilhar este post


Link para o post
Compartilhar em outros sites
57 minutos atrás, EdCesar disse:

 

Tenho boas ou más noticias! rs

Então, esse código funciona!
Faça um teste e troque


header("Location: http://www.inovaideia.art.br/home");

por


header("Location: http://www.google.com");

Vai funcionar bonitinho! 
O problema dos multiplus redirecionamentos só ocorrem quando um redirecionamento é feito em http://www.inovaideia.art.br/home 
Comigo também ocorreu!
Tem alguma particularidade nela, mas o seu código sem o break esta correto!

 

Ainda nos testes, procurando a solução.

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por Fábio BN
      Olá.

      Tenho um POST que funciona em todos navegadores de PC, menos em Iphone e num navegador padrão que vem Android, onde será que errei?
       
      <script type="text/javascript" src="../../js/jquery-1.11.1.min.js"></script> <script type="text/javascript" src="../../js/jquery.mask.min.js"></script> <script type="text/javascript" src="../../js/bootstrap.min.js"></script> <script> <script> function enviaPagseguro(){ $.post("pedido_pag_seguro.php",'',function(data){ $('#code').val(data); $('#comprar').submit(); }) } </script> <form id="comprar" action="https://pagseguro.uol.com.br/checkout/v2/payment.html" method="post" onsubmit="PagSeguroLightbox(this); return false;"> <input type="hidden" name="code" id="code" value="" /> <input type="hidden" name="pedido" id="pedido" value="<?php echo $tudo1['codigo_user']; ?>" /> <?php $_SESSION['user_comprador'] = $tudo1['codigo_user_temp']; ?> <?php $_SESSION['valor_pedido'] = number_format($total_geral, 2, ',', '.'); ?> <input type="hidden" name="valor_pedido" id="valor_pedido" value="<?php echo number_format($total_geral, 2, ',', '.'); ?>" /> <div name="submit" align="center" onclick="enviaPagseguro()" class="pag_seguro"> <div align="center"><img src="../../imagens/loja_virtual/boleto_grande.gif" class="img-responsive padding_bottom5"></div> <div align="center"><img src="../../imagens/loja_virtual/logos_pag_seguro.gif" class="img-responsive"></div> </div> </form> <script type="text/javascript" src="https://stc.pagseguro.uol.com.br/pagseguro/api/v2/checkout/pagseguro.lightbox.js"></script> Obrigado!
    • Por Motta
      Vírus interrompe produção de fabricante de chips do iPhone
    • Por Luis Felipe Rebecca
      *Sei que esse não é um fórum para isso, mas estou realmente precisando!
      Olá galera, tenho um iPhone x e estou com um problema com relação a despertar o iPhone com um toque na tela, quando bloqueado, ao tocar na tela ele acende, mas não está acontecendo.
       
      Não sei se isso é alguma opção que desativei ou por causa de alguma coisa do modo pouca energia (Porem já tentei desligar e nada), enfim, estou realmente preocupado por que o celular é novo e não era pra isso ter acontecido.
       
      Alguém sabe como resolver ou me indicar um tutorial para resolver esse problema?
      Por favor!!
    • Por Gabrielvt14
      Ola pessoal.
       
      Estou com um app rodando no webview. Ele é um sistema na web e o webview como o app.
       
      No sistema, tem determinadas ações que o sistema envia push notification para o usuário.
      Fiz a integração com o firebase cloud messaging Javascript. Mas ele nao funciona no webview, somente acessando diretamente pelo browser.
       
      Pelo que estava pesquisando, eu teria que configurar a parte de javascript, para web, e no webview configurar de novo para funcionar no webview,  e uso a base de dados na web pra enviar os push. Então eu precisaria vincular cada token que o firebase gera para o dispositivo com o ID do usuário na base de dados, porém, o ID eu pego ele pela web, e o token, o firebase envia direto para o webview. Então não sei como faria para vincular esse token que o firebase gera com o ID do usuário.
       
      Alguém sabe se tem alguma forma?
      Desde já agradeço!
    • Por Gabrielvt14
      Criei um webview de uma página que contem um input type file para subir fotos, porém, no webview do Iphone, quando clico no botão para subir a foto, ele abre um menu somente com a opção de "Fotos da galeria", e não dá a opção da camera. Pesquisando na internet vi que preciso liberar o acesso a camera e a galeria de fotos através do arquivo info.plist. Inserindo as Keys para liberar a camera e a galeria
       
      <key>NSPhotoLibraryUsageDescription</key> <string>This app requires access to the photo library.</string> <key>NSCameraUsageDescription</key> <string>This app requires access to the camera.</string>  
      Quando clico no botão ele funciona da mesma forma. Me da somente a opção de galeria e não a da camera. Quando clico na opção de galeria ele fecha o app, então essa liberação da galeria também não funcionou.
       
      Talvez possa ser a ordem das keys, ja tentei ficar mudando a ordem delas, mas também não consegui. O info.plist esta assim:
      <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>CFBundleDevelopmentRegion</key> <string>$(DEVELOPMENT_LANGUAGE)</string> <key>CFBundleExecutable</key> <string>$(EXECUTABLE_NAME)</string> <key>CFBundleIdentifier</key> <string>$(PRODUCT_BUNDLE_IDENTIFIER)</string> <key>CFBundleInfoDictionaryVersion</key> <string>6.0</string> <key>CFBundleName</key> <string>$(PRODUCT_NAME)</string> <key>CFBundlePackageType</key> <string>APPL</string> <key>CFBundleShortVersionString</key> <string>1.0</string> <key>CFBundleVersion</key> <string>1</string> <key>LSRequiresIPhoneOS</key> <true/> <key>UILaunchStoryboardName</key> <string>LaunchScreen</string> <key>UIMainStoryboardFile</key> <string>Main</string> <key>UISupportedInterfaceOrientations~ipad</key> <array> <string>UIInterfaceOrientationPortrait</string> <string>UIInterfaceOrientationPortraitUpsideDown</string> <string>UIInterfaceOrientationLandscapeLeft</string> <string>UIInterfaceOrientationLandscapeRight</string> </array> <key>UISupportedInterfaceOrientations</key> <array> <string>UIInterfaceOrientationPortrait</string> <string>UIInterfaceOrientationLandscapeLeft</string> <string>UIInterfaceOrientationLandscapeRight</string> </array> <key>UIRequiredDeviceCapabilities</key> <array> <string>armv7</string> </array> <key>NSCameraUsageDescription</key> <string>Para tirar a foto precisamos de acesso a camera</string> </dict> </plist>  
      Estou usando o Xcode 9.2 e rodando o emulador do Iphone 8.
       
      Alguém poderia me ajudar?
       
      Grato!
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.