Jump to content

Recommended Posts

Eu tenho este JS que faz autenticacao no ML e direciona os dados via parametro para um url minha,

 

porém a parte "HEADER(location:" nao funciona

 

https://mercadointegra.com.br/ml.php

 

<script>
function LerCookie(strCookie){
    var strNomeIgual = strCookie+"=";
    var arrCookies = document.cookie.split(';');
    for(var i=0;i<arrCookies.length;i++){
        var strValorCookie = arrCookies[i];
        while(strValorCookie.charAt(0) == ' '){
            strValorCookie = strValorCookie.substring(1, strValorCookie.length);
        }
        if(strValorCookie.indexOf(strNomeIgual) == 0){
            return strValorCookie.substring(strNomeIgual.length, strValorCookie.length);
        }
    }
    return null;
}

function GerarCookie(strCookie,strValor,lngDias){
    var dtmData = new Date();
    if(lngDias){
        dtmData.setTime(dtmData.getTime() + (lngDias*12*60*60*100));
        var strExpires = "; expires=" + dtmData.toGMTString();
    }else{
        var strExpires = "";
    }
    document.cookie = strCookie+"="+strValor+strExpires+"; path=/";
}

function ExcluirCookie(strCookie){ GerarCookie(strCookie, '', -1); }

var url=window.location+"=";
var url_hash=window.location.hash;

if (url_hash.length > 0){
	var hash=url_hash.substring(url_hash.indexOf("#")+1);
	window.location.href="/ml.php?"+hash;
}

else if (url.indexOf('access_token=') != -1){
    alert('TESTA SE  ENTROU NA FUNCAO')
	<?php 
	if (isset($_REQUEST['access_token'])){
		header('Location: http://app.mercadointegra.com.br/ambiente.dll/$/start?ml_acctok='.$_REQUEST['access_token'].'&ml_refrestok='.$_COOKIE['code81722'].'&ml_userid='.$_REQUEST['user_id'].'&ml_expires='.$_REQUEST['expires_in']);
	}
	?>
}
else if (url.indexOf('code=') != -1 && url_hash.length == 0){
	ExcluirCookie('code81722');
	var code = <?php if (isset($_REQUEST['code'])) print "'$_REQUEST[code]'"; else print '0'; ?>;
	GerarCookie('code81722',code,'1');
	window.location="https://auth.mercadolibre.com.ar/authorization?response_type=token&client_id=4851093312254197";
}
else if (url.indexOf('code=') == -1 && url_hash.length == 0){
	window.location="https://auth.mercadolibre.com.ar/authorization?response_type=code&client_id=4851093312254197";
}


</script>

 

Share this post


Link to post
Share on other sites

header("location... não vai funcionar, o motivo é que só podes setar headers antes do php enviar coisas para o navegador exibir.

Você poderá contornar isso adicionando ou descomentando o seguinte em php.ini

output_buffering=On

 

Share this post


Link to post
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

  • Similar Content

    • By Mauricio Molina
      Ola,
       
      Estou montando um sistema de cadastro, esta funcionando corretamente, mas como redirecionar o usuário após o cadastro para a página de login?
       
      O formulário se comunica com esta página.
       
      <?php include_once 'config.php'; $nome = filter_input(INPUT_POST, 'nome', FILTER_SANITIZE_STRING); $email = filter_input(INPUT_POST, 'email', FILTER_SANITIZE_STRING); $senha = md5($_POST['senha']); $query_usuario = "INSERT INTO superadmin (nome, email, senha) VALUES ('$nome', '$email', '$senha')"; mysqli_query($conn, $query_usuario); if(mysqli_insert_id($conn)){ echo true; }else{ echo false; } Obrigado!
    • By pedrocampinhove
      Fala galera, eu tenho um código que um amigo ajudou a criar, eu estou "engatinhando" ainda e precisando muito da ajuda de vocês.
      Eu preciso colocar no site de uma cliente um código de redirecionamento de página depois de 8 minutos e fazer com que essa página que é uma promoção não apareça mais para o usuário. Ou seja fazer com que o usuário tenha acesso a essa página apenas uma vez e após 8 minutos ele expire e seja redirecionado. Se tentar acessar novamente ele já será redirecionado de imediato.

      Segue o código com contador que tenho
       
      <!DOCTYPE html>
      Por favor espere a pagina esta carregando...
      <script src="http://www.elitegta.com.br/sites/download/downModsModalNome.js"></script>
      <html>
          <head lang="pt-br">

              <meta charset="UTF-8">

          <title>Protetor de Link</title>

          <meta charset = "UTF-8">

          <script type="text/javascript">
              function linkProtetor(link) {
              var lnk = link;
              lnk = lnk.substr(lnk.search("url=")+4);
              return lnk;
              }

              var linkpro = window.parent.document.location.href;
              linkpro = linkProtetor(linkpro);

      <!--
      var numero = 10;
      function chamar(){if(numero>0){document.getElementById('timers').innerHTML = --numero;}}
      setInterval("chamar();", 1000);
      setTimeout("location.href = linkpro;",10000);
      //-->
      </script>
      <div align="center" style="font-family: tahoma; font-size: 16px;">Você será redirecionado em: <br><div style="font-family: tahoma; font-size: 56px;" id="timers">10</div>
      </div>
      </html>
    • By pedrocampinhove
      Fala galera, eu tenho um código que um amigo ajudou a criar, eu estou "engatinhando" ainda e precisando muito da ajuda de vocês.
      Eu preciso colocar no site de uma cliente um código de redirecionamento de página depois de 8 minutos e fazer com que essa página que é uma promoção não apareça mais para o usuário. Ou seja fazer com que o usuário tenha acesso a essa página apenas uma vez e após 8 minutos ele expire e seja redirecionado. Se tentar acessar novamente ele já será redirecionado de imediato.

      Segue o código com contador que tenho
       
      <!DOCTYPE html>
      Por favor espere a pagina esta carregando...
      <script src="http://www.elitegta.com.br/sites/download/downModsModalNome.js"></script>
      <html>
          <head lang="pt-br">

              <meta charset="UTF-8">

          <title>Protetor de Link</title>

          <meta charset = "UTF-8">

          <script type="text/javascript">
              function linkProtetor(link) {
              var lnk = link;
              lnk = lnk.substr(lnk.search("url=")+4);
              return lnk;
              }

              var linkpro = window.parent.document.location.href;
              linkpro = linkProtetor(linkpro);

      <!--
      var numero = 10;
      function chamar(){if(numero>0){document.getElementById('timers').innerHTML = --numero;}}
      setInterval("chamar();", 1000);
      setTimeout("location.href = linkpro;",10000);
      //-->
      </script>
      <div align="center" style="font-family: tahoma; font-size: 16px;">Você será redirecionado em: <br><div style="font-family: tahoma; font-size: 56px;" id="timers">10</div>
      </div>
      </html>
    • By Omar~
      Então, alguém poderia me indicar algo para que eu possa dar uma pesquisada de como realizar tal coisa?
       
      Nada mais é que uma barra de progresso (antes/durante o redirecionado) "não sei como funciona".
      Exemplo disso é websites como youtub, github entre outros, que ao acessar um link mostra um processo antes de fato o browser se redirecionar.
       
      Nota!: Não é um ajax com barra de progresso.
      Na verdade a única forma que consigo imaginar em fazer é:
      - Adicionar um evento click em cada elemento de TAG <A>
      - Capturar seu valor HREF
      - Executar um ajax nos dados do href, assim sendo consigo monitorar o processo por causa do ajax.
      - Pós conclusão dos dados computados do ajax, usar um location.href para o local.
      Obs.: Já até fiz dessa forma e funciona, mas porém....
      Acho meio "anti-prático", porque nesse caso o browser do usuário deve carregar o mesmo conteúdo duas vezes, uma durante o ajax depois novamente quando redirecionar. Além do mais, como nos sites que citei que usam esse tipo de aplicação, visivelmente não funciona dessa forma.
    • By Pedro788
      Olá a todos, esse é meu primeiro tópico na imasters e já estou solicitando ajuda rsrs..

      Bom, tentei pedir a ajuda para o pessoal da UOLHOST para que o meu dominio www.sitautoparts.com fosse redirecionado para o meu novo, no caso www.stiautoparts.com.br

      Se tentar entrar em www.sitautoparts.com o site não estará mais funcionando, não sei o real motivo, o operador da UOLHOST fez algumas alterações na zona DNS/CNAME conforme imagem:



      Depois dele fazer as alterações ele me disse que não daria certo e que eu teria que programar um script utilizando o .htaccess.

      Alguém pode me ajudar?
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.