Ir para conteúdo

POWERED BY:

Arquivado

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

joaowinter12

Problema ao com SESSIONS

Recommended Posts

Olá pessoal, estou aprendendo php. Estive motando um pequeno sistema de login e cadastro com php e mysql, tudo estava indo certo, porém ocorreu um pequeno erro. Quando eu acesso a página de login, digito o e-mail e senha e vai de boa pra outra página, porém quando clico no botão sair, permanece na mesma página, tipo, as sessões são destruídas corretamente (eu acho) mas não vai pra página de login. Dê uma olhada no código

 

Página de login:

<?php
   session_start();
   if(isset($_SESSION)){
	   header("Location::http://localhost/content.php");
   }

?>
<!doctype html>
<html dir="ltr" lang="pt-br">
<head>
   <meta charset="utf-8">
   <title>Login</title>
   <style>*{margin:0;padding:0;}body{font-family:arial,tahoma,calibri,verdana;background-color:#fff;color:#000;}div#gwg23weg{position:relative;top:120px;}
   h6{color:#666;}span.rf4f{color:rgb(140,41,243);font-family:"Century Gothic";font-size:20px.}
   </style>
   </head>
<body>

    <center>
	<div id="gwg23weg">
	     <form method="post" action="index.php">
		     <h6>Site</h6><span class="rf4f">Login<span><br /><br />
		     <input type="text" placeholder="E-mail" name="email_u" /><br /><br />
		     <input type="text" placeholder="Senha"name="senha_u" /><br /><br />
		     <input type="submit" value="Entrar" name="bt_entrar" />
		 </form>
	
	</center>
    </div>
</body>
</html>
<?php
    error_reporting(0);
	session_start("users");
    //ler valores
	$emailuser = @$_POST['email_u'];
	$senhauser = @$_POST['senha_u'];
	
	      //conectar ao bd
		  $server_one = "localhost";
		  $user = "jp";
		  $passw = "MINHA_SENHA";
		  $db = "test";
		  
		  $conec = mysql_connect ($server_one,$user,$passw) or die(mysql_error("Não foi possível se conectar ao banco de dados."));
		  mysql_select_db($db) or die(mysql_error("Não foi possível selecionar o banco de dados."));
		  
		      
           
          //verificar se o botão "Entrar" foi pressionado 
          if(isset($_POST['bt_entrar'])){

              	 
			 //verificar se usuário existe
			   $pesq_user = mysql_query("SELECT * FROM usuarios WHERE email='$emailuser' AND senha='$senhauser'");
			   $num_users = mysql_num_rows($pesq_user);
			   $result = mysql_fetch_array($pesq_user);
			   
			        if($num_users==1){
						header("Location:http://localhost/content.php");
						$_SESSION['email_user10'] = $result['email'];
						$_SESSION['senha_user10'] = $result['senha'];
					}
					else{
						echo "E-mail ou senha incorretos.";
					}		  
		  }
		
			 
?>

Página chamada conteúdo onde que só é liberada após o login:

<html>
<head>
  <meta charset="utf-8">
  <title>Conteúdo</title>
</head>
<body>
<?php
    session_start("users");
	
	if(isset($_SESSION)){

       echo "Conectado à <strong>".$_SESSION['email_user10']."</strong>.";
	
	}
	if(!isset($_SESSION)){
		header("Location:http://localhost");
	}
	
?>
 
    <form method="POST" action="content.php">
	    <input type="submit" name="exit_system" value="Sair" />
	</form>
</body>
<html>
<?php

    if(isset($_POST['exit_system'])){
		session_start("users");
		session_destroy();
		header("Location:http://localhost");
	}

?>

Bom pessoal, alguém me ajuda aí, vlw.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Primeiramente, quando postar código por arquivo, identifique seus nomes.

 

Segundamente, a função session_start() não tem parâmetros.

 

Terceiramente, seu logout não deveria estar na mesma página do conteúdo, nem ser um form, mas sim uma página separada que redireciona para a página de login, não para o conteúdo.

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.