Ir para conteúdo

Arquivado

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

ewersonsv

[Resolvido] [Sistema De Login] Botão Sair/Logar.

Recommended Posts

Eu queria sabe qual tipo de código/comando ou sla... para criar botão duplo "sei la como fala :D"

 

exemplos:

Visitante ver assim:

b3b3cfb5a75b4d239249c89e17851878.png

Usuário Logados:

104ba1951af147b89185d958bae3ff64.png

 

esse negocio ficará nas pagina livre (fora da restrição de login).

Compartilhar este post


Link para o post
Compartilhar em outros sites
3 horas atrás, ESerra disse:

 

verificar a tal session, correto?

 

3 horas atrás, Luiz Gustavo Costa Ceolin disse:

"Sla","Sei la como fala", "esse negocio"... Assim não da vontade alguma de ajudar..

 

Meu Amigo, obrigado pela atenção...

vamos ao caso: se uma criança não sabe o nome de algo ou como cita oque devemos fazer? Ensinar?

no mesmo caso são aqueles que nao sabe fazer algo oque devemos e ensinar e isentiva-las a aprender (caso de coisas boa).

Compreendo sua resposta, mais nem sempre sabemos de tudo, amém ?

Compartilhar este post


Link para o post
Compartilhar em outros sites
38 minutos atrás, MenoR disse:

verificar a tal session, correto?

Não sei como você controla isso no seu sistema, se for session, sim.

 

38 minutos atrás, MenoR disse:

Meu Amigo, obrigado pela atenção...

vamos ao caso: se uma criança não sabe o nome de algo ou como cita oque devemos fazer? Ensinar?

no mesmo caso são aqueles que nao sabe fazer algo oque devemos e ensinar e isentiva-las a aprender (caso de coisas boa).

Compreendo sua resposta, mais nem sempre sabemos de tudo, amém ?

Você não está respondendo a mim, mas nesse caso eu vou fazer a réplica:

 

Ai é uma questão de postura profissional, se você quer se portar como uma criança, ok, mas eu te garanto que a maior parte dos empregadores demitem gente por muito menos que isso. 

 

O modo como nós escrevemos diz muito da nossa própria formação, você comete uns erros toscos de português (p. ex. "isentiva-la"), além disso, ficar jogando gírias aleatórias pode fazer muito sentido no seu contexto de vivência, mas em um fórum não.

 

Aqui vale a máxima, quem precisa de ajuda é você, logo, você deve se esforçar ao máximo para que os outros possam te ajudar, as pessoas só irão te ajudar se em primeiro lugar, a sua dúvida for inteligível.

Compartilhar este post


Link para o post
Compartilhar em outros sites
2 minutos atrás, ESerra disse:

Não sei como você controla isso no seu sistema, se for session, sim.

eu controlo por session:

Tou tentando assim mais o mesmo não está verificando a session e só me carrega o botão "LOGAR"

<?php
	if (!isset($_SESSION["email"]) || $_SESSION["email"] != TRUE) {
		echo '<li class="active propClone">
				<a href="./painel/login"> <span class="fa fa-user"></span> Logar </a>
			  </li>';
	}else{
		echo '<li class="active propClone">
				<a href="./painel/inicio"> <span class="fa fa-user"></span> $nome $sobre </a>
			  </li>
			  <li style="color: rgb(103, 186, 118); font-size: 15px; background-color: rgba(255, 70, 100, 50); font-family: Lato, Helvetica, Arial, sans-serif;" class="propClone">
				<a href="./painel/sair"> <span class="fa fa-sign-out"></span> Sair </a>
			  </li>';
		}
?>

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
3 minutos atrás, ESerra disse:

Você está guardando o valor true/false na sessão? 

 

Não porem; se eu tento sem isso a pagina fica com restrição... ai so pode ver quem está logado mais está tal pagina eu quero deixa livre porem a diferencia e o botão como falei a cima.

Compartilhar este post


Link para o post
Compartilhar em outros sites
11 minutos atrás, ESerra disse:

Você está guardando o valor true/false na sessão? 

o qual a que inicia a session ou a pagina que estou a fazer?

Compartilhar este post


Link para o post
Compartilhar em outros sites

O script onde você está usando aquele if do post:

...
if (!isset($_SESSION["email"]) || $_SESSION["email"] != TRUE) {
...

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
<?php
	session_start();
	require 'config.php';

    $run  = mysql_query("SELECT * FROM `configuracao`");
    $site = mysql_fetch_assoc($run);

?>
<html>
<head>
    <meta charset="utf-8">
	<title> Inicio | <?php echo $site['Titulo']; ?> - <?php echo $site['subtitulo']; ?> </title>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
	<?php include './phpadc/head.php'; ?>
    <link href="bootstrap/css/bootstrap.css" rel="stylesheet">
    <link href="css/flat-ui.css" rel="stylesheet">
    <link href="css/style.css" rel="stylesheet">
    <link href="css/style-contact.css" rel="stylesheet">
    <link href="css/style-content.css" rel="stylesheet">
    <link href="css/style-footers.css" rel="stylesheet">
    <link href="css/style-headers.css" rel="stylesheet">
    <link href="css/style-team.css" rel="stylesheet">
    <link href="css/style-dividers.css" rel="stylesheet">
    <link href="css/font-awesome.css" rel="stylesheet">
    
</head>
<body>
    
    <div id="page" class="page">
        
 <header class="item header margin-top-0 padding-bottom-0" id="header6">
    
    		<div class="wrapper">
    	
    			<div class="container">
    		
    				<nav role="navigation" class="navbar navbar-inverse navbar-embossed navbar-fixed-top">
    					
    					<div class="container">
    				
    						<div class="navbar-header">
    							<button data-target="#navbar-collapse-02" data-toggle="collapse" class="navbar-toggle" type="button">
    								<span class="sr-only">Menu</span>
    							</button>
    							<a href="./" class="navbar-brand brand"> <?php echo $site['Titulo']; ?> </a>
   							</div>
    								
    						<div id="navbar-collapse-02" class="collapse navbar-collapse">
    							<ul class="nav navbar-nav">			      
    							<li class="active propClone"><a href="./">Inicio</a></li>
    								<li class="propClone"><a href="./sobrenos">Sobre Nós</a></li>
    								<li class="propClone"><a href="./blog">Blog</a></li>
    								<li class="propClone"><a href="./contato">Contato</a></li>
    							</ul> 		      
    							<ul class="nav navbar-nav navbar-right">
    								<?php
										require 'config.php';
										include './phpadc/dados.php'; 
										
										if (!isset($_SESSION["email"]) || $_SESSION["email"] != TRUE) {
											echo '<li class="active propClone">
													<a href="./painel/login"> <span class="fa fa-user"></span> Logar </a>
												  </li>';
										}else{
											echo '<li class="active propClone">
													<a href="./painel/inicio"> <span class="fa fa-user"></span> $nome $sobre </a>
												  </li>
												  <li style="color: rgb(103, 186, 118); font-size: 15px; background-color: rgba(255, 70, 100, 50); font-family: Lato, Helvetica, Arial, sans-serif;" class="propClone">
													<a href="./painel/sair"> <span class="fa fa-sign-out"></span> Sair </a>
												  </li>';
											}
									?>
    							</ul>
    						</div>
    					
    					</div>
    					
    				</nav>
    			
    				<div class="row banner">
    				
    					<div class="col-md-10 col-md-offset-1">
    					
    						<div id="myCarousel" class="carousel carousel1 slide margin-top-80 margin-bottom-80" data-interval="false">
    						  	<div class="carousel-inner">
<?php

require('config.php');


$sql = mysql_query("SELECT * FROM site_slider");
$count = mysql_num_rows($sql);
	
	if($count <= '0'){
		echo "<center><span class='label label-danger'> Slider Vazio! </span></center>";
	}else{
		
		while($linha = mysql_fetch_array($sql)){

?>	
    						    	<div class="item <?php echo $linha['status']; ?> text-center">
    						      		<h1 class="editContent"> <?php echo $linha['titulo']; ?> </h1>
    						      		<p class="lead editContent">
    						      			<?php echo $linha['titulo']; ?>
    						      		</p>
    						      		<p class="text-center">
    						      			<a href="./blog/postagem/<?php echo $linha['titulo']; ?>" class="btn btn-default btn-embossed btn-wide"><span class="fa fa-arrow-right"></span>  Saiba Mais...</a>
    						      		</p>
    						    	</div>
<?php } } ?>
    						    </div>
    					
    						  	<ol class="carousel-indicators">
<?php
$sql = mysql_query("SELECT * FROM site_slider");
while($linha = mysql_fetch_array($sql)){
?>
    						  		<li data-target="#myCarousel" data-slide-to="<?php echo $linha['id']; ?>" class="<?php echo $linha['status']; ?>"></li>
<?php } ?>
								</ol>
							</div>
    					</div>
    				</div>
    			</div>
    		</div>
    	</header>
		<div class="footerWrapper" id="footer3">
    	<div class="item footer dark">
    		<div class="container">
   				<div class="row">
 					<div class="col-md-6 col-md-offset-3 text-center social">
 						
 						<h2> <?php echo $site['Titulo']; ?> © <?php echo date("Y"); ?></h2>
 						
 						<span> SIGA NAS REDESOCIAL: </span><br>
 						<a target="_Blank" href="<?php echo $site['facebook']; ?>"><span class="fa fa-facebook-square"></span></a>
 						<a target="_Blank" href="<?php echo $site['twitter']; ?>"><span class="fa fa-twitter-square"></span></a>
 						<a target="_Blank" href="<?php echo $site['github']; ?>"><span class="fa fa-github-square"></span></a>
 						<a target="_Blank" href="<?php echo $site['googleplus']; ?>"><span class="fa fa-google-plus-square"></span></a>
 					</div>
   				</div>
   			</div>
    		    	
			</div>
    	</div>
	</div>
    <script src="js/jquery-1.8.3.min.js"></script>
    <script src="js/jquery-ui-1.10.3.custom.min.js"></script>
    <script src="js/jquery.ui.touch-punch.min.js"></script>
    <script src="js/bootstrap.min.js"></script>
    <script src="js/bootstrap-select.js"></script>
    <script src="js/bootstrap-switch.js"></script>
    <script src="js/flatui-checkbox.js"></script>
    <script src="js/flatui-radio.js"></script>
    <script src="js/jquery.tagsinput.js"></script>
    <script src="js/jquery.placeholder.js"></script>
	<script src="js/jquery.nivo.slider.pack.js"></script>
    <script src="js/application.js"></script>
	<script src="js/over.js"></script>
</body>
</html>

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Do jeito que você colocou, não há nada naquele bloco que crie algum tipo de restrição.

 

Partino do princípio que a sessão irá sempre existir quando a pessoa tiver feito o login, basta isto:

if (!isset($_SESSION["email"])) {

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
8 minutos atrás, ESerra disse:

Do jeito que você colocou, não há nada naquele bloco que crie algum tipo de restrição.

 

Partino do princípio que a sessão irá sempre existir quando a pessoa tiver feito o login, basta isto:


if (!isset($_SESSION["email"])) {

 

Mais o mesmo nao faz a tal função da forma que esta a fazer :/

ou seja ele nao ta puxando ou verificando a session.

Compartilhar este post


Link para o post
Compartilhar em outros sites
12 minutos atrás, Luiz Gustavo Costa Ceolin disse:

Não retorna nenhum erro? Já verificou se existe algum valor nesta $_SESSION["email"]?

 

Não Retorna nao... e nao puxa nenhum valor agora fiz assim:

<?php
	require 'config.php';
	include './phpadc/dados.php'; 
										
		if (!isset($_SESSION["email"]) == $status ) {
?>
		<li class="active propClone">
			<a href="./painel/inicio"> <span class="fa fa-user"></span> <?php echo $nome; ?> <?php echo $sobre; ?> </a>
		</li>
		<li style="color: rgb(103, 186, 118); font-size: 15px; background-color: rgba(255, 70, 100, 50); font-family: Lato, Helvetica, Arial, sans-serif;" class="propClone">
			<a href="./painel/sair"> <span class="fa fa-sign-out"></span> Sair </a>
		</li>
<?php
	}else{
?>			
	<li class="active propClone">
		<a href="./painel"> <span class="fa fa-user"></span> Logar </a>
	</li>
<?php
	}
?>

da variável $status ele ta puxando 1 = online / 0 = offline ou seja se o valor for 1 existirá uma sessão na variável $_SESSION['email'] caso for 0 não existirá... porem queria sabe se há alguma vulnerabilidade sobre isso.  

 

a variável $status puxa em um campo do tal usuário que vai abrir uma sessão no mesmo... que esta puxando o valor 1 ou 0 com WHERE pelo dados.php ( = "SELECT * FROM usuarios WHERE email = '".$_SESSION['usuarioEmail']."'"; )

 

quando loga o mesmo faz update = 1 & quando desloga " = 0

 

assim ta funcionando porém se houver alguma vulnerabilidade desta forma, peço que me fala por favor :D

Compartilhar este post


Link para o post
Compartilhar em outros sites
1 hora atrás, Luiz Gustavo Costa Ceolin disse:

Onde você atribui valor a esta SESSION?

 

O valor 1 ou 0 ta puxando direto do Banco De Dados Não Por Session, quando faz o login, tem um comando a onde criar a sessão de update para 1 e quando desloga outro update para 0.

 

estes botões serão mostrado nas paginas fora do painel  ou seja em todo site: Inicio, sobre nos, contato, blog e etc...

17 horas atrás, MenoR disse:

exemplos:

Visitante/Deslogados ver assim:

b3b3cfb5a75b4d239249c89e17851878.png

Usuário Logados:

104ba1951af147b89185d958bae3ff64.png

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá MenoR, penso que não seja necessário dar UPDATE no SQL cada vez que o usuário LOGAR, até porque desta forma, ele não poderá se logar de outros dispositivos normalmente (Desktop, Smartphone, etc).

 

Fiz dessa forma, caso esteja interessado:

 

para pegar os dados da SESSION atual:

include "connection.php";
	
	session_start();	
	if(isset($_SESSION['login_usuario']) && isset($_SESSION['senha_usuario']) && isset($_SESSION['id_usuario'])) {
		
		$id_usuario = $_SESSION['id_usuario'];
		$login_usuario = $_SESSION['login_usuario'];
		$senha_usuario = $_SESSION['senha_usuario'];
	}

 

 

e para verificar se o usuário está logado ou não:

<? if(isset($_SESSION['login_usuario']) && isset($_SESSION['senha_usuario']) && isset($_SESSION['id_usuario'])) {
	  $login_usuario = $_SESSION['login_usuario'];
	  
	  echo 'Logado como: '.$login_usuario.' | ';
	  echo '<a href="logout.php">Log out</a>';
	  } else {

  	  echo '<a href="logar.php">Logar</a>';

}

?>

 

e para "Logar" na SESSION, pode fazer dessa forma:

<?

include "conexao.php";

$loginUsuario = $_POST['nomeUsuario'];
$senhaUsuario = $_POST['senhaUsuario'];

$sql = mysql_query("SELECT * FROM usuarios WHERE nomeUsuario = '$loginUsuario'");
while($linha = mysql_fetch_array($sql)) {
	$id_db = $linha['idUsuario'];
	$senha_db = $linha['senhaUsuario'];
	$situacaoUsuario = $linha['situacaoUsuario'];
	$dataUsuario = $linha['dataCriacaoUsuario'];
	}

$cont = mysql_num_rows($sql);
	
	if($cont == 0) {
		echo "
			<meta http-equiv='refresh' content='0; url=index.php' />
			<script type='text/javascript'>alert ('Login não existe')</script>
		";
		} else {
			if ($senha_db != $senhaUsuario) {
				echo "
			<meta http-equiv='refresh' content='0; url=index.php' />
			<script type='text/javascript'>alert ('Senha não corresponde')</script>
		";
			}
			else {
				session_start();
				$_SESSION['id_usuario'] = $id_db;
				$_SESSION['login_usuario'] = $loginUsuario;
				$_SESSION['senha_usuario'] = $senhaUsuario;
				header("Location: perfil.php?id='$id_db'");
			}
		}
	}
		
		/* Fecha MySQL */
		mysql_close($db);

?>

 

Qualquer dúvida, é só falar;

Compartilhar este post


Link para o post
Compartilhar em outros sites
12 minutos atrás, AnthonyKamers disse:

<? if(isset($_SESSION['login_usuario']) && isset($_SESSION['senha_usuario']) && isset($_SESSION['id_usuario'])) { $login_usuario = $_SESSION['login_usuario']; echo 'Logado como: '.$login_usuario.' | '; echo '<a href="logout.php">Log out</a>'; } else { echo '<a href="logar.php">Logar</a>'; } ?>

esse codigo FUNCIONOU sem precisar de update :D para oque eu quero fazer!

Resolvido!

<?php
require 'config.php';
include './phpadc/dados.php';

 if(isset($_SESSION['email']) && isset($_SESSION['senha']) && isset($_SESSION['usuarioId'])) { ?>
	<li style="border: solid 2px; border-color: #1abc9c; background: #FFF;" class="active propClone">
		<a href="./painel/inicio"> <span class="fa fa-lock"></span>  <?php echo $nome; ?> <?php echo $sobre; ?> </a>
	</li>
	
	<li style="color: rgb(103, 186, 118); border: solid 2px; border-color: #1abc9c; background: red;" class="active propClone">
		<a href="./painel/sair"> <span class="fa fa-sign-out"></span> Sair </a>
	</li>
<?php  } else { ?>
  	<li style="border: solid 2px; border-color: #1abc9c; background: #FFF;" class="active propClone"><a href="./painel"> <span class="fa fa-lock"></span> Logar </a></li>
<?php } ?>

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por ILR master
      Fala galera, tudo bem?
       
      Tenho o seguinte codigo:
       
       class Data {
      public static function ExibirTempoDecorrido($date)
      {
          if(empty($date))
          {
              return "Informe a data";
          }
          $periodos = array("segundo", "minuto", "hora", "dia", "semana", "mês", "ano", "década");
          $duracao = array("60","60","24","7","4.35","12","10");
          $agora = time();
          $unix_data = strtotime($date);
          // check validity of date
          if(empty($unix_data))
          {  
              return "Bad date";
          }
          // is it future date or past date
          if($agora > $unix_data) 
          {  
              $diferenca     = $agora - $unix_data;
              $tempo         = "atrás";
          } 
          else 
          {
              $diferenca     = $unix_data - $agora;
              $tempo         = "agora";
          }
          for($j = 0; $diferenca >= $duracao[$j] && $j < count($duracao)-1; $j++) 
          {
              $diferenca /= $duracao[$j];
          }
          $diferenca = round($diferenca);
          if($diferenca != 1) 
          {
              $periodos[$j].= "s";
          }
          return "$diferenca $periodos[$j] {$tempo}";
      }
      }
       
      Funciona redondinho se o valor retornado for de algumas horas, mas...
      Quando passa de dois meses, ele retorna a palavra mess. Deve ser por conta dessa linha
      if($diferenca != 1) 
          {
              $periodos[$j].= "s";
          }
       
      Quero que modre:
       
      2 meses atrás
      e não
      2 mess atrás.
       
      Espero que tenham entendido.
       
      Valeu
    • Por Carlos Web Soluções Web
      Olá...
      Estou tentando fazer o seguinte !!
      Listando dados em tabela !!
      Gostaria que....se na listagem houver 4 linhas...indepedente de seu número de ID, faça a listagem em ID ser em ordem 1 2 3 4 !!
      Exemplo...se tiver uma listagem de dados que está em ID 1 3 3...faça ficar 1 2 3 !!

       
      echo "<table class='tabela_dados' border='1'> <tr> <td>ID</td> <td>Nome Empresa</td> <td>Responsável</td> <td>Telefone 1</td> <td>Telefone 2</td> <td>E-mail 1</td> <td>E-mail 2</td> <td>Endereço</td> <td>CEP</td> <td>Bairro</td> <td>AÇÃO 1</td> <td>AÇÃO 2</td> </tr> "; $sql = "SELECT ID FROM usuarios_dados WHERE Usuario='$usuario'"; $result = $conn->query($sql); $num_rows = $result->num_rows; $Novo_ID = 1; for ($i = 0; $i < $num_rows; $i++) { $registro = $result -> fetch_row(); $sql2 = "UPDATE usuarios_dados SET ID='$Novo_ID' WHERE ID='$Novo_ID'"; $result2 = $conn->query($sql2); $Novo_ID++; } $sql = "SELECT * FROM usuarios_dados"; $result = $conn->query($sql); if ($result->num_rows > 0) { // output data of each row while($row = $result->fetch_assoc()) { echo "<tr> <td>$row[ID]</td> <td>$row[Nome_Empresa]</td> <td>$row[Responsavel]</td> <td>$row[Telefone_1]</td> <td>$row[Telefone_2]</td> <td>$row[Email_1]</td> <td>$row[Email_2]</td> <td>$row[Endereço]</td> <td>$row[CEP]</td> <td>$row[Bairro]</td> <td> <form method='post' action='Editar_Dados.php'> <input type='hidden' name='usuario' value='$usuario'> <input type='hidden' name='senha' value='$senha'> <input type='hidden' name='ID' value='$row[ID]'> <input type='submit' style='padding: 10px;' value='EDITAR'> </form> </td> <td> <form method='post' action='Deletar_Dados.php'> <input type='hidden' name='usuario' value='$usuario'> <input type='hidden' name='senha' value='$senha'> <input type='hidden' name='ID' value='$row[ID]'> <input type='submit' style='padding: 10px;' value='DELETAR'> </form> </td> </tr> "; } } else { echo "0 results"; } $conn->close();  
    • Por ILR master
      Boa tarde pessoal, tudo bem ?
       
      Eu uso o tinymce para cadastro de textos no meu siite, porém, quero fazer um sistema para que os colunistas possam fazer o próprio post.
      O problema do tinymce, é que ele mantém a formatação do texto copiado, como tamanho de fonts, negritos, etc... Quero que o usuário cole o texto e a própria textarea limpe a formatação para que ele formate como quiser.
       
      A pergunta é:
       
      O tinymce tem uma opção para desabilitar a formatação quando um texto é colocado?
      Tem alguma função via java ou php para retirar a formatação assim que o texto é colado?
      Ou é melhor usar um outro editor?
       
      Agradeço deste já.
    • Por Giovanird
      Olá a todos!
      Tenho uma pagina que possui uma DIV onde coloquei uma pagina PHP.
      Uso a função setInterval para atualizar a pagina inclusa dentro da DIV.
      O problema é que ao acessar o site , a DIV só me mostra a pagina inclusa somente quando completo o primeiro minuto.
      Preciso que a pagina inclusa já inicie carregada
       
      Meu código JavaScript e a DIV com a pagina PHP
       
      <script> function atualiza(){ var url = 'direita.php'; $.get(url, function(dataReturn) { $('#direita').html(dataReturn); }); } setInterval("atualiza()",60000); </script> <div> <span id="direita"></span> </div>  
    • Por ILR master
      Fala pessoal.
       
      Seguinte:
       
      Quero selecionar duas tabelas e mostrar com resultados intercalados. Abaixo segue um código explicando para vcs terem uma ideia.
       
      $consulta = "SELECT A.*, B.* FROM tabela1 A, tabela2 B'";
      $resultado = mysqli_query($conexao, $consulta) or die ("erro");
      while($busca = mysqli_fetch_array($resultado)){
       
      print $busca['cod_evento']; --> traz o código da tabela1 
      print $busca['titulo_evento']; -->  traz o titulo da tabela1
      print $busca['cod_noticia']; --> traz o código da tabela2
      print $busca['titulo_noticia']; --> traz o tituloda tabela2
       
      }
       
      Espero que entendam. Grato
       
×

Informação importante

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