Ir para conteúdo
Fórum Script Brasil

::..Hunter..::

Membros
  • Total de itens

    185
  • Registro em

  • Última visita

Tudo que ::..Hunter..:: postou

  1. Alguém quer me dizer o que está errado, please?
  2. A função getOnlineUsers() funciona, tanto é que se eu fizer update só do campo "total" que recebe o valor desta função ele atualiza sem problema. O problema é que quando coloco a data e hora junto no update ele não atualiza e dá o erro. Tem problema de colocar no update aspas duplas e aspa simples junto? e a vírgula entre os campos, é junta ou separada? Ex: total='$agora',data='$data' As variáveis vão com aspas ou sem aspas na linha do update? O que estou fazendo de errado?
  3. Tudo bem, aí vai: $agora = getOnlineUsers(); include("conect.php"); conectar(); $db = mysql_select_db("meubanco"); $sql = "SELECT * FROM online"; $resultado = mysql_query($sql) or die ("Não foi possível realizar a consulta ao banco de dados"); $linha=mysql_fetch_array($resultado) or die ("total não encontrado"); $novototal = $linha["total"]; $data = date("y-m-d"); $hora = date("H:i:s"); if ($novototal<=$agora) { $sql = "UPDATE online SET total = $agora,data = $data,hora = $hora"; $sql = mysql_query($sql) or die ("Houve erro na gravação dos dados!"); } $sql = "SELECT * FROM online"; $resultado = mysql_query($sql) or die ("Não foi possível realizar a consulta ao banco de dados"); $tot = $linha["total"]; $dat = $linha["data"]; $hor = $linha["hora"]; $novadata = substr($dat,8,2) . "/" .substr($dat,5,2) . "/" . substr($dat,2,2); $novahora = substr($hor,0,2) . "h" .substr($hor,3,2) . "min"; echo "Nosso dia mais agitado foi $novadata, às $novahora, com <b>$tot</b> usuário(s) on-line"; Onde estou usando o código
  4. $agora = usuariosonline(); $novototal = $linha["total"]; $data = date("y-m-d"); $hora = date("H:i:s"); if ($novototal<=$agora) { $sql = "UPDATE online SET total = $agora,data = $data,hora = $hora"; $sql = mysql_query($sql) or die ("Houve erro na gravação dos dados!"); } Se faço apenas update do campo total ele funciona, mas quando coloco pra atualizar a data e hora dá "Houve erro na gravação dos dados!" Acho que tem algum erro de sintaxe no UPDATE, será?
  5. Pegue o Help tipo do windows AQUI. Este é o mesmo de cima só que você não precisa ficar conectado pra ver, ok?
  6. Vou tentar explicar antes o que ele faz: São 2 scripts, 1 mostra quantos usuários estão on-line (está funcionando) e o que eu fiz mostra que dia, hora e quantos usuários estavam on-line no dia mais agitado (esse está dando erro, não está gravando os dados no banco de dados). <? //--------------------- este está funcionando -------------------------------------- /* Definir o tempo máximo que uma sessão pode ficar inativa */ define("MAX_IDLE_TIME", 3); function getOnlineUsers(){ if ( $directory_handle = opendir( session_save_path() ) ) { $conta = 0; while ( false !== ( $file = readdir( $directory_handle ) ) ) { if($file != '.' && $file != '..') { if ( time() - fileatime(session_save_path() . '/' . $file) < MAX_IDLE_TIME * 60 ) { $conta++; } } } closedir($directory_handle); return $conta; } else { return false; } } echo '&nbsp;:: ' . getOnlineUsers() . ' usuário(s) online<br>'; echo "<hr color=#cccccc size=1>"; //--------------------Fim do Script Certo--------------------------- //-------------Início do script que está dando erro------------------------ $agora = getOnlineUsers(); include("conect.php"); conectar(); $db = mysql_select_db("meubancodedados"); $sql = "SELECT * FROM online"; $resultado = mysql_query($sql) or die ("Não foi possível realizar a consulta ao banco de dados"); $linha=mysql_fetch_array($resultado) or die ("total não encontrado"); $novototal = $linha["total"]; $data = date("y-m-d"); $hora = date("H:i:s"); if ($novototal<=$agora) { $sql = "UPDATE online SET data = $data, hora = $hora, total = $agora WHERE total != 0"; $sql = mysql_query($sql) or die ("Houve erro na gravação dos dados, por favor, clique em voltar e verifique os campos obrigatórios!"); } $sql = "SELECT * FROM online"; $resultado = mysql_query($sql) or die ("Não foi possível realizar a consulta ao banco de dados"); $tot = $linha["total"]; $dat = $linha["data"]; $hor = $linha["hora"]; $novadata = substr($dat,8,2) . "/" .substr($dat,5,2) . "/" . substr($dat,2,2); $novahora = substr($hor,0,2) . "h" .substr($hor,3,2) . "min"; echo "Nosso dia mais agitado foi $novadata, às $novahora, com <b>$tot</b> usuário(s) on-line"; //---------------Fim do Script com erro-------------------------- ?> Se eu chamo a consulta dos campos ele exibe normalmente, mas quando tento dar update ele não grava os dados novos. A estrutura no Mysql está assim: Campo Tipo Nulo Padrão total int(3) Não 0 data date Não 0000-00-00 hora time Não 00:00:00 Será que alguma boa alma poderia corrigir e mostrar o erro pra mim?
  7. MODERADOR, favor apagar esta mensagem pois acabei duplicando.
  8. CONSEGUI, ACHEI UM QUE FUNCIONA!!!! Colocar antes da tag <html> esta linha: <?php session_start(); ?> Senão não funciona. No lugar que você quizer mostrar coloque o script direto/: <? /* Definir o tempo máximo que uma sessão pode ficar inativa */ define("MAX_IDLE_TIME", 3); function getOnlineUsers(){ if ( $directory_handle = opendir( session_save_path() ) ) { $conta = 0; while ( false !== ( $file = readdir( $directory_handle ) ) ) { if($file != '.' && $file != '..') { if ( time() - fileatime(session_save_path() . '/' . $file) < MAX_IDLE_TIME * 60 ) { $conta++; } } } closedir($directory_handle); return $conta; } else { return false; } } echo '&nbsp;:: ' . getOnlineUsers() . ' usuário(s) online'; ?> Se quizer entender o script completo e não modificado por mim veja AQUI!
  9. Seguinte gente, uso esse script modificado por mim mesmo: <? include("conect.php"); // carrega o script pra conectar ao banco de dados conectar(); // aqui ele chama a função pra conectar ao banco de dados mysql $banco="xxx"; // nome do meu banco de dados $timestamp=time(); $timeout=time()-300; $result=mysql_db_query($banco, "INSERT INTO online VALUES ('$timestamp','$REMOTE_ADDR','$PHP_SELF')"); $result=mysql_db_query($banco, "DELETE FROM online WHERE timestamp<$timeout"); $result=mysql_db_query($banco, "SELECT DISTINCT ip FROM online"); $usuarios=mysql_num_rows($result); mysql_close(); echo "&nbsp;:: $usuarios usuário(s) online"; ?> O diabo deste script é que ele grava apenas o meu IP, mesmo se outras pessoas entrarem no site ele não grava nem mostra, somente o meu. O arquivo está com chmod 777, sei lá, já pensei até que fosse problema de autorização.
  10. Puxa vida, será que ninguém tem um script de usuários online que funcione?
  11. Depois de baixar vários o máximo que consegui foi um que mostra sempre 1 usuário online mesmo tendo mais pessoas acessando. Configurei certinho no mysql mas mostra sempre 1 usuário online. Alguém tem um funcionando ou sabe como fazer? Obrigado!
  12. o nome do banco de dados estava errado, agora mostra apenas 1 usuário mesmo estando mais online. Acho que tem que colocar um while nos IPs pra pegar os outros, que vocês acham?
  13. Pra mostrar os usuários: <? include("conect.php"); conectar(); // uso para me conectar ao banco de dados $timestamp=time(); $timeout=time()-300; $result=mysql_db_query($db_bdad, "INSERT INTO online VALUES ('$timestamp','$REMOTE_ADDR','$PHP_SELF')"); $result=mysql_db_query($db_bdad, "DELETE FROM online WHERE timestamp<$timeout"); $result=mysql_db_query($db_bdad, "SELECT DISTINCT ip FROM online"); $usuarios=mysql_num_rows($result); mysql_close(); echo "$usuarios usuário(s) online"; ?> A tabela foi criada assim: CREATE TABLE `online` ( `timestamp` int(15) NOT NULL default '0', `ip` varchar(40) NOT NULL default '', `arquivo` varchar(100) NOT NULL default '', PRIMARY KEY (`timestamp`,`ip`,`arquivo`), KEY `timestamp` (`timestamp`), KEY `ip` (`ip`), KEY `arquivo` (`arquivo`) ) TYPE=MyISAM; Dá o seguinte erro: Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /var/local/httpd/httpd/gravatai/menue.php on line 68 usuário(s) online O que está acontecendo que não mostra?
  14. ::..Hunter..::

    Manual Php

    Sempre às ordens. ;)
  15. ::..Hunter..::

    Manual Php

    Manual oficial em português do site do php.net, você baixa e usa como help do windows, muito fácil de usar, eu recomendo: Baixe AQUI! Não existe Help melhor. ;)
  16. ::..Hunter..::

    Hospedagem Php

    Hospedagem gratuita: AQUI! Só colocam um pequeno banner no site.
  17. Dá uma olhada neste tutorial de busca: Tutorial Mas não explica como transformar o resultado da busca em links com a informação completa. Também estou tentando aprender como fazer. :unsure: Acho que o que o LucianoM tentou dizer é + ou - como está neste outro Tutorial
  18. Eu melhorei e deixei assim: Peguei a hora e data das variáveis ($data e $hora) que estavam armazenadas no Mysql. $novadata = substr($data,8,2) . "/" .substr($data,5,2) . "/" . substr($data,2,2); $novahora = substr($hora,0,2) . "h" .substr($hora,3,2) . "min"; echo "$novadata - $novahora"; Agora funciona que é um doce. :D Vivendo e aprendendo, hehe! :rolleyes:
  19. Obrigado ao LucianoM, Felipe_Lopes, Wallacem, Heldinho e 404error que me ajudaram a tirar esta dúvida. Dúvida plenamente esclarecida. ;)
  20. Não sabia que o "H" era diferente do "h", que mancada. :unsure: Valeu.
  21. Seguinte pessoal, uso o mysql pra guardar a variável de hora pra mostrar através do PHP, mas sempre que eu mostro aparece assim: 02:23:35 (não mostra acima de 12 horas) e eu gostaria que aparece somente assim: 14h23min (sem os segundos) Já procurei scripts prontos em vários site mas não encontrei nenhum parecido. Alguém sabe como fazer? :huh:
  22. Tudo bem, o pessoal do suporte descobriu que o diretório onde a foto vai ficar não pode começar com "http://www..." e sim com o nome do diretório do Unix onde a foto ficará. Fácil não?
  23. Só você pode me salvar dessa enrascada. :rolleyes:
  24. Você sabe como habilitar? :) Daí em explico pra aquelas antas do suporte como habilitar. ;) Pleeeeease!
×
×
  • Criar Novo...