Ir para conteúdo

Arquivado

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

HenriqueVieira

Sistema de Login e Senha com PHP Mysql

Recommended Posts

Ola pessoal, estou fazendo um sistema de Login e Senha no meu site usando PHP e Mysql, mas estou tendo alguns probleminhas, gostaria de uma ajuda, apos submeter o formulario esta dando o erro: "Forbidden

 

You don't have permission to access /login/< on this server." e no campo de endereço do navegador aparece o endereço: " http://localhost/login/%3C?=$_SERVER[%27PHP_SELF%27]?%3E?acao=login "

 

Estou usando a pasta " C:\wamp\www\sistema de login\ " para fazer o site.

 

Os arquivos:

 

-----------------------------------------------------------------------------------------------------------

 

" conexao.php "

 

<?php
// conexao
	function conexao(){
	global $base;
	$base = mysql_connect("localhost", "root", "") or die("Erro ao conectar.");
	$db   = mysql_select_db("user");
}
?>

-----------------------------------------------------------------------------------------------------------

 

" index.php "

 

<?php
	session_start();
	include "conexao.php";
	conexao();
		
	if (isset($_GET['acao'])){
		if ($_GET['acao'] == "login"){
			if (isset($_POST['login'])){
				if (empty($_POST['login'])){
					$erro[] = "Informe seu login.";
				}
			} else {
				$erro[] = "Informe seu login";
			}
			if (isset ($_POST['senha'])){
				if (empty($_POST['senha'])){
					$erro[] = "Informe sua senha.";
				}
			} else {
				$erro[] = "Informe sua senha";
			}		
				
			if (!isset($erro)){
				$login = addslashes(htmlentities($_POST['login']));
				$login = addslashes(htmlentities($_POST['senha']));
				
				$sql_login = "SELECT * FROM user WHERE login = '$login' AND senha = '$senha'";
				$exe_login = mysql_query($sql_login, $base) or die("Erro ao executar sql");
				$nem_login = mysql_num_rows($exe_login);
				if ($num_login > 0){
					$reg_login = mysql_fetch_array($exe_login, MYSQL_ASSOC);
					$_SESSION['login'] = $reg_login['login'];
					$_SESSION['senha'] = $reg_login['senha'];
					header("Location: protegido.php");
					exit;
				} else {
					$erro[] = "Usuário e/ou senha inválido(s).";
				}
			}	
		}	
	}
?>
<!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)){
		echo "<ul>";
		for($i=0;$i<count($erro);$i++){
			echo "<li>".$erro[$i]."</li>";
		}
		echo "</ul>";
	}
	if (isset($_GET['erro'])){
		echo "<ul>
			  <li>Para entrar nesse site você precisa de senha.</li>
			  </ul>";
	}
?>
<form action="<?=$_SERVER['PHP_SELF']?>?acao=login" method="post">
	Login <input type="text" name="login" />
	Senha <input type="password" name="senha" />
	<input type="submit" value="Entrar" />
</form>
</body>
</html>

-----------------------------------------------------------------------------------------------------------

 

" protegido.php "

 

<?php
	session_start();
	if (!isset($_SESSION['login']) || !isset($_SESSION['senha'])){
		header("Location: index.php?erro=1");
		exit;
	}
	
	if (isset($_GET['logoff'])){
		session_unset();
		session_destroy();
		header("Location: index.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" />
<title>Pagina Protegida</title>
</head>

<body>
<h1> Pagina com Senha </h1>
<a href="protegido.php?logoff">Sair</a>
</body>
</html>

-----------------------------------------------------------------------------------------------------------

 

Estou usando o phpMyAdmin

 

meu banco de dados eh " test "

 

e minha tabela chama " user "

 

tem os seguintes dados:

 

id		  int(11)			 auto_increment  Primária
	login 		varchar(255)
	senha   varchar(255)
Estou usando o usuario " root " sem senha.

E o o servidor WAMPSERVER

 

-----------------------------------------------------------------------------------------------------------

 

Desde ja pessoal agradeço a ajuda e espero solucionar esse probleminha para continuar aprendendo a programação PHP e o desenvolvimento do site!

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Já tentou usar esse script em algum host?

 

Parece que em localhost não aceita a função <?=$_SERVER['PHP_SELF']?>

 

 

Nao, so tentei no localhost mesmo, nao publiquei.

 

só uma coisa q eu esqueci, de dar os creditos para o site q eu peguei esse script, videotutoriais.blogspot.com.

no video tutorial ele vai fazendo e mostrando, no pc dele roda normalmente!

mas mesmo assim vou tentar publicar para ver oq q da. Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para o servidor, '/' se refere à raiz do sistema de arquivos. Logo, você não tem permissão para acessar.

Para o browser, '/' se refere à raiz do site que está sendo acessado, a pasta public_html, www, etc.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para o servidor, '/' se refere à raiz do sistema de arquivos. Logo, você não tem permissão para acessar.

Para o browser, '/' se refere à raiz do site que está sendo acessado, a pasta public_html, www, etc.

Obrigado, o problema ja esta quase resolvido, publiquei o site, configurei e ele rodou, mas agora esta acontecendo este erro:

 

if (!isset($erro)){
				$login = addslashes(htmlentities($_POST['login']));
				$login = addslashes(htmlentities($_POST['senha']));
				
				$sql_login = "SELECT * FROM user WHERE login = '$login' AND senha = '$senha'";
				$exe_login = mysql_query($sql_login, $base) or die("Erro ao executar sql");
				$nem_login = mysql_num_rows($exe_login);
				if ($num_login > 0){
					$reg_login = mysql_fetch_array($exe_login, MYSQL_ASSOC);
					$_SESSION['login'] = $reg_login['login'];
					$_SESSION['senha'] = $reg_login['senha'];
					header("Location: protegido.php");
					exit;
				} else {
					$erro[] = "Usuário e/ou senha inválido(s).";
				}
			}
quando digito o login e a senha da o erro: " Erro ao executar sql " que eh a menssagem desta linha: $exe_login = mysql_query($sql_login, $base) or die("Erro ao executar sql");

 

oque pode ta acontecendo??

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Verifique o erro com mysql_error().

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.