Ir para conteúdo
Fórum Script Brasil
  • 0

Erro No Script De Online


mestre fyoda

Pergunta

Ele trava os dados do usuario no banco de dados , porque ?

segue todo o codigo :

index.php

<? include("online.php"); ?> 
banco de dados
CREATE TABLE useronline (
timestamp int(15) DEFAULT '0' NOT NULL,
ip varchar(40) NOT NULL,
arquivo varchar(100) NOT NULL,
PRIMARY KEY (timestamp),
KEY ip (ip),
KEY arquivo (arquivo)
);
online.php
<?$REMOTE_ADDR = $_SERVER[REMOTE_ADDR];
$db_host = "***"; // Endereço do servidor mySQL
$db_user = "***"; // Seu Login no mySQL
$db_pass = "***"; // Sua Senha no mySQL
$db_bdad = "***"; // Nome do Banco de Dados

mysql_pconnect($db_host, $db_user, $db_pass) or die (mysql_error());
$timestamp=time();
$timeout=time()-1; // valor em segundos
$result=mysql_db_query($db_bdad, "INSERT INTO useronline VALUES ('$timestamp','$REMOTE_ADDR','$PHP_SELF')");
$result=mysql_db_query($db_bdad, "DELETE FROM useronline WHERE timestamp<$timeout");
$result=mysql_db_query($db_bdad, "SELECT DISTINCT ip FROM useronline") or die(mysql_error());
$usuarios=mysql_num_rows($result);
mysql_close();

echo"$usuarios usuários(S) conectados no site";

?>

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

<?
$db_host = "xxx"; // Endereço do servidor mySQL
$db_user = "xxx"; // Seu Login no mySQL
$db_pass = "xxx"; // Sua Senha no mySQL
$db_bdad = "xxx"; // Nome do Banco de Dados

mysql_pconnect($db_host, $db_user, $db_pass) or die (mysql_error());
$timestamp=time();
$timeout=time()-300; // valor em segundos
$result=mysql_db_query($db_bdad, "INSERT INTO useronline VALUES ('$timestamp','$REMOTE_ADDR','$PHP_SELF')");
$result=mysql_db_query($db_bdad, "DELETE FROM useronline WHERE timestamp<$timeout");
$result=mysql_db_query($db_bdad, "SELECT DISTINCT ip FROM useronline") or die(mysql_error());
$usuarios=mysql_num_rows($result);
mysql_close();

if ( $usuarios == 1)
{
echo"Há $usuarios usúario online ";
}
else
{
echo"Há $usuarios usúarios online ";
}
?>

Se eu mudar essa parte do codigo: $timeout=time()-300; para $timeout=time()1;

não da certo , sempre que o usuario entar não vai contar a entrada dele no site .

Eu cheguei a essa conclusão porque eu mudei o meu codigo .

Me ajudem . Grato pela atenção e para a paciencia Dada .

Link para o comentário
Compartilhar em outros sites

  • 0

Tenta assim:

<?

$REMOTE_ADDR = $_SERVER["REMOTE_ADDR"];

$db_host = "localhost"; // Endereço do servidor mySQL

$db_user = "***"; // Seu Login no mySQL

$db_pass = ""; // Sua Senha no mySQL

$db_bdad = "online"; // Nome do Banco de Dados

$local = $_SERVER["PHP_SELF];

mysql_pconnect($db_host, $db_user, $db_pass) or die (mysql_error());

$timestamp=time();

$timeout=time()-1; // valor em segundos

$result=mysql_db_query($db_bdad, "INSERT INTO useronline VALUES ('$timestamp','$REMOTE_ADDR','$local')");

$result=mysql_db_query($db_bdad, "DELETE FROM useronline WHERE timestamp<$timeout");

$result=mysql_db_query($db_bdad, "SELECT DISTINCT ip FROM useronline") or die(mysql_error());

$usuarios=mysql_num_rows($result);

mysql_close();

echo"$usuarios usuários(S) conectados no site";

?>

eu testei e ta ok

Link para o comentário
Compartilhar em outros sites

  • 0

tenta assim:

$REMOTE_ADDR = $_SERVER["REMOTE_ADDR"];

$db_host = "localhost"; // Endereço do servidor mySQL

$db_user = "***"; // Seu Login no mySQL

$db_pass = ""; // Sua Senha no mySQL

$db_bdad = "online"; // Nome do Banco de Dados

$local = $_SERVER["PHP_SELF"];

mysql_pconnect($db_host, $db_user, $db_pass) or die (mysql_error());

$timestamp=time();

$timeout=time()-1; // valor em segundos

mysql_db_query($db_bdad, "INSERT INTO useronline VALUES ('$timestamp','$REMOTE_ADDR','$local')");

mysql_db_query($db_bdad, "DELETE FROM useronline WHERE timestamp<$timeout");

$result=mysql_db_query($db_bdad, "SELECT DISTINCT ip FROM useronline") or die(mysql_error());

$usuarios = mysql_num_rows($result);

mysql_close();

echo"$usuarios usuários(S) conectados no site";

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...