Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

zanelati2002

meus codigo não esta fazendo o que quero

Recommended Posts

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> 



			
		

Compartilhar este post


Link para o post
Compartilhar em outros sites

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 ?

Compartilhar este post


Link para o post
Compartilhar em outros sites
$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.

Compartilhar este post


Link para o post
Compartilhar em outros sites

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;
	}
}
?>

não se se vai ajudar

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

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.

Compartilhar este post


Link para o post
Compartilhar em outros sites

pessoal se vocês repararem ele não esta fazendo uma consulta com banco de dados.

Compartilhar este post


Link para o post
Compartilhar em outros sites

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.

Compartilhar este post


Link para o post
Compartilhar em outros sites

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ç.

Compartilhar este post


Link para o post
Compartilhar em outros sites

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',
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

Compartilhar este post


Link para o post
Compartilhar em outros sites

@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.

Compartilhar este post


Link para o post
Compartilhar em outros sites

@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

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

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.

Compartilhar este post


Link para o post
Compartilhar em outros sites

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.

Compartilhar este post


Link para o post
Compartilhar em outros sites

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',
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");
}

 

desistö

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

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.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.