Ir para conteúdo
Fórum Script Brasil

sambuka

Membros
  • Total de itens

    6
  • Registro em

  • Última visita

Sobre sambuka

  • Data de Nascimento 22/10/1992

Perfil

  • Gender
    Male

sambuka's Achievements

0

Reputação

  1. Galera tenho o seguintes códigos... Porém quando abro a pagina em que o código começa a executar suas funções, se eu clicar em um link que saia da pagina, algo relacionado a isso, o site fica pensando como se fosse uma net lenta pra caramba, tipo de 5 a 10s pra sair da page, eu to local host ainda, e já da essa lentidão, tenho medo de quando o site ficar online essa lentidão aumentar muito. Por favor, que puder dar algum dica, vou ficar realmente agradecido, pra alguns pode ser algo simples, porém eu tenho pouco conhecimento ainda, mas quero melhorar :)..OBRIGADO! já postei em outro fórum, espero que alguém consiga me ajudar :). -----------------pagina principal, com ajax -------------------------- <head> <link href="../css/criapostagem.css" rel="stylesheet"> <?php if(isset($_GET['idpagegru'])){ if(isset($_SESSION['numticket'])){ if(isset($_SESSION['ticketrand'][$_SESSION['numticket']])){ if($_SESSION['idpagegru'][$_SESSION['numticket']]==$_GET['idpagegru']){ $ticket=rand(1,2000); $_SESSION['ticketrand'][$_SESSION['numticket']]=$ticket; }else{ $ticket=rand(1,2000); $_SESSION['numticket']=$_SESSION['numticket']+1; $_SESSION['ticketrand'][$_SESSION['numticket']]=$ticket; $_SESSION['idpagegru'][$_SESSION['numticket']]=$_GET['idpagegru']; } }else{ $ticket=rand(1,2000); $_SESSION['ticketrand'][$_SESSION['numticket']]=$ticket; $_SESSION['idpagegru'][$_SESSION['numticket']]=$_GET['idpagegru']; } }else{ $_SESSION['numticket']=0; $ticket=rand(1,2000); $_SESSION['ticketrand'][$_SESSION['numticket']]=$ticket; $_SESSION['idpagegru'][$_SESSION['numticket']]=$_GET['idpagegru']; } } for( $x =0, $max = count($_SESSION['idpagegru']); $x < $max; ++$x ) { if($_SESSION['idpagegru'][$x]==$_GET['idpagegru']){ $ticketreal=$_SESSION['ticketrand'][$x] ; }else{ } } ?> <script type="text/javascript" language="javascript" src="../js/jquery-2.1.1.js"></script> <script type="text/javascript"> var permicao = 1; //Variavel que indicara a permicao da funcao "buscar_auxiliar()" //Funcao que chamara o arquivo "buscar.php" para varrer o banco function buscar(binario){ var busca_ajax; //Verificao navegador if(window.XMLHttpRequest) { busca_ajax = new XMLHttpRequest(); } else if(window.ActiveXObject) { busca_ajax = new ActiveXObject("Microsoft.XMLHTTP"); } // Arquivo PHP juntamente com o valor digitado no campo, e a função "escape()" converte os caracteres especiais em hexadecimal iniciado por "%". var url = "consulta/busca_postagem.php?ticket=<?php echo $ticketreal?>&verifica=ok&grupo=<?php echo $grulogcodigo?>&pageativa=<?php echo $_GET['idpagegru']?>"; // Chamada do metodo open e envia os dados para o arquivo buscar.php. busca_ajax.open("Get", url, true); // Quando o objeto recebe o retorno, chamamos a seguinte função; busca_ajax.onreadystatechange = function(){ //Aguarda o ajax executar if(busca_ajax.readyState == 4 && busca_ajax.status == 200) { //Resposta retornada pelo "buscar.php" via "echo" var resposta = busca_ajax.responseText; //Verifica se e um conteudo vazio. if(resposta != "" && !(resposta.match(/^\s+$/))){ //Criamos uma "div" com o conteudo encontrado dentro e colocamos tudo dentro da tag "p". $("#postbase").html(resposta); $("#postbase").find("script").each(function(i) { eval($(this).text()); }); permicao = 1; //Coloca 1 para que a função "buscar_auxiliar()" consiga chamar novamente esta função ("buscar(binario)"). } else{ permicao = 1; //Caso algo de errado no "if" coloca a permicao para "1", permitindo outra busca nesta funcao ("buscar(binario)") chamada pela função "buscar_auxiliar()" } busca_ajax.send(null); //Limpa a variavel para que possa ser novamente criado na proxima execucao } } busca_ajax.send(null); //Limpa a variavel para que possa ser novamente criado na proxima execucao } //------------------------------------------------------------------------------------ function buscar_auxiliar(){ //Funcao auxiliar que serve para chamar a funcao "buscar(binario)", mas impedindo que a mesma seja chamada novamente antes de realizar o pedido de busca anterior. if(permicao != 0){ //Verifica se tem permicao para chamar a funcao "buscar(binario)" (para nao chamar a outra funcao antes que a mesma termine as buscas). permicao = 0; //Altera a variavel "permicao" para que este "if" não permita que a funcao "buscar(binario)" não seja chamada antes do tempo. buscar(0); //Chama a funcao "buscar(binario)". } } //------------------------------------------------------------------------------------ var bloqueio= 0; //Variavel usada dentro da funcao "busca_automatica()", para que o botao "busca_ajax automática" chame a funcao "busca_automatica()" apenas uma vez. if(bloqueio == 0){ //Verifica se a variavel esta com o valor original, evitando que o comando "window.setInterval" seja chamado mais de uma vez. window.setInterval("buscar_auxiliar()", 1000); //Funçao ativada automaticamente de tempo em tempo. bloqueio = 1; //Muda o valor da variavel, impedindo que o "if" deixe executar novamente o comando "window.setInterval". } </script> <script type="text/javascript" src="../tinymce/js/tinymce/tinymce.min.js"></script> <script> tinymce.init({ selector: "#criapostagem", theme: "modern", width: '100%', height: 100, max_height: 100, language : 'pt_br', menubar : false, plugins: "link emoticons textcolor autolink", target_list: [{title: 'Nova aba', value: '_blank'}], toolbar: "bold italic link image forecolor emoticons", }); </script> <script type="text/javascript" language="javascript"> $(function($) { // Quando o formulário for enviado, essa função é chamada $("#formpost").submit(function() { // Colocamos os valores de cada campo em uma váriavel para facilitar a manipulação var grulogcodigo = $("#grulogcodigo").val(); var criapostagem =tinyMCE.get('criapostagem').getContent(); var catpos = $("#catpos").val(); $.post('cadastro/procpostagem.php', {grulogcodigo: grulogcodigo, criapostagem: criapostagem, catpos: catpos }, function(resposta) { tinyMCE.activeEditor.setContent('<span></span>'); $("#catpos").val("9999"); $("#postok").html('Postagem efetuada!'); $("#postok").fadeOut(2000); }); }); }); </script> </head> <?php $buscacatpos =$linkbd->query("SELECT * FROM cat_postagem ORDER BY catposnome"); $buscacatpos->execute(); for ($i=0; $rowcatpos = $buscacatpos->fetch(); $i++) { $arrcatpos[$rowcatpos['catposcodigo']] = $rowcatpos['catposnome']; } ?> <section id="basecriapost"> <form action='javascript:func()' id="formpost" method='post' name='reenvia'> <input type="hidden" id="grulogcodigo" value="<?php echo $grulogcodigo ?>"> <ul id="textaareapost"><textarea id="criapostagem" name="criapostagem"> </textarea></ul> <ul id="opcareapost"> <li id="titcamp">Categoria</li> <li id="lislt"> <select name="catpos" id="catpos"> <option value="9999">Geral</option> <?php foreach ($arrcatpos as $codcatpos => $nomcatpos) { echo "<option value='{$codcatpos}'>{$nomcatpos}</option>"; }?> </select> <p id="infocatpos">Selecione a categoria da postagem</p> </li> <li id="libt"><input type="submit" id="btpost" name="enviapost" value="Postar"></li> </ul> </form> </section> <div id="postok"> </div> <div id="postbase"> </div> <?php session_write_close();?> ---------------------Pagina php que é chamada ----------------------------- <?php session_start(); /** * tempo de sleep do sistema * quanto maior o tempo, menos processamento é utilizado, * entretanto tem um maior o tempo de espera para a resposta **/ for( $x =0, $max = count($_SESSION['idpagegru']); $x < $max; ++$x ) { if($_SESSION['idpagegru'][$x]==$_GET['pageativa']){ if(isset($_SESSION['ticket'][$x])){ if($_SESSION['ticket'][$x]==$_GET['ticket']){ $sleepTime =rand(5,10); //segundos }else{ $sleepTime = 1; //segundos } }else{ $sleepTime = 1;//segundos } } } /** tempo de execução definido para o script **/ $executionTime = 100;//segundos /** caso não estiver em safe mode, pode realizar alterações no tempo de execução do script **/ if(!ini_get('safe_mode')) { /** verifica se o limite de tempo para execução de script definido no servidor é menor que o definido em $executionTime **/ if(ini_get('max_execution_time') < $executionTime) { /** altera o limite de processamento para o tempo definido em $executionTime **/ set_time_limit($executionTime); } else { /** caso o tempo já definido for maior, utiliza-se dele para os testes **/ $executionTime = ini_get('max_execution_time'); } } else { /** caso servidor estiver em safe mode, recupera o tempo de execução definido pelo servidor **/ $executionTime = ini_get('max_execution_time'); } //executa caso a função URL envie 'ok' como paramero evitando execuções caso o arquivo seja chamado por outros meios. if($_GET['verifica'] == 'ok'){ $time = time(); sleep($sleepTime); for( $x =0, $max = count($_SESSION['idpagegru']); $x < $max; ++$x ) { if($_SESSION['idpagegru'][$x]==$_GET['pageativa']){ if(isset($_SESSION['ticket'][$x])){ if($_SESSION['ticket'][$x]==$_GET['ticket']){ include 'busca_postagem_baseB.php'; }else{ $_SESSION['ticket'][$x]=$_GET['ticket']; include 'busca_postagem_baseA.php'; } }else{ $_SESSION['ticket'][$x]=$_GET['ticket']; include 'busca_postagem_baseA.php'; } } } if((time() - $time) >= ($executionTime - ($sleepTime + 1))) { break; } $linkbd = null; } ?>
  2. Não sei se esse assunto é aqui, se não for me avise onde é. Tem algum modo de verificar se a pessoa deu um f5 na pagina ou se é o primeiro acesso ? EX: Tenho a pagina de postagem, se dou um refresh (f5) não pode executar a função novamente, porém se o cara abrir a pagina postagem novamente em outra aba ai tem que executar a função. Obrigado!
  3. consegui depois de 7h.... ficou assim o código ajax: <script type="text/javascript"> var permicao = 1; //Variavel que indicara a permicao da funcao "buscar_auxiliar()" var id_usuario = 1; //Indica um usuario (valor que sera usado no banco para pesquisas). //Funcao que chamara o arquivo "buscar.php" para varrer o banco function buscar(binario){ var busca_ajax; //Verificao navegador if(window.XMLHttpRequest) { busca_ajax = new XMLHttpRequest(); } else if(window.ActiveXObject) { busca_ajax = new ActiveXObject("Microsoft.XMLHTTP"); } // Arquivo PHP juntamente com o valor digitado no campo, e a função "escape()" converte os caracteres especiais em hexadecimal iniciado por "%". var url = "consulta/busca_postagem.php?verifica=ok&grupo=<?php echo $grulogcodigo?>"; // Chamada do metodo open e envia os dados para o arquivo buscar.php. busca_ajax.open("Get", url, true); // Quando o objeto recebe o retorno, chamamos a seguinte função; busca_ajax.onreadystatechange = function(){ //Aguarda o ajax executar if(busca_ajax.readyState == 4 && busca_ajax.status == 200) { //Resposta retornada pelo "buscar.php" via "echo" var resposta = busca_ajax.responseText; //Verifica se e um conteudo vazio. if(resposta != "" && !(resposta.match(/^\s+$/))){ //Criamos uma "div" com o conteudo encontrado dentro e colocamos tudo dentro da tag "p". $("#postbase").html(resposta); $("#postbase").find("script").each(function(i) { eval($(this).text()); }); permicao = 1; //Coloca 1 para que a função "buscar_auxiliar()" consiga chamar novamente esta função ("buscar(binario)"). } else{ permicao = 1; //Caso algo de errado no "if" coloca a permicao para "1", permitindo outra busca nesta funcao ("buscar(binario)") chamada pela função "buscar_auxiliar()" } busca_ajax.send(null); //Limpa a variavel para que possa ser novamente criado na proxima execucao } } busca_ajax.send(null); //Limpa a variavel para que possa ser novamente criado na proxima execucao } //------------------------------------------------------------------------------------ function buscar_auxiliar(){ //Funcao auxiliar que serve para chamar a funcao "buscar(binario)", mas impedindo que a mesma seja chamada novamente antes de realizar o pedido de busca anterior. if(permicao != 0){ //Verifica se tem permicao para chamar a funcao "buscar(binario)" (para nao chamar a outra funcao antes que a mesma termine as buscas). permicao = 0; //Altera a variavel "permicao" para que este "if" não permita que a funcao "buscar(binario)" não seja chamada antes do tempo. buscar(0); //Chama a funcao "buscar(binario)". } } //------------------------------------------------------------------------------------ var bloqueio= 0; //Variavel usada dentro da funcao "busca_automatica()", para que o botao "busca_ajax automática" chame a funcao "busca_automatica()" apenas uma vez. if(bloqueio == 0){ //Verifica se a variavel esta com o valor original, evitando que o comando "window.setInterval" seja chamado mais de uma vez. window.setInterval("buscar_auxiliar()", 5000); //Funçao ativada automaticamente de tempo em tempo. bloqueio = 1; //Muda o valor da variavel, impedindo que o "if" deixe executar novamente o comando "window.setInterval". } </script> era só essa parte aqui pra buscar certo os script. $("#postbase").html(resposta); $("#postbase").find("script").each(function(i) { eval($(this).text()); });
  4. Tenho esse código aqui, que pode resolver o problema, porém estou com um problema em uma linha: function extraiScript (texto){ var ini, pos_src, fim, codigo, texto_pesquisa; var objScript=null; texto_pesquisa=texto.toLowerCase(); ini=texto_pesquisa.indexOf('<script', 0); while(ini!=-1){ var objScript = document.createElement("script"); pos_src=texto_pesquisa.indexOf(' src',ini); ini=texto_pesquisa.indexOf('>',ini)+ 1; if (pos_src < ini && pos_src >=0){ ini=pos_src + 4; fim=texto_pesquisa.indexOf('.',ini)+ 4; codigo=texto.substring(ini,fim); codigo=codigo.replace("=","").replace(" ","").replace("\"","").replace("\"","").replace("\'","").replace("\'","").replace(">",""); objScript.src = codigo; }else{ fim=texto_pesquisa.indexOf('</script>',ini); codigo = texto.substring(ini,fim); objScript.text = codigo; } document.body.appendChild(objScript); ini = texto.indexOf('<script', fim); objScript = null; } } esta parte do código a parte que esta escrito '</script>' ele reconhece como fim do script e não como uma palavra normal. fim=texto_pesquisa.indexOf('</script>',ini);
  5. Ta ai amigo :D..cara tava tão feliz que consegui faze funciona att automatica, ai para de funcionar outra coisa :/..to vendo aqui parece que o responseText que ta no código ajax não reconhece scripts..algo assim. Mas não to dando jeito de arrumar :/... <?php // Arquivo de conexao com o banco include '../banco/conexao.php'; /** * tempo de sleep do sistema * quanto maior o tempo, menos processamento é utilizado, * entretanto tem um maior o tempo de espera para a resposta **/ $sleepTime = 5;//segundos /** tempo de execução definido para o script **/ $executionTime = 100;//segundos /** caso não estiver em safe mode, pode realizar alterações no tempo de execução do script **/ if(!ini_get('safe_mode')) { /** verifica se o limite de tempo para execução de script definido no servidor é menor que o definido em $executionTime **/ if(ini_get('max_execution_time') < $executionTime) { /** altera o limite de processamento para o tempo definido em $executionTime **/ set_time_limit($executionTime); } else { /** caso o tempo já definido for maior, utiliza-se dele para os testes **/ $executionTime = ini_get('max_execution_time'); } } else { /** caso servidor estiver em safe mode, recupera o tempo de execução definido pelo servidor **/ $executionTime = ini_get('max_execution_time'); } //executa caso a função URL envie 'ok' como paramero evitando execuções caso o arquivo seja chamado por outros meios. if($_GET['verifica'] == 'ok'){ session_start(); $time = time(); sleep($sleepTime); $grulogcodigo=$_GET['grupo']; ?> <script src="../js/jquery-2.1.1.js" type="text/javascript"></script> <script type="text/javascript"> alert ('ola'); $(document).ready(function(){ $(".veropc").on('click',function(){ var $parent = $(this).parents('#descpost'); $('.veropc', $parent).hide(); $('.invopc', $parent).show(); $("#conteudopost", $parent).removeClass("postfixo"); $("#conteudopost", $parent).addClass("postajustavel"); }); $(".invopc").on('click',function(){ var $parent = $(this).parents('#descpost'); $('.invopc', $parent).hide(); $('.veropc', $parent).show(); $("#conteudopost", $parent).removeClass("postajustavel"); $("#conteudopost", $parent).addClass("postfixo"); }); }); </script> <link href="../css/buscapostagem.css" rel="stylesheet"> <?php //css e script dos arquivos comentario.php e busca_comentario.php ?> <link href="../css/buscacomentario.css" rel="stylesheet"> <link href="../css/comentario.css" rel="stylesheet"> <script type="text/javascript"> $(document).ready(function(){ $(".comentario").on('click',function(){ var $parent = $(this).parents('#descpost'); $('.veropc', $parent).hide(); $('.invopc', $parent).show(); $("#conteudopost", $parent).removeClass("postfixo"); $("#conteudopost", $parent).addClass("postajustavel"); }); $(".invopc").on('click',function(){ var $parent = $(this).parents('#descpost'); $('.invopc', $parent).hide(); $('.veropc', $parent).show(); $("#conteudopost", $parent).removeClass("postajustavel"); $("#conteudopost", $parent).addClass("postfixo"); }); }); </script> </head> <?php $buscapost=$linkbd->prepare("select * from postagem where grucodigo =:codgru ORDER BY posdthr DESC"); $buscapost->bindValue(":codgru",$grulogcodigo); $buscapost->execute(); if($buscapost->rowCount() > 0){ for ($i=0; $listapost = $buscapost->fetch(); $i++) { $horpos = strtotime($listapost['posdthr']); $datpos = date("d-m-Y H:i:s", $horpos); $bscusupos=$linkbd->prepare("select usuid from usuario where usucodigo =:codusu"); $bscusupos->bindValue(":codusu",$listapost['usucodigo']); $bscusupos->execute(); $nomusupos = $bscusupos->fetch(); ?> <section id="postagem"> <div id="infusupos"> <div id="imgusupos"> </div> <div id="desusupos"> <div id="spannome"> <?php echo $nomusupos['usuid'];//nome do usuario que postou ?> </div> <div id="spandthr"> <?php echo $datpos;//data e horario da postagem ?> </div> </div> </div> <div id="descpost"> <?php $linhas=substr_count($listapost['posdescri'], '<p>'); if((strlen($listapost['posdescri'])) < 1395 && $linhas < 15){ ?> <div class="postajustavel"> <?php }else{?> <div id="conteudopost" class="postfixo"> <p class="cfgopc veropc">Ler tudo</p> <p class="cfgopc invopc">Encolher</p> <?php }?> </br> <?php echo $listapost['posdescri'];//lista as postagem do grupo ?> </br> </div> </div> <div id="imgpost"> </div> </section> <?php include '../conectado/comentario.php';// comentarios efetuados na postagem } }else{ ?> <section id="sempostagem"> Este grupo ainda não efetuou publicações! </section> <?php } } if((time() - $time) >= ($executionTime - ($sleepTime + 1))) { break; } $linkbd = null; session_write_close(); ?>
  6. Boa tarde galera! Tenho o seguinte script: http://pastebin.com/5xiryVJy Ele serve para chamar uma página .php com valores selecionados no banco de dados. Ele trás as informações corretas, porém ai vem o problema. Esta função : http://pastebin.com/xvzX9i8J , que esta no arquivo .php, ela para de funcionar, como se não estivesse no arquivo .php. Alguém sabe a causa disso ? Se precisarem de alguma informação complementar é só falar. Obrigado!
×
×
  • Criar Novo...