Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
amigos bom dia eu de novo seguinte crie um codigo para mostrar isto daqui
Logado como: André cardoso de miranda
Seu ip: 187.35.232.71
Seu ultimo acesso ao site foi em 27/12/2013 as 08:53:02
Você já acessou o site: 73 vezes Clique para Sair
Só que é o seguinte eu queria mostrar quando foi o ultimo acesso do membro e a data e quantas vezes ele se logou porem ele esta mostrando a data e hora atual do login e também mostrando a quantidade de acessos de todos acho que não soube fazer olha o que fiz
criei uma pagina contador e nela coloquei onde esta contando todos os acessos acredito eu... só que não era isto que eu queria fazer alguém pode me ajudar
<?php $a=73; ?>
e na pagina que esta mostrando os dados fiz isto;
<?php include 'contador.php'; if (isset($_COOKIE['counte'])) { $counte = $_COOKIE['counte'] + 1; } else { $counte = 1; $a++; } setcookie('counte', "$counte", time()+3700); $abre =@fopen("contador.php","w"); $ss ='<?php $a='.$a.'; ?>'; $escreve =fwrite($abre, $ss); ?> <div class="quadroprincipal"> <div> <strong>Logado como: </strong><?php echo html_entity_decode($_SESSION['loginu_nome']);?><br>Seu ip: <?=$_SERVER['REMOTE_ADDR']?><?php $dataAtual = date("d/m/Y"); $dataHora = date("h:i:s"); echo "<br>Seu ultimo acesso ao site foi em "; echo $dataAtual; echo " as "; echo $dataHora; echo "<br> Voce ja acessou o site: $a vezes"; ?> <a href="logout"> Clique para Sair</a> </div>então na verdade quero gravar do db todos estes dados e depois exibir para o usuario e não quero mostrar a data e hora atual e sim quando cara logou no sistema pela ultima vez
$dataHora = date("h:i:s");
$inserir = mysql_query("INSERT INTO NOME DA SUA TABELA (data) VALUES ('$dataHora')");
Desta forma você vai salvar a data atual que o usuario logou,para exibir é só você salvar esses dados em uma sessão.mais no caso quero salvar tudo isto
Seu ip: 187.35.232.71
Seu ultimo acesso ao site foi em 27/12/2013 as 08:53:02
Você já acessou o site: 73 vezes Clique para Sair
o ip a da e hora e quantidade de vezes que o usuario se logou no site a pagina do meu login esta assim
<?php
require_once("config.php");
loadClass("protege");
$protege=new protege();
$erro='';
if(logado()){
header("location:areamembros");
exit;
}
if(!isset($_SESSION['tent_login'])){
$_SESSION['tent_login']=0;
}
if($_SESSION['tent_login']>5){
alertaredir('Número de Tentativas excedido, aguarde alguns minutos para tentar novamente','inicio');
exit;
}
if($_SERVER['REQUEST_METHOD']==='POST'){
if(isset($_POST['token']) && $_POST['token']==$_SESSION['token']){
foreach($_POST as $k=>$v){
$post[$k]=$protege->geral($v);
}
extract($post);
if($usuario!='' && $senha!=''){
if(login($usuario,$senha)){
header("location:areamembros.php");
exit;
}else{
$_SESSION['tent_login']++;
alertaredir('Dados Inválidos','inicio');
exit;
}
}else{
$_SESSION['tent_login']++;
alertaredir('Preencha todos os campos','inicio');
exit;
}
}else{
alertaredir('Violação de Acesso','inicio');
exit;
}
}
?>foi como Landerson Almeida falou a cima, você tem que fazer uma consulta e mostrar.
no lugar de
$dataHora = date("h:i:s");
assim
$dataHora = $row['dataatual'];
não vá apenas mudar desse modo, que não vai da certo, apenas dei um exemplo.
pelo que parece você apenas pegou esse código da internet.
se for isso e não tiver o minimo de conhecimento, estude.
pelo que já vi, você tem mais de 400 post e não notei uma ajuda sua,
fórum consiste em ajudar e ser ajudado, pois bem vamos parar para estudar um pouco, e parar de pegar códigos prontos na net, e vim aqui no fórum pedir para o pessoal resolver o problema de vocês
Então zanelati2002, tudo?
Você precisa gravar os dados em uma base de dados.
Existe alguma tabela de utilizadores? Se sim, basta criar mais um campo do tipo "TIMESTAMP", assim quando o utilizador fizer login, basta fazer um update ao campo:
UPDATE nome_tabela SET nome_campo_timestamp='NOW()' WHERE nome_campo_id='id_do_utilizador'
Em relação ao contador, basta criar mais um campo do tipo INT (default igual a 0) e atualiza-lo também no momento do login, a query completa ficaria assim:
UPDATE nome_tabela SET nome_campo_timestamp='NOW()',nome_campo_contador=nome_campo_contador+1 WHERE nome_campo_id='id_do_utilizador'
Assim ficará sempre a data e hora do último acesso.
pessoal se vocês repararem ele não esta fazendo uma consulta com banco de dados.
pessoal se vocês repararem ele não esta fazendo uma consulta com banco de dados.
Com certeza está, mas não postou, caso contrário não teria um sistema de utilizadores.
no meu banco de dados criei dentro da tabela membros
dataultimoacesso
dataatual
ipatual
ipultimoacesso
numerodeacesso
>
Então zanelati2002, tudo?
Você precisa gravar os dados em uma base de dados.
Existe alguma tabela de utilizadores? Se sim, basta criar mais um campo do tipo "TIMESTAMP", assim quando o utilizador fizer login, basta fazer um update ao campo:
UPDATE nome_tabela SET nome_campo_timestamp='NOW()' WHERE nome_campo_id='id_do_utilizador'
Em relação ao contador, basta criar mais um campo do tipo INT (default igual a 0) e atualiza-lo também no momento do login, a query completa ficaria assim:
UPDATE nome_tabela SET nome_campo_timestamp='NOW()',nome_campo_contador=nome_campo_contador+1 WHERE nome_campo_id='id_do_utilizador'
Assim ficará sempre a data e hora do último acesso.
Então é como postei acima, no momento do login faça um upate a sua tabela de membros.
Abç.
seria assim mais ou menos
<?php
require_once("config.php");
loadClass("protege");
$protege=new protege();
$erro='';
if(logado()){
header("location:areamembros");
exit;
}
if (($emailform == $dados["email"]) && ($senhaform == $dados["senha"]))
{
$dataultimoacesso = $dados["dataatual"];
$dataatual = date("Y-m-d H:i:s");
$nacessos = $dados["numerodeacessos"]+1;
$id = $dados["id"];
$email = $dados["email"];
$ipultimoacesso = $dados["ipatual"];
$ipatual = $_SERVER["REMOTE_ADDR"];
$query = "UPDATE login SET dataultimoacesso = '$dataultimoacesso','$ipatual', numerodeacessos = '$nacessos' WHERE email = '$email'";
$resultado = mysql_query($query) or die("Erro no banco de dados!");
session_start();
$_SESSION['Logando'] = array("id" => $id,"email" => $email);
header("location: adm/index.php");
}
if(!isset($_SESSION['tent_login'])){
$_SESSION['tent_login']=0;
}
if($_SESSION['tent_login']>5){
alertaredir('Número de Tentativas excedido, aguarde alguns minutos para tentar novamente','inicio');
exit;
}
if($_SERVER['REQUEST_METHOD']==='POST'){
if(isset($_POST['token']) && $_POST['token']==$_SESSION['token']){
foreach($_POST as $k=>$v){
$post[$k]=$protege->geral($v);
}
extract($post);
if($usuario!='' && $senha!=''){
if(login($usuario,$senha)){
header("location:areamembros.php");
exit;
}else{
$_SESSION['tent_login']++;
alertaredir('Dados Inválidos','inicio');
exit;
}
}else{
$_SESSION['tent_login']++;
alertaredir('Preencha todos os campos','inicio');
exit;
}
}else{
alertaredir('Violação de Acesso','inicio');
exit;
}
}
?>
eu acho que esta errado
@erison
Falou a pura verdade. Esse pessoal que fica pegando script pronto e pedindo ajuda é complicado. Poderia ao menos ajudar alguém de vez em quando.
@tópico
Coloca tudo em um banco de dados colega. cria tabelas com ip, data e quantidade de acesso. Pode ter certeza que fazendo isso vai ser fácil conseguir o que você quer.
@tópico
Coloca tudo em um banco de dados colega. cria tabelas com ip, data e quantidade de acesso. Pode ter certeza que fazendo isso vai ser fácil conseguir o que você quer.
já crie quero saber se código que postei esta correto e quero mostrar
Seu ip: 187.35.232.71
Seu ultimo acesso ao site foi em 27/12/2013 as 08:53:02
Você já acessou o site: 73 vezes Clique para Sair
estou pedindo ajuda somente
>
>
seria assim mais ou menos
<?phprequire_once("config.php");loadClass("protege");$protege=new protege();$erro='';if(logado()){ header("location:areamembros"); exit;}if (($emailform == $dados["email"]) && ($senhaform == $dados["senha"])){ $dataultimoacesso = $dados["dataatual"]; $dataatual = date("Y-m-d H:i:s"); $nacessos = $dados["numerodeacessos"]+1; $id = $dados["id"]; $email = $dados["email"]; $ipultimoacesso = $dados["ipatual"]; $ipatual = $_SERVER["REMOTE_ADDR"]; $query = "UPDATE login SET dataultimoacesso = '$dataultimoacesso',dataatual = '$dataatual', ipultimoacesso = '$ipultimoacesso', ipatual ='$ipatual', numerodeacessos = '$nacessos' WHERE email = '$email'"; $resultado = mysql_query($query) or die("Erro no banco de dados!"); session_start(); $_SESSION['Logando'] = array("id" => $id,"email" => $email); header("location: adm/index.php");}if(!isset($_SESSION['tent_login'])){ $_SESSION['tent_login']=0;}if($_SESSION['tent_login']>5){ alertaredir('Número de Tentativas excedido, aguarde alguns minutos para tentar novamente','inicio'); exit;}if($_SERVER['REQUEST_METHOD']==='POST'){ if(isset($_POST['token']) && $_POST['token']==$_SESSION['token']){ foreach($_POST as $k=>$v){ $post[$k]=$protege->geral($v); } extract($post); if($usuario!='' && $senha!=''){ if(login($usuario,$senha)){ header("location:areamembros.php"); exit; }else{ $_SESSION['tent_login']++; alertaredir('Dados Inválidos','inicio'); exit; } }else{ $_SESSION['tent_login']++; alertaredir('Preencha todos os campos','inicio'); exit; } }else{ alertaredir('Violação de Acesso','inicio'); exit; }}?>
eu acho que esta errado
Veja o seu erro de lógica, o cara preenche o formulário com o e-mail e a senha e faz "enviar", o que você está fazendo é, verificar na base de dados se o e-mail (que o utilizador preencheu) existe, e se existir altera os dados de acesso.
Imagina agora que começo a digitar e-mails de qualquer pessoa, se ele existir na base de dados vai alterar os dados mesmo sem a senha... percebeu?
Pelo que entendi, você tem uma função chamada "login", que recebe o utilizador e senha como parâmetro, certo?
Penso que é nesta função que você está a verificar se o utilizador e senha estão corretos, certo?
Se sim, é dentro dessa função que sua query deve ficar, após validar o login.
Percebeu, se não posta a função login para ajuda-lo a posicionar a query corretamente.
post #7 ja deu como deve ser feito.
e estamos ajudando, não acha?
estou pedindo ajuda somente
você disse que quer mostrar não a data atual e sim a que esta no banco de dados, pois bem
só fazer a alteração como exemplo #6
não sei se e por que não teve recesso aqui na empresa e estou com pouca paciência :p
mais peço desculpa se estou sendo arrogando, mais e por que pela quantidade de informação que já postaram aqui no post se ler e tentar pensar um pouco vai resolver.
#9
Com certeza está, mas não postou, caso contrário não teria um sistema de utilizadores.
mais se tem consulta em banco de dados, acho que ele deveria ter postado, por que assim não vejo solução.
então mais o codigo acima tudo o que tenho certo que há um formulario com login e senha que vem para esta pagina login.php
Erison eu compreendo o que estou querendo mostrar é o ip do cara logado o nome do cara logado o ultimo acesso ao site com data e hora e a quantidade de vezes que o cara se logou no sistema com a senha e login pede para eu postar o que precisa que eu posto
esta faltando o insert to na tabela dos dados séria
seria mais ou menos algo assim
{
$db->query("INSERT INTO membros(dataultimoacesso,dataatual,ipatual,ipultimoacesso,numerodeacesso) VALUES(
$dados["dataatual"],date("Y-m-d H:i:s"),"$_SERVER["REMOTE_ADDR"]","$_SERVER["REMOTE_ADDR"]"$dados["numerodeacessos"]+1"'
)");
$db->query("INSERT INTO envios(id,data,membro,mensagem,grupo,conta,especial,ipenvio) VALUES(
0,now(),".$_SESSION['loginu_id'].",".$msg->id.",NULL,".$ctm['conta'].",'LOTE','".$_SERVER['REMOTE_ADDR']."'
)");
$query = "UPDATE login SET dataultimoacesso = '$dataultimoacesso','$ipatual', numerodeacessos = '$nacessos' WHERE email = '$email'";
$resultado = mysql_query($query) or die("Erro no banco de dados!");
session_start();
$_SESSION['Logando'] = array("id" => $id,"email" => $email);
header("location: adm/index.php");
}
desistö
Você ta desistindo antes de começar :P
Concordo com tudo que o @erison comentou, acho que você deveria parar um pouco e estudar. Um pedreiro não levanta uma casa sem antes aprender a fazer o cimento :)
Liste quais são suas maiores dificuldades e estude, se nesse processo tiver dificuldade venha ao fórum que vamos ajudá-lo :D
então minha dificuldade esta sendo armazenar no db os dados que quero mostrar mais agradeço a todos faze o que vou tentar aqui
Então, veja bem o que você disse:
então mais o codigo acima tudo o que tenho certo que há um formulario com login e senha que vem para esta pagina login.php
Essa afirmação esta errada, sabe porque? Veja bem, existe no seu código a seguinte linha:
(...)
if(login($usuario,$senha)){
(...)
A função "login" está sendo executada, procure bem nos seus fontes, essa função tem que existir em algum lado.
Com certeza nesta função ocorre a ligação com a base de dados e a consulta a tabela de membros.
Procure a função e posta o conteúdo dela para poder ajudar, você vai perceber que é bem fácil implementar o tal update que falamos.
Bom,não consegui entender direito o resto mais a parta da data você não teria que salvar no Banco de dados quando a pessoa loga ?
Porque desta forma:
$dataHora = date("h:i:s");
Você vai estar exibindo a Hora atual,você nao deveria pegar do banco de dados ?