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() ) ) {
Pergunta
::..Hunter..::
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 ' :: ' . 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?
Link para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados