Ir para conteúdo

POWERED BY:

Arquivado

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

nezo

Sistema Login

Recommended Posts

Pessoal,

 

Aos poucos to aprendendo PHP.

Alguém sabe me explicar o que está havendo de errado? e o que devo fazer?

Preciso que cada login direcione para a página individual do usuário.

 

 

index.php

 

<? 
include("config.php");
if(($usuario == "$user") && ($senha == "$pass")){
		session_start();
		$auth = $chave;
		session_register("auth");
		header("Location: $pagina");
	}
?>

<html>
<head>
<title>Senhas</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<div align="center" class="texto">
<form name="form1" method="post" action="<? echo "$login" ?>">
<table width="50%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="44%"> 
<div align="right">Username:</div>
</td>
<td width="56%"> 
<input type="text" name="usuario" size="10" maxlength="10" class="texto">
</td>
</tr>
<tr>
<td width="44%"> 
<div align="right">Password:</div>
</td>
<td width="56%"> 
<input type="password" name="senha" size="10" maxlength="10" class="texto">
<input type="submit" name="Submit" value="Entrar" class="texto">
</td>
</tr>
</table>
</form>
</div>
</body>
</html>

 

 

config.php

 

<?

$login = "index.php";       // Pagina de Loging
$pagina = "pagina01.php";     // Pagina Index Protegida
$user = "user01";            // Nome do Usuario
$pass = "user01";           // Senha do Usuario
$chave = "77918081";        // Chave de Seguranca
?>

<?
$login = "index.php";       // Pagina de Loging
$pagina = "pagina02.php";     // Pagina Index Protegida
$user = "user02";            // Nome do Usuario
$pass = "user02";           // Senha do Usuario
$chave = "77918082";        // Chave de Seguranca
?>

 

pagina01.php

<?

include("config.php");
session_start();
if($auth != $chave){
header("Location: $login");
}
?>

<center><h1>Conteúdo da Página 01</h1></center>

pagina02.php

<?

include("config.php");
session_start();
if($auth != $chave){
header("Location: $login");
}
?>

<center><h1>Conteúdo da Página 02</h1></center>

O código para "sair" da página também seria interessante...

 

Será que alguém pode ajudar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vou tentar de explicar nao sou mt bom nisso mas se você nao entender pergunte e tento de ajudar:

 

Eu fiz isso que você quer e nao é dificil nao, eu fiz assim:

 

Montei o formulario como você fez e depois fiz um busca no banco de dados se o usuario e a senha estiver certo eu monto umas sessoes com o id,login e senha e redireciono para a outra pagina.

 

Na pagina redirecionada eu faço uma busca pegando o id da sessao com o id do banco de dados ae aparece os dados certo da pessoa.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tente fazer assim em ambas as páginas:

 

<?

include("config.php");
session_start();
if($auth != $chave){
header("Location: $login");
}
else {
?>
<center><h1>Conteúdo da Página 02</h1></center>
<?php 
} 
?>

Talvez funcione...

 

Grande abraço, até...

Compartilhar este post


Link para o post
Compartilhar em outros sites

DMW , não consegui compreender muito bem... que comandos devo utilizar?

Na verdade, não estou utilizando o banco de dados, somente a config.php por enquanto.

Apesar de não ser tão difícil, ainda não domino mysql e phpadmin, mas estou buscando conhecimento, de vagarinho to aprendendo.

Você poderia me dar algum exemplo de como devo proceder?

 

 

Furian tentei aqui, mas não deu certo... por que será? :o

Compartilhar este post


Link para o post
Compartilhar em outros sites

Caro nezo, para uma melhor participação no fórum de PHP, sugiro que leia o tópico de orientações para uma boa participação, em especial a parte que fala sobre citar os erros ocorridos.

 

Carlos Eduardo

Compartilhar este post


Link para o post
Compartilhar em outros sites

bom, você pode utilizar arrays se deseja fazer login sem bd..

 

$usuarios = array();
$usuarios[] = array(
"usuario" => "anderson",
"senha" => "123456",
"chave" => "135468"
);

$usuarios[] = array(
"usuario" => "anderson2",
"senha" => "123456",
"chave" => "135469"
);

$usuarioLogado = false;
$username = null;
$senha = null;
$chave = null;

foreach($usuarios as $usuario)
{
  if ($usuario['usuario'] == $_POST['usuario'] && $usuario['senha'] == $_POST['senha'])
  {
     $usuarioLogado = true;
     $username = $usuario['usuario'];
     // seta outras variáveis que precise na session..
     break; // sai do loop
  }
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Outra coisa... utilize @session_start(); e não session_start();.

E coloque no início do código, antes de qualquer coisa...

 

Poste o erro que está ocorrendo no seu código pra gente saber o que está acontecendo...

 

Grande abraço, até...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Matias, obrigado pela dica, seguirei as orientações.

 

DMW, antes de partir pro banco de dados, "apesar de estar estudando como utilizar o mesmo", quero aprender primeiramente sem, consegui aprender a fazer no BD, mas para apenas 1(uma) página protegida, sendo acessada por vários usuários diferentes. Apesar de que ainda me atrapalho um pouco, principalmente na hora de fazer funcionar no servidor. Mas se você me explicar ou dar um exemplo de como posso proceder para utilizar o sistema com bd para vários usuarios com páginas individuais, sua ajuda será muito bem vinda.

 

Anderson, só não entendi como fazer para direcionar os usuários para suas páginas individuais.

 

Furian , vou testar o ajuste e, direi se deu certo...

 

 

abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Entao cara eu vou te passar usando Banco de Dados...

 

---------Form Principal--------------

<?php

//Iniciando a sessão.
session_start();

include "sql.php";

header('Content-Type: text/html; charset=utf-8');

if(isset($_GET['acao'])){ // verifica se a variavel $_GET['acao'] existe.
	if($_GET['acao'] == 'login'){ // verifica se o valor dela é login.
		if(isset($_POST['login'])){ // verifica se existe o $_POST['login'].
			if(empty($_POST['login'])){ // verifica se o campo esta vazio.
				$erro[] = "Informe seu login"; // $erro[] é uma variavel de vetor onde vai ficar os erros.

				}	
			} else {
				$erro[] = "Informe seu login.";
				}

			 if(isset($_POST['senha'])){ // verifica se existe o $_POST['senha'].
			if(empty($_POST['senha'])){ // verifica se o campo senha esta vazio.
				$erro[] = "Informe sua senha";

				}	
			}
		    else {
				$erro[] = "Informe sua senha.";
		  }

		if(!isset($erro)){

			$login = mysql_real_escape_string($_POST['login']); // mysql_real_escape_string é para ficar mais seguro.
			$senha = mysql_real_escape_string($_POST['senha']); // mysql_real_escape_string é para ficar mais seguro.

			$sql_login = @mysql_query("SELECT * FROM tab_anunciante WHERE login = '$login' AND senha = '$senha' ");

			if(@mysql_fetch_array($sql_login) > 0){

					$id      = @mysql_result($sql_login,0,"id");
					$usuario = @mysql_result($sql_login,0,"login");
					$senha   = @mysql_result($sql_login,0,"senha");

					// Monta as sessões.
					 $_SESSION['id']     = $id;
						 $_SESSION['login']  = $usuario;
					 $_SESSION['senha']  = $senha;

					 header("Location:logado.php");


			} else {echo "<script>alert('Usuário e/ou Senha errada!!!');</script>";} 
		}
	}
}
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Sistema de Login</title>
</head>

<body>

<?php 

if(isset($erro)) // verifica se existe o $erro.
{
		for($i=0;$i<count($erro);$i++)
		   {
			  echo "<script>alert('$erro[$i]');</script>";
		   }	
}
?>

<form action="<?= $_SERVER['PHP_SELF']?>?acao=login" method="post">
Login: <input type="text" name="login">
Senha: <input type="password" name="senha">
<input type="submit" name="btnentrar" value="Entrar" />
</form>
</body>
</html>

--------Form da pagina logado-----------

<?php header('Content-Type: text/html; charset=utf-8');

session_start();

$i = $_SESSION["id"];

// verifica se nao existir o $_SESSION['login'] ou o $_SESSION['senha'].
if(!isset($_SESSION['login']) || !isset($_SESSION['senha'])){

	echo "<script>alert('Precisa-se logar primeiro para ter acesso a essa página!!!!'); window.location = 'login.php'</script>";
	exit;

	}
?>

 

Se tiver alguma duvida posta ae

 

Abraço....

Compartilhar este post


Link para o post
Compartilhar em outros sites

DMW, o banco de dados seria: sql.php?

Seria praticamente com as mesmas configurações que iniciei o tópico? ou estou enganado?

Não deveria ser com mysql?

To estudando php+mysql para montar o sistema.

Pra um usuário, to conseguindo, mas quando parte para vários com paginas individuais, não to consegguindo.

 

 

abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

valeu WDuarte, então não sou só eu que fico madrugadas vidrado em cima dos códigos... hahahaha

Não sei se ja tem, mas poderiamos criar um tópico para ajudar a galera a amenizar as olheras do dia seguinte, hahahaha...

obrigado pela dica, ja to fuçando aqui!!!

 

 

um abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

Moçada, trabalhar com php e mysql é o que há. Showww!!!

 

Nos códigos, sempre é pedido para verificar o login e senha e direcionar para a página X.php... beleza!

 

Mas ta complicado de fazer o sistema direcionar LOGIN e SENHA para PÁGINA INDIVIDUAL.

 

Ex:

 

usuario1 = pagina1.php

usuario2 = pagina2.php

usuario3 - pagina3.php

e assim por diante...

 

Isso é possível?

 

Já vasculhei inúmeros de códigos, assisti dezenas de vídeo áulas e todas são somente para proteger apenas 1(uma) página.

 

 

DMW falou acima:

 

"Montei o formulario como você fez e depois fiz um busca no banco de dados se o usuario e a senha estiver certo eu monto umas sessoes com o id,login e senha e redireciono para a outra pagina.

 

Na pagina redirecionada eu faço uma busca pegando o id da sessao com o id do banco de dados ae aparece os dados certo da pessoa."

 

Não consegui compreender muito bem como seriam essas funções, acho que talvez seria a solução do meu problema.

Desculpem a minha dificuldade...

 

 

abraços

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.