Jump to content


Photo

Verificar Se Usuário Já Está Acessando O Site


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

#1 osmano807

osmano807

    Novato no fórum

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

Posted 26/09/2008, 17:30

Olá, estou querendo que quando o usuário acesse meu site, redirecionasse para um outro arquivo e acessasse normal, mas se ele já estiver acessando, o site, redirecioná-lo para outra página.
Não sei como fazer isto, pois tenho que fazer por ip, não? Tentei isto, mas não sei como incluir a página de acesso liberado, acho que não funciona direito por causa do meu refresh.

<?php
$self2 = $_SERVER['PHP_SELF'];
echo "<meta http-equiv=\"Refresh\" content=\"10; url=$self2\">";
//Efetua a conexão
mysql_connect("localhost","****-editado-****","****-editado-****");
mysql_select_db("youtube");

//Tempo em segundos que irá apagar os ips inativos
$timeoutseconds = 10;
$timestamp=time();
$timeout=$timestamp-$timeoutseconds;

//Pega o ip
$ip = $_SERVER['REMOTE_ADDR'];

//Pega a o url da página que o uuário entro
$self = $_SERVER['PHP_SELF'];

//Verifica se o ip do usuário já se encontra
$verif = mysql_query ("SELECT ip FROM useronline WHERE ip = '$ip'");
$evo = mysql_num_rows($verif);

//Se for encontrado, faz a atualização do url e do segundos que a pessoa entrou
if ($evo > "0"){
echo "\n";
//Caso não sejá encontrado ele insere o ip a url e o tempo
} else {
mysql_query("INSERT INTO useronline VALUES ('$timestamp','$ip','$self')") or die("Database INSERT Error");
}

//Deleta os ips que já passaram dos 300 segundos
mysql_query("DELETE FROM useronline WHERE timestamp<$timeout") or die("Database DELETE Error");
$result=mysql_query("SELECT DISTINCT ip FROM useronline WHERE file='$self'") or die("Database SELECT Error");

//Exibe o resultado
$user  =mysql_num_rows($result);																			  
//if ($user==1) {echo"$user Total on-line";} else {echo"$user Total on-line";}

$verif2 = mysql_query ("SELECT ip FROM useronline WHERE ip = '$ip'");
$evo2 = mysql_num_rows($verif2);
if ($evo2 > "0"){
echo "\nja se encontra na lista o ip $ip";
}
else
{
#echo '<iframe scrolling="no" allowtransparency="yes" frameborder="0" height="275" width="518"src="http://youtube.com" id="importador" name="importador" ></iframe>"';
echo 'ip naum encontrado na lista';
}
?>

Edição feita por: osmano807, 26/09/2008, 17:31.


#2 Falci

Falci

    12 Horas

  • Usuários
  • 187 posts
  • Sexo:Masculino
  • Localidade:Brasil

Posted 26/09/2008, 17:44

Cara.. usa session..

Tipo, quando o visitante acessar, verifica se tem uma $_SESSION[time] .. se não tiver, é pq eh primeiro acesso..
se tiver, verifica o time() dela..

Esse script que vc postou tah meio redundante.. faz duas vezes a mesma coisa.. e isso aih é para contar os usuários online..
<?php /* falci at Falci.me */

$naoAcrediroQueEuFizUmaVariavelTaoGrandeSoParaGuardarUmTres = 3;
?>

#3 Maykel Esser

Maykel Esser

    Super Veterano

  • Usuários
  • 1536 posts
  • Sexo:Masculino
  • Localidade:Curitiba - PR

Posted 26/09/2008, 17:45

esse usuário é cadastrado em algum banco de dados? utiliza session, ou alguma coisa assim?

se for só por IP, talvez fique estranho não?

vc teria que resgatar o IP do cara em uma sessão...

se essa sessão tiver aberta, e o ip for o mesmo que está usando, ele faz a ação que você quer!

Se este post lhe ajudou, ajude o fórum também. Use a reputação de mensagens! add.png


#4 osmano807

osmano807

    Novato no fórum

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

Posted 26/09/2008, 18:07

é assim: vou redirecionar o youtube para essa página com um proxy, o que eu quero é que se o usuário já estiver com esta mesma página aberta (que será o youtube para o usuário) ele bloqueie.
Mas tem que restringir por ip.

Edição feita por: osmano807, 26/09/2008, 18:14.





1 user(s) are reading this topic

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

IPB Skin By Virteq