Jump to content


Photo

Usuários online


  • Faça o login para participar
22 replies to this topic

#1 Fábio Luciano

Fábio Luciano

    Ativo

  • Usuários
  • 309 posts
  • Sexo:Masculino
  • Localidade:Santa Maria / DF
  • Interesses:Ah eu gosto de tudo :D

Posted 26/03/2005, 22:20

Tenho o seguiten código de usuários online ....

$ip=$REMOTE_ADDR;
if(mysql_num_rows(mysql_query("SELECT * FROM usersonline WHERE ip='".$ip."'"))>0) { 
mysql_query('UPDATE usersonline SET time="'.time().'" WHERE  ip="'.$ip.'"'); 
} else {
mysql_query('INSERT INTO usersonline (ip,time) VALUES ("'.$ip.'","'.time().'")'); 
}
mysql_query('DELETE FROM usersonline WHERE time<'.(time()-(5*60))); 
$online = mysql_num_rows(mysql_query("SELECT * FROM usersonline"));
if($online == 1){
echo 'Apenas Você';
}elseif($online != 1){
echo 'Você e mais ', $online-1;
}
Eu queria sabercomo eu faço para colocar o máximo de usuários que já ficaram online

Edição feita por: OmegamoN, 26/03/2005, 22:23.


#2 Felipe Pena

Felipe Pena

    O temor do Senhor é o princípio da sabedoria

  • Ex-Admins
  • 6441 posts
  • Sexo:Masculino

Posted 26/03/2005, 22:38

Amigo... se liga..

Crie uma tabela chamada maximo (sugestão minha).
Com o campo:
- quantidade ( int (7) )

Daí o código fica:
<?

$ip = $_SERVER['REMOTE_ADDR'];
$time = time ();

$Cs = mysql_query ("SELECT * FROM usersonline WHERE ip='$ip'")
   or die ( mysql_error() );
   
if ( mysql_num_rows ($Cs) > 0 )
{
   mysql_query ("UPDATE usersonline SET time='$time' WHERE  ip='$ip'")
      or die ( mysql_error () );
} else {
   mysql_query ("INSERT INTO usersonline (ip, time) VALUES ('$ip','$time')")
      or die ( mysql_error () );
}

$timeout = $time - 300;

mysql_query ("DELETE FROM usersonline WHERE time < $timeout")
   or die ( mysql_error () );
   
$Cs2 = mysql_query ("SELECT * FROM usersonline")
   or die ( mysql_error () );

$online = mysql_num_rows ($Cs2);

$Cs3 = mysql_query ("SELECT quantidade FROM maximo")
   or die ( mysql_error () );

$x = mysql_fetch_array ($Cs3);
$quant_atual = $x["quantidade"];

if ($quant_atual < $online)
{
   mysql_query ("UPDATE maximo SET quantidade='$online' WHERE quantidade='$quant_atual'")
      or die ( mysql_error () );
}

$maximo_user = ($quant_atual < $online) ? $online : $quant_atual;
echo "Máximo de usuários online: ". $maximo_user;

if ( $online == 1 )
{
   echo "Apenas Você";
} else {
   echo "Você é mais ". $online - 1;
}

?>

[]'s
Felipe Pena
[...] ó terra, terra, terra; ouve a palavra do Senhor. — Jeremias 22:29

#3 Fábio Luciano

Fábio Luciano

    Ativo

  • Usuários
  • 309 posts
  • Sexo:Masculino
  • Localidade:Santa Maria / DF
  • Interesses:Ah eu gosto de tudo :D

Posted 26/03/2005, 23:56

eu acho que ele tah pegando o mesmo valor dos usuários online em algum lugar aê , por que o valor vari assim como o de usuários on line.... afinal ele tem que colocar no db o valor máxomo de usuários que já ficarma on line ao mesmo tempo

#4 Felipe Pena

Felipe Pena

    O temor do Senhor é o princípio da sabedoria

  • Ex-Admins
  • 6441 posts
  • Sexo:Masculino

Posted 27/03/2005, 00:02

Tem que criar um registro na tabela MAXIMO.

Pois ele trabalha com UPDATE (modificações) na tabela.


[]'s
Felipe Pena
[...] ó terra, terra, terra; ouve a palavra do Senhor. — Jeremias 22:29

#5 Fábio Luciano

Fábio Luciano

    Ativo

  • Usuários
  • 309 posts
  • Sexo:Masculino
  • Localidade:Santa Maria / DF
  • Interesses:Ah eu gosto de tudo :D

Posted 27/03/2005, 00:14

O erro persiste ele mostra agora assim....




Exibindo agora .....

OnLine - -1
Máximo - 3



#6 Felipe Pena

Felipe Pena

    O temor do Senhor é o princípio da sabedoria

  • Ex-Admins
  • 6441 posts
  • Sexo:Masculino

Posted 27/03/2005, 00:25

<?



$ip = $_SERVER['REMOTE_ADDR'];

$time = time ();



$Cs = mysql_query ("SELECT * FROM usersonline WHERE ip='$ip'")

  or die ( mysql_error() );

  

if ( mysql_num_rows ($Cs) > 0 )

{

  mysql_query ("UPDATE usersonline SET time='$time' WHERE  ip='$ip'")

     or die ( mysql_error () );

} else {

  mysql_query ("INSERT INTO usersonline (ip, time) VALUES ('$ip','$time')")

     or die ( mysql_error () );

}



$timeout = $time - 300;



mysql_query ("DELETE FROM usersonline WHERE time < $timeout")

  or die ( mysql_error () );

  

$Cs2 = mysql_query ("SELECT * FROM usersonline")

  or die ( mysql_error () );



$online = mysql_num_rows ($Cs2);



$Cs3 = mysql_query ("SELECT quantidade FROM maximo")

  or die ( mysql_error () );



$x = mysql_fetch_array ($Cs3);

$quant_atual = $x["quantidade"];



if ($quant_atual < $online)

{

  mysql_query ("UPDATE maximo SET quantidade='$online' WHERE quantidade='$quant_atual'")

     or die ( mysql_error () );

}



$maximo_user = ($quant_atual < $online) ? $online : $quant_atual;



echo "OnLine: ". $online;

echo "<br />";

echo "Máximo: ". $maximo_user;



?>

Felipe Pena
[...] ó terra, terra, terra; ouve a palavra do Senhor. — Jeremias 22:29

#7 Fábio Luciano

Fábio Luciano

    Ativo

  • Usuários
  • 309 posts
  • Sexo:Masculino
  • Localidade:Santa Maria / DF
  • Interesses:Ah eu gosto de tudo :D

Posted 27/03/2005, 17:05

Bom como tem gente que tah pedindo as tabelas , vou colocar o script completo...


crie as seguintes tabelas...

CREATE TABLE `maximo` (
  `quantidade` int(7) NOT NULL default '1'
) TYPE=MyISAM;
INSERT INTO `maximo` ( `quantidade` ) VALUES ('1');
CREATE TABLE `usersonline` (
  `ip` varchar(255) NOT NULL default '',
  `TIME` int(12) NOT NULL default '0'
) TYPE=MyISAM;


O script ...

<?

$ip = $_SERVER['REMOTE_ADDR'];
$time = time ();

$Cs = mysql_query ("SELECT * FROM usersonline WHERE ip='$ip'")
 or die ( mysql_error() );
 
if ( mysql_num_rows ($Cs) > 0 )
{
 mysql_query ("UPDATE usersonline SET time='$time' WHERE  ip='$ip'")
    or die ( mysql_error () );
} else {
 mysql_query ("INSERT INTO usersonline (ip, time) VALUES ('$ip','$time')")
    or die ( mysql_error () );
}

$timeout = $time - 300;

mysql_query ("DELETE FROM usersonline WHERE time < $timeout")
 or die ( mysql_error () );
 
$Cs2 = mysql_query ("SELECT * FROM usersonline")
 or die ( mysql_error () );

$online = mysql_num_rows ($Cs2);

$Cs3 = mysql_query ("SELECT quantidade FROM maximo")
 or die ( mysql_error () );

$x = mysql_fetch_array ($Cs3);
$quant_atual = $x["quantidade"];

if ($quant_atual < $online)
{
 mysql_query ("UPDATE maximo SET quantidade='$online' WHERE quantidade='$quant_atual'")
    or die ( mysql_error () );
}

$maximo_user = ($quant_atual < $online) ? $online : $quant_atual;

echo "<strong>OnLine - </strong>". $online;
echo "<br />";
echo "<strong>Máximo - </strong>". $maximo_user;

?>
Qualquer coisa é só flar :lol:

Edição feita por: OmegamoN, 27/03/2005, 17:06.


#8 Rockwil

Rockwil

    Novato no fórum

  • Usuários
  • 20 posts
  • Sexo:Não informado
  • Localidade:são paulo - zona sul

Posted 30/03/2005, 17:18

han.... não entedi cara essa tabela eu vou criar no meu bd? explica melhor ai, eu sou iniciante ainda em programação rsrs
-------------------------------------------------------------------
Rock não e apenas musica e uma opção de vida
------------------------------------------------------------------
Contatos:
MSN: wil_rock@hotmail.com
E-mail: wil-rock@bol.com.br
ICQ:270687319
-------------------------------------------------------------------
Rockwil - O Seu Portal da Música
Super Dica - Compre camisetas pela web

#9 Rockwil

Rockwil

    Novato no fórum

  • Usuários
  • 20 posts
  • Sexo:Não informado
  • Localidade:são paulo - zona sul

Posted 01/04/2005, 17:07

ninguem vai da uma ajudinha?
-------------------------------------------------------------------
Rock não e apenas musica e uma opção de vida
------------------------------------------------------------------
Contatos:
MSN: wil_rock@hotmail.com
E-mail: wil-rock@bol.com.br
ICQ:270687319
-------------------------------------------------------------------
Rockwil - O Seu Portal da Música
Super Dica - Compre camisetas pela web

#10 kaka2006

kaka2006

    Novato no fórum

  • Usuários
  • 6 posts
  • Sexo:Não informado

Posted 01/04/2005, 18:33

isso a parte de criar a tabela vc vai colocar no seu editor de sql, caso seja no computador, ou no phpmyadmin para servidor (hospedagem).

#11 Xtopsite

Xtopsite

    Novato no fórum

  • Usuários
  • 24 posts
  • Sexo:Não informado
  • Localidade:são paulo
  • Interesses:web designer / web master / Sistemas digitais / eletrônica

Posted 04/04/2005, 14:30

ta mais o problema e que eu não vejo ele chamar nenhum bd no script...... eu vou criar essas tabelas em qual bd? essa é a duvida
[Administrador] - www.xtopsite.net - Prêmios em dinheiro para seu site
[Administrador] - http://www.xtopsite.net/forum
[Moderador] - www.devbrasil.com.br
"Rock não é apenas musica é uma opção de vida"

#12 Spider-man

Spider-man

    Doutor

  • Usuários
  • 987 posts
  • Sexo:Não informado

Posted 04/04/2005, 14:32

ta mais o problema e que eu não vejo ele chamar nenhum bd no script...... eu vou criar essas tabelas em qual bd? essa é a duvida

deve estar em algum arquivo q ele naum colocou, o q os programadores mais fazem eh colocr uma include "config.php";

(y)

#13 Xtopsite

Xtopsite

    Novato no fórum

  • Usuários
  • 24 posts
  • Sexo:Não informado
  • Localidade:são paulo
  • Interesses:web designer / web master / Sistemas digitais / eletrônica

Posted 04/04/2005, 14:38

é mas e que OmegamoN disse q ia colocar o script completo, mas acho que não ta não
[Administrador] - www.xtopsite.net - Prêmios em dinheiro para seu site
[Administrador] - http://www.xtopsite.net/forum
[Moderador] - www.devbrasil.com.br
"Rock não é apenas musica é uma opção de vida"

#14 Spider-man

Spider-man

    Doutor

  • Usuários
  • 987 posts
  • Sexo:Não informado

Posted 04/04/2005, 14:41

mas eh soh vc colocar algum arquivo q conecta com o bd e depois modificar as variaveis, ow vc pede pra ele te passar

#15 Fábio Luciano

Fábio Luciano

    Ativo

  • Usuários
  • 309 posts
  • Sexo:Masculino
  • Localidade:Santa Maria / DF
  • Interesses:Ah eu gosto de tudo :D

Posted 20/04/2005, 05:01

Bom agora o script tah com a conexão...:P

<?

/*Definindo Variáveis para a conexão com o banco de dados*/
$_Host = "localhost";
$_User = "hoot";
$_Senha = "";
$_BD = "maximus";

/*Conectando ao Banco de Dados*/
mysql_connect("$_Host","$_User","$_Senha") or die ("Host, Usuário ou Senha inválidos ou não editados");
/*Selecionao banco de dados para o global*/
mysql_select_db("$_BD") or die ("Não existe este banco de dados");

$ip = $_SERVER['REMOTE_ADDR'];
$time = time ();

$Cs = mysql_query ("SELECT * FROM usersonline WHERE ip='$ip'")
 or die ( mysql_error() );
 
if ( mysql_num_rows ($Cs) > 0 )
{
 mysql_query ("UPDATE usersonline SET time='$time' WHERE  ip='$ip'")
    or die ( mysql_error () );
} else {
 mysql_query ("INSERT INTO usersonline (ip, time) VALUES ('$ip','$time')")
    or die ( mysql_error () );
}

$timeout = $time - 300;

mysql_query ("DELETE FROM usersonline WHERE time < $timeout")
 or die ( mysql_error () );
 
$Cs2 = mysql_query ("SELECT * FROM usersonline")
 or die ( mysql_error () );

$online = mysql_num_rows ($Cs2);

$Cs3 = mysql_query ("SELECT quantidade FROM maximo")
 or die ( mysql_error () );

$x = mysql_fetch_array ($Cs3);
$quant_atual = $x["quantidade"];

if ($quant_atual < $online)
{
 mysql_query ("UPDATE maximo SET quantidade='$online' WHERE quantidade='$quant_atual'")
    or die ( mysql_error () );
}

$maximo_user = ($quant_atual < $online) ? $online : $quant_atual;
echo "<strong>OnLine - </strong>". $online;
echo "<br />";
echo "<strong>Máximo - </strong>". $maximo_user;

?>

Edição feita por: OmegamoN, 21/04/2005, 05:43.





1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq