Jump to content


Photo

Problema Com Verificação De Usuário Logado


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

#1 math01

math01

    Novato no fórum

  • Usuários
  • 6 posts
  • Sexo:Masculino
  • Localidade:são paulo

Posted 29/09/2011, 20:42

Fala galera, tudo certo?

Estou com um problema! Estou criando um sistema simples da seguinte forma (resumidamente):

O usuário acessa com um login (index.php) e a página restrita(administra.php) tem uma opçao de cadastrar um novo usuario(cadastrar.php) para acessar esse mesmo painel.

Todas as páginas depois da index.php, tem um <? include "verifica.php" ?> no inicio do código. Caso alguém tente colar no navegador, por exemplo: www.meusite.com/cadastrar.php , aparece um Alert e a página volta para index.php (login). Só que NESSE MEIO TEMPO, a página cadastrar.php APARECE e se o cara dar um stop no navegador e o pior!!! ele consegue cadastrar um novo usuário!!!! hahah

OQUE FAZER?

verifica.php
<?
session_start();

include "config.php";

if(isset($_SESSION["login_usuario"]) AND isset($_SESSION['senha_usuario'])){

	$login_usuario = $_SESSION["login_usuario"];
	$senha_usuario = $_SESSION["senha_usuario"];
	
$sql = mysql_query("SELECT * FROM adm WHERE login = '$login_usuario'");
$cont = mysql_num_rows($sql);
while($linha = mysql_fetch_array($sql)){
	$senha_db = $linha['senha'];
}

if($cont == 0){

	unset($_SESSION["login_usuario"]);
	unset($_SESSION["senha_usuario"]);

	echo "
	<META HTTP-EQUIV=REFRESH CONTENT='0; URL=index.php'>
	<script type=\"text/javascript\">
	alert(\"O nome de usuario não corresponde.\");
	</script>";
	
}

if($senha_db != $senha_usuario){//confere senha
	
	unset($_SESSION["login_usuario"]);
	unset($_SESSION["senha_usuario"]);
	
	echo "
	<META HTTP-EQUIV=REFRESH CONTENT='0; URL=index.php'>
	<script type=\"text/javascript\">
	alert(\"A senha não corresponde.\");
	</script>";
	
}
	
}else{
	
	echo "
	<META HTTP-EQUIV=REFRESH CONTENT='0; URL=index.php'>
	<script type=\"text/javascript\">
	alert(\"O usuario e senha não correspondem.\");
	</script>";
	
}

?>

cadastrar.php
<? 
include "verifica.php";
?>
<!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" />
<link href="css/administra.css" rel="stylesheet" type="text/css" />
<title>Cadastro de Administrador</title>
</head>
<? 
include "config.php";
?>
<body>
<? include "painel-topo.php"; ?>
<div id="newadmin">
<p style="font: bold 19px tahoma; color: #333; margin:0 auto; padding:0;">Cadastro de Administradores</p>
<center><div style="height:20px;"></div><form name="form2" id="form2" method="post" action="cadastrar_admin.php">
<table width="298" border="0" cellspacing="5" cellpadding="5">
<tr>
<td width="95"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Nome:</font></td>
<td width="229"><input name="nome" type="text" id="nome" maxlength="75"></td>
</tr>
<tr>
<td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Login:</font></td>
<td><input name="login" type="text" id="login" maxlength="30"></td>
</tr>
<tr>
<td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Senha:</font></td>
<td><input name="senha" type="password" id="senha" maxlength="30"></td>
</tr>
<tr>
<td colspan="2"><div align="center">
<input name="enviar" type="submit" id="enviar" value="Cadastrar">
</div></td>
</tr>
</table>
</form></center>
</div>
</body>
</html>

cadastrar_admin.php
<? 
include "verifica.php"
?>
<?php
$con = mysql_connect("localhost","root","");
if (!$con)
  {
  die('Erro ao conectar: ' . mysql_error());
  }

mysql_select_db("meubanco", $con);
		
$nome = $_POST['nome'];
$login = $_POST['login'];
$senha = $_POST['senha'];
if(empty($_POST['nome']) && empty($_POST['login']) && empty($_POST['senha'])){
	echo "<META HTTP-EQUIV=REFRESH CONTENT='3; URL=cadastrar.php'>
	<center><h1>Preencha os campos corretamente!</h1></center><br />
	<center>Você será redirecionado em alguns segundos.</center>";
}
$sql1 = mysql_query("SELECT * FROM adm WHERE login='$login'");
	if (mysql_num_rows($sql1)>1) {
	echo "<META HTTP-EQUIV=REFRESH CONTENT='3; URL=cadastrar.php'>
	<center><h1>O login digitado já existe!</h1></center><br />
	<center>Você será redirecionado em alguns segundos.</center>";

}else{
$sql	= mysql_query("INSERT INTO adm (nome, login, senha) VALUES ('$nome','$login','$senha')");
if ($sql) {
  die('Error: ' . mysql_error());
  }
	echo "<META HTTP-EQUIV=REFRESH CONTENT='3; URL=cadastrar.php'>
	 <center><h1>Usuário cadastrado com sucesso!</h1><br />
	 Você será redirecionado em alguns segundos.</center>";

}
mysql_close($con)

?>

O que tem de errado?
Aguardo ajuda, obrigado!

#2 Diego Bezerra

Diego Bezerra

    Diego Bezerra

  • Moderadores
  • 938 posts
  • Sexo:Masculino
  • Localidade:Amazonas
  • Interesses:Iniciando no C# com MSSQL.

Posted 30/09/2011, 11:22

Fala ai olhe vc tem que colocar o nome do usuario em um session para depois verificar se o usuario esta na session?
Att.
Diego Bezerra
Agência Kernel - em Breve
Email/msn: diegobezerra@outlook.com
Facebook

#3 math01

math01

    Novato no fórum

  • Usuários
  • 6 posts
  • Sexo:Masculino
  • Localidade:são paulo

Posted 30/09/2011, 12:11

Fala ai olhe vc tem que colocar o nome do usuario em um session para depois verificar se o usuario esta na session?

Acho que entendi, mas poderia me dar um exemplo por favor?

Como ficaria?
Obrigado

#4 silici0

silici0

    ?

  • Usuários
  • 902 posts
  • Sexo:Masculino
  • Localidade:São Paulo - SP
  • Interesses:PHP, MySQL, XHTML, CSS, AJAX, JavaScript, Objective-C, Python, Games ... #geek

Posted 30/09/2011, 12:26


if ($_SESSION['user_validate'] == true){
 // mostra logado
}else{
  // armazena msg de erro
  // redireiciona para login e mostra msg
}


A forma mais simples!
Procurando freelancer
***********************************************
Bachelor of Technology in Technology of Information, with great knowledge in Windows operating systems and Unix-Like (BSD, Ubuntu and Slackware), languages (PHP, JavaScript and MySQL), semantic (DHTML, Tableless, Ajax, MVC, OO) and analysis (manages projects based on PMI).
Developer in PHP, JAVA, Python, Objective-c MySQL, DHTML, CSS, JAVASCRIPT, JQUERY, JSON, SMARTY, MDB2, DOCTRINE, CAKEPHP. Linux desktop for work and MacOS. E-commerces, CRM and bussiness strategys
Love-me and be FREE use UniCes-Like .




1 user(s) are reading this topic

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

IPB Skin By Virteq