Jump to content


Photo

[Resolvido] Login/SessãO Php


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

#1 verneklavor

verneklavor

    Desenvolvedor Web

  • Usuários
  • 154 posts
  • Sexo:Masculino
  • Localidade:Fortaleza-CE

Posted 20/12/2010, 07:10

Estou desenvolvendo um sistema de login bem básico mas encontro problemas.

Ao digitar login e senha é chamado um arquivo (acoes.php) aonde ele acessa a ação login.

Oque acontece é que eu não consigo retornar um valor pela sesao se não colocar o start_session() na página de acoes, mas quadno coloco ele retorna o valor porem um erro. Já tentei colocar o statr_session() fora do case antes do include mas nada acontece. Alguem pdoeria dar uma força, ficaria muito grato.


acoes.php
Posted Image

página seguinte:
Posted Image

erro retornado:
Posted Image
"Não tentes ser bem sucedido, tenta antes ser um homem de valor."

#2 williamkevenis

williamkevenis

    Normal

  • Banidos
  • PipPip
  • 99 posts
  • Sexo:Masculino
  • Localidade:Maceio
  • Interesses:PHP, CSS, JS

Posted 20/12/2010, 10:45

Estou desenvolvendo um sistema de login bem básico mas encontro problemas.

Ao digitar login e senha é chamado um arquivo (acoes.php) aonde ele acessa a ação login.

Oque acontece é que eu não consigo retornar um valor pela sesao se não colocar o start_session() na página de acoes, mas quadno coloco ele retorna o valor porem um erro. Já tentei colocar o statr_session() fora do case antes do include mas nada acontece. Alguem pdoeria dar uma força, ficaria muito grato.


acoes.php
Posted Image

página seguinte:
Posted Image

erro retornado:
Posted Image


ja tentou incluir o arquivo que valida a sessoes em funcoes.php?
Att, William Kévenis. A simplicidade é o último degrau da sabedoria.
Posted Image Meu post lhe ajudou? Reputar/votar é uma das formas de agradecer.

#3 André Manoel

André Manoel

    Doutor

  • Usuários
  • 996 posts
  • Sexo:Masculino
  • Localidade:Brasilia

Posted 20/12/2010, 14:28

Coloca o seu código
para nós olharmos...
Iniciando na Ajuda On line...

Posted Image Meu post lhe ajudou? Reputar/votar é uma das formas de agradecer.

#4 Cleiton Garcia da Silva

Cleiton Garcia da Silva

    Normal

  • Usuários
  • 81 posts
  • Sexo:Masculino
  • Localidade:Sombrio, SC
  • Interesses:PHP, MySQL

Posted 24/12/2010, 00:35

Hmmm.. deixa euu ver :ponder:


Eu criei um código completinho pra você aqui, além de entrar ele verifica se os campos foram digitados e criei o arquivo funções pra você!


ARQUIVO VERIFICA.PHP
<?php
session_start(); // Inicia a session
 
include "../configuracoes/conexao.php";
 
$usuario = $_POST['usuario'];
$senha = $_POST['senha'];
 
if ((!$usuario) || (!$senha)){ 
 
			echo "<script>alert('Todos os campos devem ser preenchidos. Por favor, tente novamente!')</script>";
	
			echo "<meta http-equiv='refresh' content='0;URL=../../login.php'>";
 
}else{
 
	$senha = base64_encode($senha);
 
	$sql = mysql_query(
 
 	"SELECT * FROM tb_acesso 
 	WHERE usuario='{$usuario}' 
 	AND senha='{$senha}'"

 	);
 
	$login_check = mysql_num_rows($sql);
 
	if ($login_check > 0){
 
 	while ($row = mysql_fetch_array($sql)){
 
 	foreach ($row AS $key => $val){
 
 	$key = stripslashes( $val );
 
 	}
 
 	$_SESSION['idd'] = $id_acesso;
 	$_SESSION['usu'] = $usuario;
 	$_SESSION['senha'] = $senha;
			
 	header("Location: ../../novo_ticket.php"); // Caso o login tenha sido efetuado com sucesso redireciona pra pagina que so permite acesso se tiver logado
 
 	}
 
	}else{
 
 				echo "<script>alert('E-mail e/ou senha incorretos. Por favor tente novamente!')</script>";
 
			echo "<meta http-equiv='refresh' content='0;URL=../../login.php'>";
 
	}
 
}
 
?>
Como você viu, o arquivo recebe via POST. Cria um form e faz o action com POST e tudo certo. Hehe



ARQUIVO FUNCTIONS.PHP
<?php
function session_checker(){
	if (!isset($_SESSION['idd'])){
 	header ("Location: login.php"); // Se o usuario nao tiver logado ele redireciona para a Página de login
 	exit(); 
	}
}
 
?>



Pra você permitir acesso a pagina somente se o usuario tiver logado no caso a página do TICKET ali você põe o seguinte codigo nela:
<?php
include("config.php");

session_start(); // Inicia a session
include "functions.php"; // arquivo de funções. 
session_checker(); // chama a função que verifica se a session iniciada da acesso à página.
?>




OBS: Tu tá pegando o nome do usuário e senha pela SESSÃO! Eu particularmente, prefiro fazer diferente, ou seja, tu tem o ID na sessão certo? Faz um codigo do tipo:
<?php
$id_acesso = $_SESSION["id_acesso"];

$conexao = mysql_query("SELECT * FROM tb_acesso WHERE id_acesso = '".$id_acesso."'") or die(mysql_error());
$n = mysql_fetch_array($conexao);
?>

Ai depois pra ti pegar as informações do usuário que tá logado tu faz o código
<?php echo $n["campo_que_voce_deseja_recuperar"]; ?>
;)



Bem, é isso ai amigo. Abraço e boa sorte! Qualquer coisa fala ai!
Att, Cleiton Garcia da Silva B)

Edição feita por: Cleiton Garcia da Silva, 24/12/2010, 00:37.

WM Place - O lugar dos webmasters: O melhor lugar onde você encontra, conversa, discute e interage com outros webmasters, assim como você. Acessem: www.wmplace.com.br

#5 verneklavor

verneklavor

    Desenvolvedor Web

  • Usuários
  • 154 posts
  • Sexo:Masculino
  • Localidade:Fortaleza-CE

Posted 28/12/2010, 06:49

Cleiton Garcia, vleu pela ajuda, resolvido meu problema. (y)
"Não tentes ser bem sucedido, tenta antes ser um homem de valor."




1 user(s) are reading this topic

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

IPB Skin By Virteq